mirror of
https://github.com/Dvorinka/Primora.git
synced 2026-10-28 15:51:23 +00:00
feat: phase 3 observability — IMS telemetry merge
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>
This commit is contained in:
1 parent
6507eee606
commit
8cfddf9184
60 files changed
+3694
-30
No files matched your search
@@ -23,6 +23,8 @@ export type { BucketObjectListResponse } from './models/BucketObjectListResponse
|
||||
export type { Collection } from './models/Collection';
|
||||
export type { CollectionID } from './models/CollectionID';
|
||||
export type { CollectionListResponse } from './models/CollectionListResponse';
|
||||
export type { ComponentHealth } from './models/ComponentHealth';
|
||||
export type { ComponentID } from './models/ComponentID';
|
||||
export type { ConnectionID } from './models/ConnectionID';
|
||||
export type { CopyBucketObjectRequest } from './models/CopyBucketObjectRequest';
|
||||
export type { CreateApiKeyRequest } from './models/CreateApiKeyRequest';
|
||||
@@ -55,10 +57,16 @@ export type { Document } from './models/Document';
|
||||
export type { DocumentID } from './models/DocumentID';
|
||||
export type { DocumentListResponse } from './models/DocumentListResponse';
|
||||
export type { ErrorEnvelope } from './models/ErrorEnvelope';
|
||||
export type { EventSeriesBucket } from './models/EventSeriesBucket';
|
||||
export type { HealthStatus } from './models/HealthStatus';
|
||||
export { IngestEvent } from './models/IngestEvent';
|
||||
export type { IngestRequest } from './models/IngestRequest';
|
||||
export type { IngestResponse } from './models/IngestResponse';
|
||||
export type { Invitation } from './models/Invitation';
|
||||
export type { InvitationID } from './models/InvitationID';
|
||||
export type { MeResponse } from './models/MeResponse';
|
||||
export type { MetricPoint } from './models/MetricPoint';
|
||||
export type { MetricSeriesResponse } from './models/MetricSeriesResponse';
|
||||
export type { ObjectKey } from './models/ObjectKey';
|
||||
export type { OrganizationID } from './models/OrganizationID';
|
||||
export { OrganizationInvitation } from './models/OrganizationInvitation';
|
||||
@@ -76,6 +84,13 @@ export type { ProjectSummary } from './models/ProjectSummary';
|
||||
export type { ReadinessStatus } from './models/ReadinessStatus';
|
||||
export type { SchemaQuery } from './models/SchemaQuery';
|
||||
export type { TableQuery } from './models/TableQuery';
|
||||
export type { TelemetryComponent } from './models/TelemetryComponent';
|
||||
export type { TelemetryComponentListResponse } from './models/TelemetryComponentListResponse';
|
||||
export type { TelemetryEvent } from './models/TelemetryEvent';
|
||||
export type { TelemetryEventListResponse } from './models/TelemetryEventListResponse';
|
||||
export type { TelemetryIssue } from './models/TelemetryIssue';
|
||||
export type { TelemetryIssueListResponse } from './models/TelemetryIssueListResponse';
|
||||
export type { TelemetryStats } from './models/TelemetryStats';
|
||||
export type { UpdateBucketObjectRequest } from './models/UpdateBucketObjectRequest';
|
||||
export { UpdateBucketRequest } from './models/UpdateBucketRequest';
|
||||
export type { UpdateCollectionRequest } from './models/UpdateCollectionRequest';
|
||||
@@ -103,6 +118,8 @@ export { $BucketObjectListResponse } from './schemas/$BucketObjectListResponse';
|
||||
export { $Collection } from './schemas/$Collection';
|
||||
export { $CollectionID } from './schemas/$CollectionID';
|
||||
export { $CollectionListResponse } from './schemas/$CollectionListResponse';
|
||||
export { $ComponentHealth } from './schemas/$ComponentHealth';
|
||||
export { $ComponentID } from './schemas/$ComponentID';
|
||||
export { $ConnectionID } from './schemas/$ConnectionID';
|
||||
export { $CopyBucketObjectRequest } from './schemas/$CopyBucketObjectRequest';
|
||||
export { $CreateApiKeyRequest } from './schemas/$CreateApiKeyRequest';
|
||||
@@ -135,10 +152,16 @@ export { $Document } from './schemas/$Document';
|
||||
export { $DocumentID } from './schemas/$DocumentID';
|
||||
export { $DocumentListResponse } from './schemas/$DocumentListResponse';
|
||||
export { $ErrorEnvelope } from './schemas/$ErrorEnvelope';
|
||||
export { $EventSeriesBucket } from './schemas/$EventSeriesBucket';
|
||||
export { $HealthStatus } from './schemas/$HealthStatus';
|
||||
export { $IngestEvent } from './schemas/$IngestEvent';
|
||||
export { $IngestRequest } from './schemas/$IngestRequest';
|
||||
export { $IngestResponse } from './schemas/$IngestResponse';
|
||||
export { $Invitation } from './schemas/$Invitation';
|
||||
export { $InvitationID } from './schemas/$InvitationID';
|
||||
export { $MeResponse } from './schemas/$MeResponse';
|
||||
export { $MetricPoint } from './schemas/$MetricPoint';
|
||||
export { $MetricSeriesResponse } from './schemas/$MetricSeriesResponse';
|
||||
export { $ObjectKey } from './schemas/$ObjectKey';
|
||||
export { $OrganizationID } from './schemas/$OrganizationID';
|
||||
export { $OrganizationInvitation } from './schemas/$OrganizationInvitation';
|
||||
@@ -156,6 +179,13 @@ export { $ProjectSummary } from './schemas/$ProjectSummary';
|
||||
export { $ReadinessStatus } from './schemas/$ReadinessStatus';
|
||||
export { $SchemaQuery } from './schemas/$SchemaQuery';
|
||||
export { $TableQuery } from './schemas/$TableQuery';
|
||||
export { $TelemetryComponent } from './schemas/$TelemetryComponent';
|
||||
export { $TelemetryComponentListResponse } from './schemas/$TelemetryComponentListResponse';
|
||||
export { $TelemetryEvent } from './schemas/$TelemetryEvent';
|
||||
export { $TelemetryEventListResponse } from './schemas/$TelemetryEventListResponse';
|
||||
export { $TelemetryIssue } from './schemas/$TelemetryIssue';
|
||||
export { $TelemetryIssueListResponse } from './schemas/$TelemetryIssueListResponse';
|
||||
export { $TelemetryStats } from './schemas/$TelemetryStats';
|
||||
export { $UpdateBucketObjectRequest } from './schemas/$UpdateBucketObjectRequest';
|
||||
export { $UpdateBucketRequest } from './schemas/$UpdateBucketRequest';
|
||||
export { $UpdateCollectionRequest } from './schemas/$UpdateCollectionRequest';
|
||||
@@ -174,3 +204,4 @@ export { OrganizationsService } from './services/OrganizationsService';
|
||||
export { PlatformService } from './services/PlatformService';
|
||||
export { ProjectsService } from './services/ProjectsService';
|
||||
export { StorageService } from './services/StorageService';
|
||||
export { TelemetryService } from './services/TelemetryService';
|
||||
Reference in new issue
Block a user