mirror of
https://github.com/Dvorinka/Primora.git
synced 2026-10-29 00:01:20 +00:00
Port IMS telemetry into Primora conventions: - core.components/core.events (migration 00004 + sqlc) scoped to projects - POST /api/v1/ingest — single or <=500-event batches via project prm_ keys (X-Primora-Key alias), auto-registering components, permissive CORS - Issues: fingerprint-grouped errors with count/severity/first+last seen - Reads: events w/ filters + before-cursor, components, stats (1h/24h/7d/30d bucketed series + component health + totals + metric names), metric series (avg/p50/p95/max) - GET .../telemetry/stream — project-scoped SSE through an in-process hub (buffered subs, drop-on-slow, 25s keepalives); ?api_key=/?token= auth for EventSource - Telemetry page: health/issues/events/metrics/integrate tabs, live badge, 390px-clean; demo stubs - @primora/client SDK (createPrimoraClient: capture*/heartbeat/installAuto, queued keepalive flushes) - MCP: primora_list_issues/list_events/telemetry_stats/metric_series - IMS README deprecation note pointing here Also fixes workspace pins to 0.3.0 — npm ci in the frontend image was resolving the unpublished 0.2.0 spec from the registry. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
45 lines
1002 B
TypeScript
45 lines
1002 B
TypeScript
/* generated using openapi-typescript-codegen -- do not edit */
|
|
/* istanbul ignore file */
|
|
/* tslint:disable */
|
|
/* eslint-disable */
|
|
export const $ComponentHealth = {
|
|
properties: {
|
|
id: {
|
|
type: 'string',
|
|
isRequired: true,
|
|
format: 'uuid',
|
|
},
|
|
name: {
|
|
type: 'string',
|
|
isRequired: true,
|
|
},
|
|
kind: {
|
|
type: 'string',
|
|
isRequired: true,
|
|
},
|
|
last_seen_at: {
|
|
type: 'string',
|
|
isNullable: true,
|
|
format: 'date-time',
|
|
},
|
|
last_status: {
|
|
type: 'string',
|
|
},
|
|
errors_24h: {
|
|
type: 'number',
|
|
isRequired: true,
|
|
},
|
|
events_24h: {
|
|
type: 'number',
|
|
isRequired: true,
|
|
},
|
|
meta: {
|
|
type: 'dictionary',
|
|
contains: {
|
|
properties: {
|
|
},
|
|
},
|
|
},
|
|
},
|
|
} as const;
|