@noego/telemetry 0.0.3 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/README.md +6 -0
  2. package/dist/browser/index.cjs +21 -0
  3. package/dist/browser/index.cjs.map +1 -1
  4. package/dist/browser/index.d.cts +6 -5
  5. package/dist/browser/index.d.ts +6 -5
  6. package/dist/browser/index.js +21 -0
  7. package/dist/browser/index.js.map +1 -1
  8. package/dist/{browser_telemetry_client-BzBPQm4m.d.cts → browser_telemetry_client-ClZl3awO.d.cts} +2 -2
  9. package/dist/{browser_telemetry_client-Ch_VzwEa.d.ts → browser_telemetry_client-t4dPp8Ku.d.ts} +2 -2
  10. package/dist/cli/telemetry_bin.cjs +393 -35
  11. package/dist/cli/telemetry_bin.cjs.map +1 -1
  12. package/dist/cli/telemetry_bin.js +378 -20
  13. package/dist/cli/telemetry_bin.js.map +1 -1
  14. package/dist/cli/telemetry_cli.cjs +393 -35
  15. package/dist/cli/telemetry_cli.cjs.map +1 -1
  16. package/dist/cli/telemetry_cli.d.cts +35 -5
  17. package/dist/cli/telemetry_cli.d.ts +35 -5
  18. package/dist/cli/telemetry_cli.js +378 -20
  19. package/dist/cli/telemetry_cli.js.map +1 -1
  20. package/dist/{client_defaults-B5tC-TgG.d.ts → client_defaults-CZ8PysZX.d.ts} +2 -2
  21. package/dist/{client_defaults-C9LnSX4j.d.cts → client_defaults-lDbWYWWK.d.cts} +2 -2
  22. package/dist/core/index.cjs +26 -1
  23. package/dist/core/index.cjs.map +1 -1
  24. package/dist/core/index.d.cts +15 -12
  25. package/dist/core/index.d.ts +15 -12
  26. package/dist/core/index.js +26 -1
  27. package/dist/core/index.js.map +1 -1
  28. package/dist/electron/index.cjs +21 -0
  29. package/dist/electron/index.cjs.map +1 -1
  30. package/dist/electron/index.d.cts +5 -4
  31. package/dist/electron/index.d.ts +5 -4
  32. package/dist/electron/index.js +21 -0
  33. package/dist/electron/index.js.map +1 -1
  34. package/dist/{envelope.types-rOLpWXRC.d.cts → envelope.types-DIvZD3xH.d.ts} +2 -6
  35. package/dist/{envelope.types-rOLpWXRC.d.ts → envelope.types-DyrlRG49.d.cts} +2 -6
  36. package/dist/{in_memory_batch_transport-DKW9EZnU.d.cts → in_memory_batch_transport-3T6gElXP.d.cts} +1 -1
  37. package/dist/{in_memory_batch_transport-oOwNxXnA.d.ts → in_memory_batch_transport-DpQU6JqM.d.ts} +1 -1
  38. package/dist/index.cjs +26 -1
  39. package/dist/index.cjs.map +1 -1
  40. package/dist/index.d.cts +14 -12
  41. package/dist/index.d.ts +14 -12
  42. package/dist/index.js +26 -1
  43. package/dist/index.js.map +1 -1
  44. package/dist/json.types-BqS77fcN.d.cts +7 -0
  45. package/dist/json.types-BqS77fcN.d.ts +7 -0
  46. package/dist/{maintenance_coordinator.types-C4ULi4A4.d.cts → maintenance_coordinator.types-Crhx9i9k.d.cts} +3 -3
  47. package/dist/{maintenance_coordinator.types-ikUrRXmO.d.ts → maintenance_coordinator.types-DprmgpVn.d.ts} +3 -3
  48. package/dist/metric.types-D8aOAnUm.d.ts +67 -0
  49. package/dist/metric.types-Dg4eZq6u.d.cts +67 -0
  50. package/dist/{metric_definition_contract-BYtnODhu.d.ts → metric_definition_contract-C6MERhJs.d.ts} +1 -1
  51. package/dist/{metric_definition_contract-DfhhmTZ1.d.cts → metric_definition_contract-DoAk7NOw.d.cts} +1 -1
  52. package/dist/node/index.cjs +38 -2
  53. package/dist/node/index.cjs.map +1 -1
  54. package/dist/node/index.d.cts +62 -10
  55. package/dist/node/index.d.ts +62 -10
  56. package/dist/node/index.js +37 -2
  57. package/dist/node/index.js.map +1 -1
  58. package/dist/node/producer/index.cjs +21 -0
  59. package/dist/node/producer/index.cjs.map +1 -1
  60. package/dist/node/producer/index.d.cts +5 -4
  61. package/dist/node/producer/index.d.ts +5 -4
  62. package/dist/node/producer/index.js +21 -0
  63. package/dist/node/producer/index.js.map +1 -1
  64. package/dist/projector/index.cjs +1370 -0
  65. package/dist/projector/index.cjs.map +1 -0
  66. package/dist/projector/index.d.cts +246 -0
  67. package/dist/projector/index.d.ts +246 -0
  68. package/dist/projector/index.js +1328 -0
  69. package/dist/projector/index.js.map +1 -0
  70. package/dist/{query.types-DU5v7vM0.d.ts → query.types-CRqAsGTX.d.cts} +4 -66
  71. package/dist/{query.types-DuYWbFFe.d.cts → query.types-DnOMYXpC.d.ts} +4 -66
  72. package/dist/sqlite/index.cjs +5 -1
  73. package/dist/sqlite/index.cjs.map +1 -1
  74. package/dist/sqlite/index.d.cts +7 -5
  75. package/dist/sqlite/index.d.ts +7 -5
  76. package/dist/sqlite/index.js +5 -1
  77. package/dist/sqlite/index.js.map +1 -1
  78. package/dist/{storage.types-k7oElEB3.d.ts → storage.types-BKWoIOHp.d.ts} +3 -2
  79. package/dist/{storage.types-Bji_pWqr.d.cts → storage.types-DHbAm3j_.d.cts} +3 -2
  80. package/dist/{telemetry_client-BXw8WH_F.d.ts → telemetry_client-Bg5tbj5E.d.cts} +12 -3
  81. package/dist/{telemetry_client-CYaPYfOl.d.cts → telemetry_client-DWKgufmc.d.ts} +12 -3
  82. package/dist/{telemetry_configuration_parser-BZ8Nvnle.d.ts → telemetry_configuration_parser-6BR3_dD_.d.ts} +2 -2
  83. package/dist/{telemetry_configuration_parser-CgSN7R6A.d.cts → telemetry_configuration_parser-ybeweUPE.d.cts} +2 -2
  84. package/dist/testing/index.d.cts +7 -5
  85. package/dist/testing/index.d.ts +7 -5
  86. package/dist/trace-adapter/index.d.cts +4 -3
  87. package/dist/trace-adapter/index.d.ts +4 -3
  88. package/dist/{transport.types-BAl_TRtU.d.cts → transport.types-C2dP-eed.d.cts} +1 -1
  89. package/dist/{transport.types-DDnZoKWi.d.ts → transport.types-SA8KpLiK.d.ts} +1 -1
  90. package/migrations/1786100000000_animation_artifacts.down.sql +5 -0
  91. package/migrations/1786100000000_animation_artifacts.up.sql +41 -0
  92. package/native/noego_telemetry_native.node +0 -0
  93. package/package.json +11 -4
@@ -1,6 +1,7 @@
1
- import { E as ExtractedMetricSample, a as MetricExtractionFailure, M as MetricDefinition, T as TimelineQuery, b as TimelineQueryResponse, c as TelemetryQueryError, d as MetricQuery, e as MetricQueryResponse } from './query.types-DU5v7vM0.js';
1
+ import { E as ExtractedMetricSample, a as MetricExtractionFailure, M as MetricDefinition } from './metric.types-D8aOAnUm.js';
2
+ import { T as TimelineQuery, a as TimelineQueryResponse, b as TelemetryQueryError, M as MetricQuery, c as MetricQueryResponse } from './query.types-DnOMYXpC.js';
2
3
  import { T as TelemetryResult } from './result.types-171Huujb.js';
3
- import { d as TelemetryBatch, f as TelemetryDropCounter, e as TelemetryAcknowledgement, g as TelemetryDeliveryMode } from './transport.types-DDnZoKWi.js';
4
+ import { d as TelemetryBatch, f as TelemetryDropCounter, e as TelemetryAcknowledgement, g as TelemetryDeliveryMode } from './transport.types-SA8KpLiK.js';
4
5
 
5
6
  type TelemetryStorageCapabilities = Readonly<{
6
7
  rawPersistence: boolean;
@@ -1,6 +1,7 @@
1
- import { E as ExtractedMetricSample, a as MetricExtractionFailure, M as MetricDefinition, T as TimelineQuery, b as TimelineQueryResponse, c as TelemetryQueryError, d as MetricQuery, e as MetricQueryResponse } from './query.types-DuYWbFFe.cjs';
1
+ import { E as ExtractedMetricSample, a as MetricExtractionFailure, M as MetricDefinition } from './metric.types-Dg4eZq6u.cjs';
2
+ import { T as TimelineQuery, a as TimelineQueryResponse, b as TelemetryQueryError, M as MetricQuery, c as MetricQueryResponse } from './query.types-CRqAsGTX.cjs';
2
3
  import { T as TelemetryResult } from './result.types-171Huujb.cjs';
3
- import { d as TelemetryBatch, f as TelemetryDropCounter, e as TelemetryAcknowledgement, g as TelemetryDeliveryMode } from './transport.types-BAl_TRtU.cjs';
4
+ import { d as TelemetryBatch, f as TelemetryDropCounter, e as TelemetryAcknowledgement, g as TelemetryDeliveryMode } from './transport.types-C2dP-eed.cjs';
4
5
 
5
6
  type TelemetryStorageCapabilities = Readonly<{
6
7
  rawPersistence: boolean;
@@ -1,5 +1,6 @@
1
- import { T as TelemetryBatchTransport, f as TelemetryDropCounter, e as TelemetryAcknowledgement } from './transport.types-DDnZoKWi.js';
2
- import { c as TelemetryJsonObject, f as TelemetryLevel, a as TelemetryAdmitInput } from './envelope.types-rOLpWXRC.js';
1
+ import { T as TelemetryBatchTransport, f as TelemetryDropCounter, e as TelemetryAcknowledgement } from './transport.types-C2dP-eed.cjs';
2
+ import { T as TelemetryJsonObject } from './json.types-BqS77fcN.cjs';
3
+ import { c as TelemetryLevel, a as TelemetryAdmitInput } from './envelope.types-DyrlRG49.cjs';
3
4
 
4
5
  type MetadataRedactionRule = Readonly<{
5
6
  path: string;
@@ -26,6 +27,7 @@ type MetadataSnapshot = Readonly<{
26
27
  }>;
27
28
 
28
29
  type TelemetryAdmissionPriority = 'low' | 'normal' | 'high';
30
+ type TelemetryMinimumLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal';
29
31
  type TelemetryAdmissionPolicy = Readonly<{
30
32
  maxQueuedEvents: number;
31
33
  maxQueuedBytes: number;
@@ -35,6 +37,12 @@ type TelemetryAdmissionPolicy = Readonly<{
35
37
  retryLimit: number;
36
38
  retryBaseDelayMs: number;
37
39
  sampleRates: Readonly<Record<TelemetryAdmissionPriority, number>>;
40
+ /**
41
+ * Optional minimum admitted level. Events whose level ranks below this are
42
+ * dropped before snapshot/envelope/serialization work. Omitted = admit all
43
+ * levels (existing behavior). Unknown level strings rank as 'info'.
44
+ */
45
+ minimumLevel?: TelemetryMinimumLevel;
38
46
  }>;
39
47
  type TelemetryClientOptions = Readonly<{
40
48
  source: string;
@@ -124,6 +132,7 @@ declare class TelemetryClient {
124
132
  private incrementDropBy;
125
133
  private priorityFor;
126
134
  private isSampled;
135
+ private meetsMinimumLevel;
127
136
  private isValidLabel;
128
137
  private errorMessage;
129
138
  private settleExternalShutdown;
@@ -138,4 +147,4 @@ declare class TelemetryClient {
138
147
  private validateSampleRateOptions;
139
148
  }
140
149
 
141
- export { type MetadataSnapshotLimits as M, type TelemetryAdmissionPolicy as T, TelemetryClient as a, type TelemetryAdmissionResult as b, type MetadataRedactionRule as c, type MetadataSnapshot as d, type MetadataSnapshotStats as e, type TelemetryAdmissionPriority as f, type TelemetryClientOptions as g, type TelemetryClientStatus as h };
150
+ export { type MetadataSnapshotLimits as M, type TelemetryAdmissionPolicy as T, TelemetryClient as a, type TelemetryAdmissionResult as b, type MetadataRedactionRule as c, type MetadataSnapshot as d, type MetadataSnapshotStats as e, type TelemetryAdmissionPriority as f, type TelemetryClientOptions as g, type TelemetryClientStatus as h, type TelemetryMinimumLevel as i };
@@ -1,5 +1,6 @@
1
- import { T as TelemetryBatchTransport, f as TelemetryDropCounter, e as TelemetryAcknowledgement } from './transport.types-BAl_TRtU.cjs';
2
- import { c as TelemetryJsonObject, f as TelemetryLevel, a as TelemetryAdmitInput } from './envelope.types-rOLpWXRC.cjs';
1
+ import { T as TelemetryBatchTransport, f as TelemetryDropCounter, e as TelemetryAcknowledgement } from './transport.types-SA8KpLiK.js';
2
+ import { T as TelemetryJsonObject } from './json.types-BqS77fcN.js';
3
+ import { c as TelemetryLevel, a as TelemetryAdmitInput } from './envelope.types-DIvZD3xH.js';
3
4
 
4
5
  type MetadataRedactionRule = Readonly<{
5
6
  path: string;
@@ -26,6 +27,7 @@ type MetadataSnapshot = Readonly<{
26
27
  }>;
27
28
 
28
29
  type TelemetryAdmissionPriority = 'low' | 'normal' | 'high';
30
+ type TelemetryMinimumLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal';
29
31
  type TelemetryAdmissionPolicy = Readonly<{
30
32
  maxQueuedEvents: number;
31
33
  maxQueuedBytes: number;
@@ -35,6 +37,12 @@ type TelemetryAdmissionPolicy = Readonly<{
35
37
  retryLimit: number;
36
38
  retryBaseDelayMs: number;
37
39
  sampleRates: Readonly<Record<TelemetryAdmissionPriority, number>>;
40
+ /**
41
+ * Optional minimum admitted level. Events whose level ranks below this are
42
+ * dropped before snapshot/envelope/serialization work. Omitted = admit all
43
+ * levels (existing behavior). Unknown level strings rank as 'info'.
44
+ */
45
+ minimumLevel?: TelemetryMinimumLevel;
38
46
  }>;
39
47
  type TelemetryClientOptions = Readonly<{
40
48
  source: string;
@@ -124,6 +132,7 @@ declare class TelemetryClient {
124
132
  private incrementDropBy;
125
133
  private priorityFor;
126
134
  private isSampled;
135
+ private meetsMinimumLevel;
127
136
  private isValidLabel;
128
137
  private errorMessage;
129
138
  private settleExternalShutdown;
@@ -138,4 +147,4 @@ declare class TelemetryClient {
138
147
  private validateSampleRateOptions;
139
148
  }
140
149
 
141
- export { type MetadataSnapshotLimits as M, type TelemetryAdmissionPolicy as T, TelemetryClient as a, type TelemetryAdmissionResult as b, type MetadataRedactionRule as c, type MetadataSnapshot as d, type MetadataSnapshotStats as e, type TelemetryAdmissionPriority as f, type TelemetryClientOptions as g, type TelemetryClientStatus as h };
150
+ export { type MetadataSnapshotLimits as M, type TelemetryAdmissionPolicy as T, TelemetryClient as a, type TelemetryAdmissionResult as b, type MetadataRedactionRule as c, type MetadataSnapshot as d, type MetadataSnapshotStats as e, type TelemetryAdmissionPriority as f, type TelemetryClientOptions as g, type TelemetryClientStatus as h, type TelemetryMinimumLevel as i };
@@ -1,5 +1,5 @@
1
- import { M as MetricDefinitionContract } from './metric_definition_contract-BYtnODhu.js';
2
- import { R as ResolvedTelemetryConfiguration } from './query.types-DU5v7vM0.js';
1
+ import { M as MetricDefinitionContract } from './metric_definition_contract-C6MERhJs.js';
2
+ import { R as ResolvedTelemetryConfiguration } from './query.types-DnOMYXpC.js';
3
3
 
4
4
  declare class TelemetryDurationParser {
5
5
  private static readonly MULTIPLIERS;
@@ -1,5 +1,5 @@
1
- import { M as MetricDefinitionContract } from './metric_definition_contract-DfhhmTZ1.cjs';
2
- import { R as ResolvedTelemetryConfiguration } from './query.types-DuYWbFFe.cjs';
1
+ import { M as MetricDefinitionContract } from './metric_definition_contract-DoAk7NOw.cjs';
2
+ import { R as ResolvedTelemetryConfiguration } from './query.types-CRqAsGTX.cjs';
3
3
 
4
4
  declare class TelemetryDurationParser {
5
5
  private static readonly MULTIPLIERS;
@@ -1,9 +1,11 @@
1
- export { I as InMemoryBatchTransport } from '../in_memory_batch_transport-DKW9EZnU.cjs';
2
- import { M as MetricDefinition, T as TimelineQuery, b as TimelineQueryResponse, c as TelemetryQueryError, d as MetricQuery, e as MetricQueryResponse, S as SqliteTargetConfiguration } from '../query.types-DuYWbFFe.cjs';
1
+ export { I as InMemoryBatchTransport } from '../in_memory_batch_transport-3T6gElXP.cjs';
2
+ import { M as MetricDefinition } from '../metric.types-Dg4eZq6u.cjs';
3
+ import { T as TimelineQuery, a as TimelineQueryResponse, b as TelemetryQueryError, M as MetricQuery, c as MetricQueryResponse, S as SqliteTargetConfiguration } from '../query.types-CRqAsGTX.cjs';
3
4
  import { T as TelemetryResult } from '../result.types-171Huujb.cjs';
4
- import { T as TelemetryStorageTransport, a as TelemetryStorageCapabilities, S as StoragePersistRequest, M as MaintenanceStageResult, b as StorageTargetStatus } from '../storage.types-Bji_pWqr.cjs';
5
- import { e as TelemetryAcknowledgement, d as TelemetryBatch } from '../transport.types-BAl_TRtU.cjs';
6
- import '../envelope.types-rOLpWXRC.cjs';
5
+ import { T as TelemetryStorageTransport, a as TelemetryStorageCapabilities, S as StoragePersistRequest, M as MaintenanceStageResult, b as StorageTargetStatus } from '../storage.types-DHbAm3j_.cjs';
6
+ import { e as TelemetryAcknowledgement, d as TelemetryBatch } from '../transport.types-C2dP-eed.cjs';
7
+ import '../json.types-BqS77fcN.cjs';
8
+ import '../envelope.types-DyrlRG49.cjs';
7
9
 
8
10
  declare class InMemoryStorageTransport implements TelemetryStorageTransport {
9
11
  readonly targetId: string;
@@ -1,9 +1,11 @@
1
- export { I as InMemoryBatchTransport } from '../in_memory_batch_transport-oOwNxXnA.js';
2
- import { M as MetricDefinition, T as TimelineQuery, b as TimelineQueryResponse, c as TelemetryQueryError, d as MetricQuery, e as MetricQueryResponse, S as SqliteTargetConfiguration } from '../query.types-DU5v7vM0.js';
1
+ export { I as InMemoryBatchTransport } from '../in_memory_batch_transport-DpQU6JqM.js';
2
+ import { M as MetricDefinition } from '../metric.types-D8aOAnUm.js';
3
+ import { T as TimelineQuery, a as TimelineQueryResponse, b as TelemetryQueryError, M as MetricQuery, c as MetricQueryResponse, S as SqliteTargetConfiguration } from '../query.types-DnOMYXpC.js';
3
4
  import { T as TelemetryResult } from '../result.types-171Huujb.js';
4
- import { T as TelemetryStorageTransport, a as TelemetryStorageCapabilities, S as StoragePersistRequest, M as MaintenanceStageResult, b as StorageTargetStatus } from '../storage.types-k7oElEB3.js';
5
- import { e as TelemetryAcknowledgement, d as TelemetryBatch } from '../transport.types-DDnZoKWi.js';
6
- import '../envelope.types-rOLpWXRC.js';
5
+ import { T as TelemetryStorageTransport, a as TelemetryStorageCapabilities, S as StoragePersistRequest, M as MaintenanceStageResult, b as StorageTargetStatus } from '../storage.types-BKWoIOHp.js';
6
+ import { e as TelemetryAcknowledgement, d as TelemetryBatch } from '../transport.types-SA8KpLiK.js';
7
+ import '../json.types-BqS77fcN.js';
8
+ import '../envelope.types-DIvZD3xH.js';
7
9
 
8
10
  declare class InMemoryStorageTransport implements TelemetryStorageTransport {
9
11
  readonly targetId: string;
@@ -1,7 +1,8 @@
1
- import { a as TelemetryClient, b as TelemetryAdmissionResult, M as MetadataSnapshotLimits } from '../telemetry_client-CYaPYfOl.cjs';
1
+ import { a as TelemetryClient, b as TelemetryAdmissionResult, M as MetadataSnapshotLimits } from '../telemetry_client-Bg5tbj5E.cjs';
2
2
  import { T as TelemetryResult } from '../result.types-171Huujb.cjs';
3
- import { d as TelemetryBatch } from '../transport.types-BAl_TRtU.cjs';
4
- import '../envelope.types-rOLpWXRC.cjs';
3
+ import { d as TelemetryBatch } from '../transport.types-C2dP-eed.cjs';
4
+ import '../json.types-BqS77fcN.cjs';
5
+ import '../envelope.types-DyrlRG49.cjs';
5
6
 
6
7
  type TraceSinkManagerLike = Readonly<{
7
8
  registerSink(sink: (event: unknown) => void): () => void;
@@ -1,7 +1,8 @@
1
- import { a as TelemetryClient, b as TelemetryAdmissionResult, M as MetadataSnapshotLimits } from '../telemetry_client-BXw8WH_F.js';
1
+ import { a as TelemetryClient, b as TelemetryAdmissionResult, M as MetadataSnapshotLimits } from '../telemetry_client-DWKgufmc.js';
2
2
  import { T as TelemetryResult } from '../result.types-171Huujb.js';
3
- import { d as TelemetryBatch } from '../transport.types-DDnZoKWi.js';
4
- import '../envelope.types-rOLpWXRC.js';
3
+ import { d as TelemetryBatch } from '../transport.types-SA8KpLiK.js';
4
+ import '../json.types-BqS77fcN.js';
5
+ import '../envelope.types-DIvZD3xH.js';
5
6
 
6
7
  type TraceSinkManagerLike = Readonly<{
7
8
  registerSink(sink: (event: unknown) => void): () => void;
@@ -1,4 +1,4 @@
1
- import { T as TelemetryEnvelope } from './envelope.types-rOLpWXRC.cjs';
1
+ import { T as TelemetryEnvelope } from './envelope.types-DyrlRG49.cjs';
2
2
 
3
3
  declare const TELEMETRY_DELIVERY_MODES: readonly ["required", "best-effort"];
4
4
  type TelemetryDeliveryMode = (typeof TELEMETRY_DELIVERY_MODES)[number];
@@ -1,4 +1,4 @@
1
- import { T as TelemetryEnvelope } from './envelope.types-rOLpWXRC.js';
1
+ import { T as TelemetryEnvelope } from './envelope.types-DIvZD3xH.js';
2
2
 
3
3
  declare const TELEMETRY_DELIVERY_MODES: readonly ["required", "best-effort"];
4
4
  type TelemetryDeliveryMode = (typeof TELEMETRY_DELIVERY_MODES)[number];
@@ -0,0 +1,5 @@
1
+ DROP INDEX IF EXISTS animation_dictionary_identity_idx;
2
+ DROP TABLE IF EXISTS animation_dictionary;
3
+ DROP INDEX IF EXISTS animation_runs_run_uuid_idx;
4
+ DROP TABLE IF EXISTS animation_runs;
5
+ DROP TABLE IF EXISTS animation_artifacts;
@@ -0,0 +1,41 @@
1
+ CREATE TABLE IF NOT EXISTS animation_artifacts (
2
+ artifact_id TEXT PRIMARY KEY,
3
+ records INTEGER,
4
+ started_us INTEGER,
5
+ ended_us INTEGER,
6
+ reason TEXT,
7
+ sha256 TEXT,
8
+ sequence INTEGER,
9
+ drops INTEGER,
10
+ overruns INTEGER,
11
+ byte_count INTEGER,
12
+ persisted_at INTEGER,
13
+ conversation_id TEXT NULL,
14
+ payload BLOB NOT NULL
15
+ );
16
+
17
+ CREATE TABLE IF NOT EXISTS animation_runs (
18
+ run_uuid TEXT,
19
+ artifact_id TEXT REFERENCES animation_artifacts(artifact_id) ON DELETE CASCADE,
20
+ run_code INTEGER,
21
+ element_code INTEGER,
22
+ animation_code INTEGER,
23
+ started_us INTEGER,
24
+ ended_us INTEGER,
25
+ frame_count INTEGER,
26
+ outcome TEXT,
27
+ max_drift REAL,
28
+ max_residual REAL,
29
+ PRIMARY KEY (artifact_id, run_code)
30
+ );
31
+ CREATE INDEX IF NOT EXISTS animation_runs_run_uuid_idx ON animation_runs (run_uuid);
32
+
33
+ CREATE TABLE IF NOT EXISTS animation_dictionary (
34
+ artifact_id TEXT REFERENCES animation_artifacts(artifact_id) ON DELETE CASCADE,
35
+ kind TEXT,
36
+ code INTEGER,
37
+ identity TEXT,
38
+ digest TEXT NULL,
39
+ PRIMARY KEY (artifact_id, kind, code)
40
+ );
41
+ CREATE INDEX IF NOT EXISTS animation_dictionary_identity_idx ON animation_dictionary (identity);
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@noego/telemetry",
3
- "version": "0.0.3",
3
+ "version": "0.1.0",
4
4
  "description": "Bounded, transport-neutral telemetry collection with local SQLite storage",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -69,7 +69,13 @@
69
69
  "import": "./dist/cli/telemetry_cli.js",
70
70
  "default": "./dist/cli/telemetry_cli.js"
71
71
  },
72
- "./package.json": "./package.json"
72
+ "./package.json": "./package.json",
73
+ "./projector": {
74
+ "types": "./dist/projector/index.d.ts",
75
+ "require": "./dist/projector/index.cjs",
76
+ "import": "./dist/projector/index.js",
77
+ "default": "./dist/projector/index.js"
78
+ }
73
79
  },
74
80
  "files": [
75
81
  "dist",
@@ -103,13 +109,14 @@
103
109
  "node": ">=20"
104
110
  },
105
111
  "dependencies": {
112
+ "@noego/trace": "^0.2.0",
106
113
  "js-yaml": "^4.1.0",
107
114
  "zod": "^4.3.6"
108
115
  },
109
116
  "peerDependencies": {
110
- "@noego/proper": "^0.0.9",
117
+ "@noego/proper": ">=0.0.9",
111
118
  "better-sqlite3": ">=12.0.0",
112
- "sqlstack": "^1.0.25"
119
+ "sqlstack": ">=1.0.25"
113
120
  },
114
121
  "peerDependenciesMeta": {
115
122
  "@noego/proper": {