observability-toolkit 1.8.0 → 1.8.4

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 (186) hide show
  1. package/README.md +81 -3
  2. package/dist/backends/index.d.ts +119 -0
  3. package/dist/backends/index.d.ts.map +1 -1
  4. package/dist/backends/index.js +57 -0
  5. package/dist/backends/index.js.map +1 -1
  6. package/dist/backends/index.test.d.ts +5 -0
  7. package/dist/backends/index.test.d.ts.map +1 -0
  8. package/dist/backends/index.test.js +156 -0
  9. package/dist/backends/index.test.js.map +1 -0
  10. package/dist/backends/local-jsonl-boolean-search.test.js +8 -27
  11. package/dist/backends/local-jsonl-boolean-search.test.js.map +1 -1
  12. package/dist/backends/local-jsonl-logs.test.d.ts +2 -0
  13. package/dist/backends/local-jsonl-logs.test.d.ts.map +1 -0
  14. package/dist/backends/local-jsonl-logs.test.js +603 -0
  15. package/dist/backends/local-jsonl-logs.test.js.map +1 -0
  16. package/dist/backends/local-jsonl-traces.test.d.ts +2 -0
  17. package/dist/backends/local-jsonl-traces.test.d.ts.map +1 -0
  18. package/dist/backends/local-jsonl-traces.test.js +1723 -0
  19. package/dist/backends/local-jsonl-traces.test.js.map +1 -0
  20. package/dist/backends/local-jsonl.d.ts +4 -1
  21. package/dist/backends/local-jsonl.d.ts.map +1 -1
  22. package/dist/backends/local-jsonl.js +185 -1
  23. package/dist/backends/local-jsonl.js.map +1 -1
  24. package/dist/backends/local-jsonl.test.js +723 -46
  25. package/dist/backends/local-jsonl.test.js.map +1 -1
  26. package/dist/backends/signoz-api.d.ts +32 -0
  27. package/dist/backends/signoz-api.d.ts.map +1 -1
  28. package/dist/backends/signoz-api.js +231 -33
  29. package/dist/backends/signoz-api.js.map +1 -1
  30. package/dist/backends/signoz-api.test.js +410 -63
  31. package/dist/backends/signoz-api.test.js.map +1 -1
  32. package/dist/lib/constants.d.ts +59 -0
  33. package/dist/lib/constants.d.ts.map +1 -1
  34. package/dist/lib/constants.js +252 -6
  35. package/dist/lib/constants.js.map +1 -1
  36. package/dist/lib/constants.test.js +357 -21
  37. package/dist/lib/constants.test.js.map +1 -1
  38. package/dist/lib/edge-cases.test.d.ts +11 -0
  39. package/dist/lib/edge-cases.test.d.ts.map +1 -0
  40. package/dist/lib/edge-cases.test.js +634 -0
  41. package/dist/lib/edge-cases.test.js.map +1 -0
  42. package/dist/lib/error-sanitizer.d.ts +57 -0
  43. package/dist/lib/error-sanitizer.d.ts.map +1 -0
  44. package/dist/lib/error-sanitizer.js +207 -0
  45. package/dist/lib/error-sanitizer.js.map +1 -0
  46. package/dist/lib/error-sanitizer.test.d.ts +8 -0
  47. package/dist/lib/error-sanitizer.test.d.ts.map +1 -0
  48. package/dist/lib/error-sanitizer.test.js +369 -0
  49. package/dist/lib/error-sanitizer.test.js.map +1 -0
  50. package/dist/lib/file-utils.d.ts +134 -0
  51. package/dist/lib/file-utils.d.ts.map +1 -1
  52. package/dist/lib/file-utils.js +395 -9
  53. package/dist/lib/file-utils.js.map +1 -1
  54. package/dist/lib/file-utils.test.js +444 -3
  55. package/dist/lib/file-utils.test.js.map +1 -1
  56. package/dist/lib/indexer.d.ts +9 -1
  57. package/dist/lib/indexer.d.ts.map +1 -1
  58. package/dist/lib/indexer.js +51 -2
  59. package/dist/lib/indexer.js.map +1 -1
  60. package/dist/lib/indexer.test.js +138 -20
  61. package/dist/lib/indexer.test.js.map +1 -1
  62. package/dist/lib/input-validator.d.ts +103 -0
  63. package/dist/lib/input-validator.d.ts.map +1 -0
  64. package/dist/lib/input-validator.js +250 -0
  65. package/dist/lib/input-validator.js.map +1 -0
  66. package/dist/lib/input-validator.test.d.ts +2 -0
  67. package/dist/lib/input-validator.test.d.ts.map +1 -0
  68. package/dist/lib/input-validator.test.js +287 -0
  69. package/dist/lib/input-validator.test.js.map +1 -0
  70. package/dist/lib/query-sanitizer.d.ts +143 -0
  71. package/dist/lib/query-sanitizer.d.ts.map +1 -0
  72. package/dist/lib/query-sanitizer.js +261 -0
  73. package/dist/lib/query-sanitizer.js.map +1 -0
  74. package/dist/lib/query-sanitizer.test.d.ts +5 -0
  75. package/dist/lib/query-sanitizer.test.d.ts.map +1 -0
  76. package/dist/lib/query-sanitizer.test.js +400 -0
  77. package/dist/lib/query-sanitizer.test.js.map +1 -0
  78. package/dist/lib/server-utils.d.ts +80 -0
  79. package/dist/lib/server-utils.d.ts.map +1 -0
  80. package/dist/lib/server-utils.js +141 -0
  81. package/dist/lib/server-utils.js.map +1 -0
  82. package/dist/lib/shared-schemas.d.ts +59 -0
  83. package/dist/lib/shared-schemas.d.ts.map +1 -0
  84. package/dist/lib/shared-schemas.js +58 -0
  85. package/dist/lib/shared-schemas.js.map +1 -0
  86. package/dist/lib/shared-schemas.test.d.ts +5 -0
  87. package/dist/lib/shared-schemas.test.d.ts.map +1 -0
  88. package/dist/lib/shared-schemas.test.js +106 -0
  89. package/dist/lib/shared-schemas.test.js.map +1 -0
  90. package/dist/lib/toon-encoder.d.ts +21 -0
  91. package/dist/lib/toon-encoder.d.ts.map +1 -0
  92. package/dist/lib/toon-encoder.js +46 -0
  93. package/dist/lib/toon-encoder.js.map +1 -0
  94. package/dist/server.d.ts +1 -1
  95. package/dist/server.d.ts.map +1 -1
  96. package/dist/server.js +155 -81
  97. package/dist/server.js.map +1 -1
  98. package/dist/server.test.js +363 -0
  99. package/dist/server.test.js.map +1 -1
  100. package/dist/test-helpers/env-utils.d.ts +65 -0
  101. package/dist/test-helpers/env-utils.d.ts.map +1 -0
  102. package/dist/test-helpers/env-utils.js +94 -0
  103. package/dist/test-helpers/env-utils.js.map +1 -0
  104. package/dist/test-helpers/file-utils.d.ts +93 -0
  105. package/dist/test-helpers/file-utils.d.ts.map +1 -0
  106. package/dist/test-helpers/file-utils.js +206 -0
  107. package/dist/test-helpers/file-utils.js.map +1 -0
  108. package/dist/test-helpers/index.d.ts +10 -0
  109. package/dist/test-helpers/index.d.ts.map +1 -0
  110. package/dist/test-helpers/index.js +28 -0
  111. package/dist/test-helpers/index.js.map +1 -0
  112. package/dist/test-helpers/mock-backends.d.ts +139 -0
  113. package/dist/test-helpers/mock-backends.d.ts.map +1 -0
  114. package/dist/test-helpers/mock-backends.js +227 -0
  115. package/dist/test-helpers/mock-backends.js.map +1 -0
  116. package/dist/test-helpers/mock-backends.test.d.ts +5 -0
  117. package/dist/test-helpers/mock-backends.test.d.ts.map +1 -0
  118. package/dist/test-helpers/mock-backends.test.js +368 -0
  119. package/dist/test-helpers/mock-backends.test.js.map +1 -0
  120. package/dist/test-helpers/schema-validators.d.ts +32 -0
  121. package/dist/test-helpers/schema-validators.d.ts.map +1 -0
  122. package/dist/test-helpers/schema-validators.js +125 -0
  123. package/dist/test-helpers/schema-validators.js.map +1 -0
  124. package/dist/test-helpers/test-data-builders.d.ts +223 -0
  125. package/dist/test-helpers/test-data-builders.d.ts.map +1 -0
  126. package/dist/test-helpers/test-data-builders.js +288 -0
  127. package/dist/test-helpers/test-data-builders.js.map +1 -0
  128. package/dist/test-helpers/test-data-builders.test.d.ts +2 -0
  129. package/dist/test-helpers/test-data-builders.test.d.ts.map +1 -0
  130. package/dist/test-helpers/test-data-builders.test.js +306 -0
  131. package/dist/test-helpers/test-data-builders.test.js.map +1 -0
  132. package/dist/test-helpers/tool-validators.d.ts +28 -0
  133. package/dist/test-helpers/tool-validators.d.ts.map +1 -0
  134. package/dist/test-helpers/tool-validators.js +56 -0
  135. package/dist/test-helpers/tool-validators.js.map +1 -0
  136. package/dist/tools/context-stats.d.ts +1 -0
  137. package/dist/tools/context-stats.d.ts.map +1 -1
  138. package/dist/tools/context-stats.js +9 -5
  139. package/dist/tools/context-stats.js.map +1 -1
  140. package/dist/tools/context-stats.test.js +24 -10
  141. package/dist/tools/context-stats.test.js.map +1 -1
  142. package/dist/tools/get-trace-url.js +2 -2
  143. package/dist/tools/get-trace-url.js.map +1 -1
  144. package/dist/tools/health-check.js +2 -2
  145. package/dist/tools/health-check.js.map +1 -1
  146. package/dist/tools/index.d.ts +1 -0
  147. package/dist/tools/index.d.ts.map +1 -1
  148. package/dist/tools/index.js +1 -0
  149. package/dist/tools/index.js.map +1 -1
  150. package/dist/tools/query-evaluations.d.ts +186 -0
  151. package/dist/tools/query-evaluations.d.ts.map +1 -0
  152. package/dist/tools/query-evaluations.js +351 -0
  153. package/dist/tools/query-evaluations.js.map +1 -0
  154. package/dist/tools/query-evaluations.test.d.ts +5 -0
  155. package/dist/tools/query-evaluations.test.d.ts.map +1 -0
  156. package/dist/tools/query-evaluations.test.js +733 -0
  157. package/dist/tools/query-evaluations.test.js.map +1 -0
  158. package/dist/tools/query-llm-events.d.ts +24 -18
  159. package/dist/tools/query-llm-events.d.ts.map +1 -1
  160. package/dist/tools/query-llm-events.js +103 -60
  161. package/dist/tools/query-llm-events.js.map +1 -1
  162. package/dist/tools/query-llm-events.test.js +271 -9
  163. package/dist/tools/query-llm-events.test.js.map +1 -1
  164. package/dist/tools/query-logs.d.ts +28 -20
  165. package/dist/tools/query-logs.d.ts.map +1 -1
  166. package/dist/tools/query-logs.js +85 -61
  167. package/dist/tools/query-logs.js.map +1 -1
  168. package/dist/tools/query-logs.test.js +74 -145
  169. package/dist/tools/query-logs.test.js.map +1 -1
  170. package/dist/tools/query-metrics.d.ts +20 -20
  171. package/dist/tools/query-metrics.d.ts.map +1 -1
  172. package/dist/tools/query-metrics.js +109 -61
  173. package/dist/tools/query-metrics.js.map +1 -1
  174. package/dist/tools/query-metrics.test.js +26 -61
  175. package/dist/tools/query-metrics.test.js.map +1 -1
  176. package/dist/tools/query-traces.d.ts +24 -22
  177. package/dist/tools/query-traces.d.ts.map +1 -1
  178. package/dist/tools/query-traces.js +95 -70
  179. package/dist/tools/query-traces.js.map +1 -1
  180. package/dist/tools/query-traces.test.js +294 -90
  181. package/dist/tools/query-traces.test.js.map +1 -1
  182. package/dist/tools/setup-claudeignore.js +7 -7
  183. package/dist/tools/setup-claudeignore.js.map +1 -1
  184. package/dist/tools/setup-claudeignore.test.js +4 -25
  185. package/dist/tools/setup-claudeignore.test.js.map +1 -1
  186. package/package.json +3 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-validators.d.ts","sourceRoot":"","sources":["../../src/test-helpers/schema-validators.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACvC,UAAU,EAAE,MAAM,GACjB,IAAI,CAuCN;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACrC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,QAAQ,SAAO,GACd,IAAI,CAwCN;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EAC3D,UAAU,EAAE,MAAM,GACjB,IAAI,CA8BN"}
@@ -0,0 +1,125 @@
1
+ /**
2
+ * Shared test utilities for validating Zod schemas
3
+ */
4
+ import { describe, it } from 'node:test';
5
+ import * as assert from 'node:assert';
6
+ /**
7
+ * Generate standard backend selection schema tests
8
+ * @param schema - Zod schema with backend field
9
+ * @param schemaName - Name for test descriptions
10
+ */
11
+ export function validateBackendSchema(schema, schemaName) {
12
+ describe(`${schemaName} backend validation`, () => {
13
+ it('should validate input with backend=local', () => {
14
+ const result = schema.safeParse({ backend: 'local' });
15
+ assert.strictEqual(result.success, true);
16
+ if (result.success) {
17
+ assert.strictEqual(result.data.backend, 'local');
18
+ }
19
+ });
20
+ it('should validate input with backend=signoz', () => {
21
+ const result = schema.safeParse({ backend: 'signoz' });
22
+ assert.strictEqual(result.success, true);
23
+ if (result.success) {
24
+ assert.strictEqual(result.data.backend, 'signoz');
25
+ }
26
+ });
27
+ it('should validate input with backend=auto', () => {
28
+ const result = schema.safeParse({ backend: 'auto' });
29
+ assert.strictEqual(result.success, true);
30
+ if (result.success) {
31
+ assert.strictEqual(result.data.backend, 'auto');
32
+ }
33
+ });
34
+ it('should default backend to auto when not provided', () => {
35
+ const result = schema.safeParse({});
36
+ assert.strictEqual(result.success, true);
37
+ if (result.success) {
38
+ assert.strictEqual(result.data.backend, 'auto');
39
+ }
40
+ });
41
+ it('should reject invalid backend values', () => {
42
+ const result = schema.safeParse({ backend: 'invalid' });
43
+ assert.strictEqual(result.success, false);
44
+ });
45
+ });
46
+ }
47
+ /**
48
+ * Generate standard limit parameter validation tests
49
+ * @param schema - Zod schema with limit field
50
+ * @param schemaName - Name for test descriptions
51
+ * @param defaultLimit - Expected default limit value
52
+ * @param maxLimit - Maximum allowed limit (optional, defaults to 1000)
53
+ */
54
+ export function validateLimitSchema(schema, schemaName, defaultLimit, maxLimit = 1000) {
55
+ describe(`${schemaName} limit validation`, () => {
56
+ it(`should use ${defaultLimit} as default limit`, () => {
57
+ const result = schema.safeParse({});
58
+ assert.strictEqual(result.success, true);
59
+ if (result.success) {
60
+ assert.strictEqual(result.data.limit, defaultLimit);
61
+ }
62
+ });
63
+ it('should accept custom limit value', () => {
64
+ const customLimit = Math.floor(defaultLimit / 2) || 25;
65
+ const result = schema.safeParse({ limit: customLimit });
66
+ assert.strictEqual(result.success, true);
67
+ if (result.success) {
68
+ assert.strictEqual(result.data.limit, customLimit);
69
+ }
70
+ });
71
+ it('should accept limit of 1', () => {
72
+ const result = schema.safeParse({ limit: 1 });
73
+ assert.strictEqual(result.success, true);
74
+ if (result.success) {
75
+ assert.strictEqual(result.data.limit, 1);
76
+ }
77
+ });
78
+ it(`should accept max limit value of ${maxLimit}`, () => {
79
+ const result = schema.safeParse({ limit: maxLimit });
80
+ assert.strictEqual(result.success, true);
81
+ if (result.success) {
82
+ assert.strictEqual(result.data.limit, maxLimit);
83
+ }
84
+ });
85
+ it('should reject non-numeric limit', () => {
86
+ const result = schema.safeParse({ limit: 'fifty' });
87
+ assert.strictEqual(result.success, false);
88
+ });
89
+ });
90
+ }
91
+ /**
92
+ * Generate standard date range validation tests
93
+ * @param schema - Zod schema with startDate/endDate fields
94
+ * @param schemaName - Name for test descriptions
95
+ */
96
+ export function validateDateRangeSchema(schema, schemaName) {
97
+ describe(`${schemaName} date range validation`, () => {
98
+ it('should accept startDate only', () => {
99
+ const result = schema.safeParse({ startDate: '2026-01-01' });
100
+ assert.strictEqual(result.success, true);
101
+ if (result.success) {
102
+ assert.strictEqual(result.data.startDate, '2026-01-01');
103
+ }
104
+ });
105
+ it('should accept endDate only', () => {
106
+ const result = schema.safeParse({ endDate: '2026-01-31' });
107
+ assert.strictEqual(result.success, true);
108
+ if (result.success) {
109
+ assert.strictEqual(result.data.endDate, '2026-01-31');
110
+ }
111
+ });
112
+ it('should accept both startDate and endDate', () => {
113
+ const result = schema.safeParse({
114
+ startDate: '2026-01-01',
115
+ endDate: '2026-01-31',
116
+ });
117
+ assert.strictEqual(result.success, true);
118
+ if (result.success) {
119
+ assert.strictEqual(result.data.startDate, '2026-01-01');
120
+ assert.strictEqual(result.data.endDate, '2026-01-31');
121
+ }
122
+ });
123
+ });
124
+ }
125
+ //# sourceMappingURL=schema-validators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-validators.js","sourceRoot":"","sources":["../../src/test-helpers/schema-validators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,223 @@
1
+ /**
2
+ * Test data builders for creating mock telemetry data
3
+ * Reduces test verbosity and improves consistency
4
+ */
5
+ /** Base timestamp: 2023-11-14 22:13:20 UTC */
6
+ export declare const TEST_TIMESTAMP_BASE = 1700000000;
7
+ /** Standard test timestamp as [seconds, nanoseconds] */
8
+ export declare const TEST_TIMESTAMP: readonly [1700000000, 0];
9
+ /** Standard ISO timestamp string */
10
+ export declare const TEST_TIMESTAMP_ISO = "2023-11-14T22:13:20.000Z";
11
+ /** Standard test duration: 2.5 seconds as [seconds, nanoseconds] */
12
+ export declare const TEST_DURATION: readonly [2, 500000000];
13
+ /** Standard test duration in milliseconds */
14
+ export declare const TEST_DURATION_MS = 2500;
15
+ /** Mock trace span structure */
16
+ export interface MockSpan {
17
+ traceId: string;
18
+ spanId: string;
19
+ name: string;
20
+ startTime: readonly [number, number] | [number, number];
21
+ endTime?: readonly [number, number] | [number, number];
22
+ duration?: readonly [number, number] | [number, number];
23
+ kind?: number;
24
+ status?: {
25
+ code: number;
26
+ message?: string;
27
+ };
28
+ resource?: {
29
+ serviceName?: string;
30
+ serviceVersion?: string;
31
+ [key: string]: unknown;
32
+ };
33
+ attributes?: Record<string, unknown>;
34
+ instrumentationScope?: {
35
+ name: string;
36
+ version?: string;
37
+ schemaUrl?: string;
38
+ };
39
+ links?: Array<{
40
+ traceId: string;
41
+ spanId: string;
42
+ attributes?: Record<string, unknown>;
43
+ }>;
44
+ }
45
+ /** Mock log record structure */
46
+ export interface MockLog {
47
+ timestamp: string | readonly [number, number] | [number, number];
48
+ body: string;
49
+ severity?: string;
50
+ severityText?: string;
51
+ traceId?: string;
52
+ spanId?: string;
53
+ attributes?: Record<string, unknown>;
54
+ instrumentationScope?: {
55
+ name: string;
56
+ version?: string;
57
+ schemaUrl?: string;
58
+ };
59
+ }
60
+ /** Mock metric structure */
61
+ export interface MockMetric {
62
+ timestamp: string;
63
+ name: string;
64
+ value: number;
65
+ type: 'counter' | 'gauge' | 'histogram';
66
+ unit?: string;
67
+ resource?: {
68
+ serviceName?: string;
69
+ [key: string]: unknown;
70
+ };
71
+ attributes?: Record<string, unknown>;
72
+ histogram?: {
73
+ buckets: Array<{
74
+ le: number;
75
+ count: number;
76
+ }>;
77
+ sum: number;
78
+ count: number;
79
+ };
80
+ exemplars?: Array<{
81
+ traceId: string;
82
+ spanId: string;
83
+ value: number;
84
+ timestamp: string;
85
+ }>;
86
+ }
87
+ /** Mock LLM event structure */
88
+ export interface MockLLMEvent {
89
+ timestamp: string;
90
+ name: string;
91
+ attributes: {
92
+ 'gen_ai.request.model'?: string;
93
+ 'gen_ai.system'?: string;
94
+ 'gen_ai.usage.input_tokens'?: number;
95
+ 'gen_ai.usage.output_tokens'?: number;
96
+ 'gen_ai.usage.cache_read_input_tokens'?: number;
97
+ 'gen_ai.usage.cache_creation_input_tokens'?: number;
98
+ 'duration_ms'?: number;
99
+ 'success'?: boolean;
100
+ 'error'?: string;
101
+ [key: string]: unknown;
102
+ };
103
+ }
104
+ /** Mock evaluation structure */
105
+ export interface MockEvaluation {
106
+ timestamp: string;
107
+ traceId?: string;
108
+ attributes: {
109
+ 'gen_ai.evaluation.name': string;
110
+ 'gen_ai.evaluation.score.value'?: number;
111
+ 'gen_ai.evaluation.score.label'?: string;
112
+ 'gen_ai.evaluation.explanation'?: string;
113
+ 'gen_ai.response.id'?: string;
114
+ 'gen_ai.evaluation.evaluator'?: string;
115
+ 'gen_ai.evaluation.evaluator_type'?: 'human' | 'llm' | 'rule' | 'classifier';
116
+ [key: string]: unknown;
117
+ };
118
+ }
119
+ /**
120
+ * Reset all counters (call in beforeEach if needed)
121
+ */
122
+ export declare function resetBuilderCounters(): void;
123
+ /**
124
+ * Create a mock trace span with sensible defaults
125
+ * @param overrides - Fields to override
126
+ * @returns Mock span object
127
+ */
128
+ export declare function createMockSpan(overrides?: Partial<MockSpan>): MockSpan;
129
+ /**
130
+ * Create multiple mock spans with auto-incrementing IDs
131
+ * @param count - Number of spans to create
132
+ * @param overrides - Fields to override on all spans (can be function for dynamic values)
133
+ * @returns Array of mock spans
134
+ */
135
+ export declare function createMockSpans(count: number, overrides?: Partial<MockSpan> | ((index: number) => Partial<MockSpan>)): MockSpan[];
136
+ /**
137
+ * Create a mock log record with sensible defaults
138
+ * @param overrides - Fields to override
139
+ * @returns Mock log object
140
+ */
141
+ export declare function createMockLog(overrides?: Partial<MockLog>): MockLog;
142
+ /**
143
+ * Create multiple mock logs
144
+ * @param count - Number of logs to create
145
+ * @param overrides - Fields to override on all logs (can be function for dynamic values)
146
+ * @returns Array of mock logs
147
+ */
148
+ export declare function createMockLogs(count: number, overrides?: Partial<MockLog> | ((index: number) => Partial<MockLog>)): MockLog[];
149
+ /**
150
+ * Create a mock metric with sensible defaults
151
+ * @param overrides - Fields to override
152
+ * @returns Mock metric object
153
+ */
154
+ export declare function createMockMetric(overrides?: Partial<MockMetric>): MockMetric;
155
+ /**
156
+ * Create multiple mock metrics
157
+ * @param count - Number of metrics to create
158
+ * @param overrides - Fields to override on all metrics (can be function for dynamic values)
159
+ * @returns Array of mock metrics
160
+ */
161
+ export declare function createMockMetrics(count: number, overrides?: Partial<MockMetric> | ((index: number) => Partial<MockMetric>)): MockMetric[];
162
+ /**
163
+ * Create a mock LLM event with sensible defaults
164
+ * @param overrides - Fields to override
165
+ * @returns Mock LLM event object
166
+ */
167
+ export declare function createMockLLMEvent(overrides?: Partial<MockLLMEvent>): MockLLMEvent;
168
+ /**
169
+ * Create multiple mock LLM events
170
+ * @param count - Number of events to create
171
+ * @param overrides - Fields to override on all events (can be function for dynamic values)
172
+ * @returns Array of mock LLM events
173
+ */
174
+ export declare function createMockLLMEvents(count: number, overrides?: Partial<MockLLMEvent> | ((index: number) => Partial<MockLLMEvent>)): MockLLMEvent[];
175
+ /**
176
+ * Create a mock evaluation with sensible defaults
177
+ * @param overrides - Fields to override
178
+ * @returns Mock evaluation object
179
+ */
180
+ export declare function createMockEvaluation(overrides?: Partial<MockEvaluation>): MockEvaluation;
181
+ /**
182
+ * Create multiple mock evaluations
183
+ * @param count - Number of evaluations to create
184
+ * @param overrides - Fields to override on all evaluations (can be function for dynamic values)
185
+ * @returns Array of mock evaluations
186
+ */
187
+ export declare function createMockEvaluations(count: number, overrides?: Partial<MockEvaluation> | ((index: number) => Partial<MockEvaluation>)): MockEvaluation[];
188
+ /**
189
+ * Create a span with HTTP attributes
190
+ */
191
+ export declare function createHttpSpan(method: string, statusCode: number, overrides?: Partial<MockSpan>): MockSpan;
192
+ /**
193
+ * Create a span with database attributes
194
+ */
195
+ export declare function createDbSpan(operation: string, system: string, overrides?: Partial<MockSpan>): MockSpan;
196
+ /**
197
+ * Create an error log
198
+ */
199
+ export declare function createErrorLog(message: string, overrides?: Partial<MockLog>): MockLog;
200
+ /**
201
+ * Create a log with trace correlation
202
+ */
203
+ export declare function createCorrelatedLog(traceId: string, spanId: string, overrides?: Partial<MockLog>): MockLog;
204
+ /**
205
+ * Create a histogram metric
206
+ */
207
+ export declare function createHistogramMetric(name: string, buckets: Array<{
208
+ le: number;
209
+ count: number;
210
+ }>, overrides?: Partial<MockMetric>): MockMetric;
211
+ /**
212
+ * Create an LLM event with token usage
213
+ */
214
+ export declare function createLLMEventWithTokens(inputTokens: number, outputTokens: number, overrides?: Partial<MockLLMEvent>): MockLLMEvent;
215
+ /**
216
+ * Create an evaluation with specific score
217
+ */
218
+ export declare function createScoredEvaluation(name: string, score: number, overrides?: Partial<MockEvaluation>): MockEvaluation;
219
+ /**
220
+ * Create an evaluation with label (pass/fail)
221
+ */
222
+ export declare function createLabeledEvaluation(name: string, label: string, overrides?: Partial<MockEvaluation>): MockEvaluation;
223
+ //# sourceMappingURL=test-data-builders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-data-builders.d.ts","sourceRoot":"","sources":["../../src/test-helpers/test-data-builders.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,288 @@
1
+ /**
2
+ * Test data builders for creating mock telemetry data
3
+ * Reduces test verbosity and improves consistency
4
+ */
5
+ // ============================================================================
6
+ // Constants
7
+ // ============================================================================
8
+ /** Base timestamp: 2023-11-14 22:13:20 UTC */
9
+ export const TEST_TIMESTAMP_BASE = 1700000000;
10
+ /** Standard test timestamp as [seconds, nanoseconds] */
11
+ export const TEST_TIMESTAMP = [TEST_TIMESTAMP_BASE, 0];
12
+ /** Standard ISO timestamp string */
13
+ export const TEST_TIMESTAMP_ISO = '2023-11-14T22:13:20.000Z';
14
+ /** Standard test duration: 2.5 seconds as [seconds, nanoseconds] */
15
+ export const TEST_DURATION = [2, 500000000];
16
+ /** Standard test duration in milliseconds */
17
+ export const TEST_DURATION_MS = 2500;
18
+ // ============================================================================
19
+ // Builder Functions
20
+ // ============================================================================
21
+ let spanCounter = 0;
22
+ let logCounter = 0;
23
+ let metricCounter = 0;
24
+ let llmEventCounter = 0;
25
+ let evalCounter = 0;
26
+ /**
27
+ * Reset all counters (call in beforeEach if needed)
28
+ */
29
+ export function resetBuilderCounters() {
30
+ spanCounter = 0;
31
+ logCounter = 0;
32
+ metricCounter = 0;
33
+ llmEventCounter = 0;
34
+ evalCounter = 0;
35
+ }
36
+ /**
37
+ * Create a mock trace span with sensible defaults
38
+ * @param overrides - Fields to override
39
+ * @returns Mock span object
40
+ */
41
+ export function createMockSpan(overrides) {
42
+ const id = ++spanCounter;
43
+ return {
44
+ traceId: `trace${id}`,
45
+ spanId: `span${id}`,
46
+ name: `test-operation-${id}`,
47
+ startTime: [...TEST_TIMESTAMP],
48
+ ...overrides,
49
+ };
50
+ }
51
+ /**
52
+ * Create multiple mock spans with auto-incrementing IDs
53
+ * @param count - Number of spans to create
54
+ * @param overrides - Fields to override on all spans (can be function for dynamic values)
55
+ * @returns Array of mock spans
56
+ */
57
+ export function createMockSpans(count, overrides) {
58
+ return Array.from({ length: count }, (_, i) => {
59
+ const dynamicOverrides = typeof overrides === 'function' ? overrides(i) : overrides;
60
+ return createMockSpan(dynamicOverrides);
61
+ });
62
+ }
63
+ /**
64
+ * Create a mock log record with sensible defaults
65
+ * @param overrides - Fields to override
66
+ * @returns Mock log object
67
+ */
68
+ export function createMockLog(overrides) {
69
+ const id = ++logCounter;
70
+ return {
71
+ timestamp: TEST_TIMESTAMP_ISO,
72
+ body: `Test log message ${id}`,
73
+ ...overrides,
74
+ };
75
+ }
76
+ /**
77
+ * Create multiple mock logs
78
+ * @param count - Number of logs to create
79
+ * @param overrides - Fields to override on all logs (can be function for dynamic values)
80
+ * @returns Array of mock logs
81
+ */
82
+ export function createMockLogs(count, overrides) {
83
+ return Array.from({ length: count }, (_, i) => {
84
+ const dynamicOverrides = typeof overrides === 'function' ? overrides(i) : overrides;
85
+ return createMockLog(dynamicOverrides);
86
+ });
87
+ }
88
+ /**
89
+ * Create a mock metric with sensible defaults
90
+ * @param overrides - Fields to override
91
+ * @returns Mock metric object
92
+ */
93
+ export function createMockMetric(overrides) {
94
+ const id = ++metricCounter;
95
+ return {
96
+ timestamp: TEST_TIMESTAMP_ISO,
97
+ name: `test.metric.${id}`,
98
+ value: 100,
99
+ type: 'counter',
100
+ ...overrides,
101
+ };
102
+ }
103
+ /**
104
+ * Create multiple mock metrics
105
+ * @param count - Number of metrics to create
106
+ * @param overrides - Fields to override on all metrics (can be function for dynamic values)
107
+ * @returns Array of mock metrics
108
+ */
109
+ export function createMockMetrics(count, overrides) {
110
+ return Array.from({ length: count }, (_, i) => {
111
+ const dynamicOverrides = typeof overrides === 'function' ? overrides(i) : overrides;
112
+ return createMockMetric(dynamicOverrides);
113
+ });
114
+ }
115
+ /**
116
+ * Create a mock LLM event with sensible defaults
117
+ * @param overrides - Fields to override
118
+ * @returns Mock LLM event object
119
+ */
120
+ export function createMockLLMEvent(overrides) {
121
+ const id = ++llmEventCounter;
122
+ const { attributes: attrOverrides, ...restOverrides } = overrides || {};
123
+ return {
124
+ timestamp: TEST_TIMESTAMP_ISO,
125
+ name: 'llm.completion',
126
+ attributes: {
127
+ 'gen_ai.request.model': 'claude-3-opus',
128
+ 'gen_ai.system': 'anthropic',
129
+ 'gen_ai.usage.input_tokens': 100,
130
+ 'gen_ai.usage.output_tokens': 50,
131
+ 'duration_ms': 1500,
132
+ 'success': true,
133
+ ...attrOverrides,
134
+ },
135
+ ...restOverrides,
136
+ };
137
+ }
138
+ /**
139
+ * Create multiple mock LLM events
140
+ * @param count - Number of events to create
141
+ * @param overrides - Fields to override on all events (can be function for dynamic values)
142
+ * @returns Array of mock LLM events
143
+ */
144
+ export function createMockLLMEvents(count, overrides) {
145
+ return Array.from({ length: count }, (_, i) => {
146
+ const dynamicOverrides = typeof overrides === 'function' ? overrides(i) : overrides;
147
+ return createMockLLMEvent(dynamicOverrides);
148
+ });
149
+ }
150
+ /**
151
+ * Create a mock evaluation with sensible defaults
152
+ * @param overrides - Fields to override
153
+ * @returns Mock evaluation object
154
+ */
155
+ export function createMockEvaluation(overrides) {
156
+ const id = ++evalCounter;
157
+ const { attributes: attrOverrides, ...restOverrides } = overrides || {};
158
+ return {
159
+ timestamp: TEST_TIMESTAMP_ISO,
160
+ attributes: {
161
+ 'gen_ai.evaluation.name': `Evaluation-${id}`,
162
+ 'gen_ai.evaluation.score.value': 0.85,
163
+ ...attrOverrides,
164
+ },
165
+ ...restOverrides,
166
+ };
167
+ }
168
+ /**
169
+ * Create multiple mock evaluations
170
+ * @param count - Number of evaluations to create
171
+ * @param overrides - Fields to override on all evaluations (can be function for dynamic values)
172
+ * @returns Array of mock evaluations
173
+ */
174
+ export function createMockEvaluations(count, overrides) {
175
+ return Array.from({ length: count }, (_, i) => {
176
+ const dynamicOverrides = typeof overrides === 'function' ? overrides(i) : overrides;
177
+ return createMockEvaluation(dynamicOverrides);
178
+ });
179
+ }
180
+ // ============================================================================
181
+ // Specialized Builders
182
+ // ============================================================================
183
+ /**
184
+ * Create a span with HTTP attributes
185
+ */
186
+ export function createHttpSpan(method, statusCode, overrides) {
187
+ const { attributes: attrOverrides, ...restOverrides } = overrides || {};
188
+ return createMockSpan({
189
+ name: 'http-request',
190
+ kind: 2, // CLIENT
191
+ attributes: {
192
+ 'http.method': method,
193
+ 'http.status_code': statusCode,
194
+ ...attrOverrides,
195
+ },
196
+ ...restOverrides,
197
+ });
198
+ }
199
+ /**
200
+ * Create a span with database attributes
201
+ */
202
+ export function createDbSpan(operation, system, overrides) {
203
+ const { attributes: attrOverrides, ...restOverrides } = overrides || {};
204
+ return createMockSpan({
205
+ name: `db-${operation.toLowerCase()}`,
206
+ kind: 2, // CLIENT
207
+ attributes: {
208
+ 'db.operation': operation,
209
+ 'db.system': system,
210
+ ...attrOverrides,
211
+ },
212
+ ...restOverrides,
213
+ });
214
+ }
215
+ /**
216
+ * Create an error log
217
+ */
218
+ export function createErrorLog(message, overrides) {
219
+ return createMockLog({
220
+ body: message,
221
+ severity: 'ERROR',
222
+ ...overrides,
223
+ });
224
+ }
225
+ /**
226
+ * Create a log with trace correlation
227
+ */
228
+ export function createCorrelatedLog(traceId, spanId, overrides) {
229
+ return createMockLog({
230
+ traceId,
231
+ spanId,
232
+ ...overrides,
233
+ });
234
+ }
235
+ /**
236
+ * Create a histogram metric
237
+ */
238
+ export function createHistogramMetric(name, buckets, overrides) {
239
+ const sum = buckets.reduce((acc, b) => acc + b.count * b.le, 0);
240
+ const count = buckets[buckets.length - 1]?.count || 0;
241
+ return createMockMetric({
242
+ name,
243
+ type: 'histogram',
244
+ value: sum / count, // average
245
+ histogram: { buckets, sum, count },
246
+ ...overrides,
247
+ });
248
+ }
249
+ /**
250
+ * Create an LLM event with token usage
251
+ */
252
+ export function createLLMEventWithTokens(inputTokens, outputTokens, overrides) {
253
+ return createMockLLMEvent({
254
+ ...overrides,
255
+ attributes: {
256
+ 'gen_ai.usage.input_tokens': inputTokens,
257
+ 'gen_ai.usage.output_tokens': outputTokens,
258
+ ...overrides?.attributes,
259
+ },
260
+ });
261
+ }
262
+ /**
263
+ * Create an evaluation with specific score
264
+ */
265
+ export function createScoredEvaluation(name, score, overrides) {
266
+ return createMockEvaluation({
267
+ ...overrides,
268
+ attributes: {
269
+ 'gen_ai.evaluation.name': name,
270
+ 'gen_ai.evaluation.score.value': score,
271
+ ...overrides?.attributes,
272
+ },
273
+ });
274
+ }
275
+ /**
276
+ * Create an evaluation with label (pass/fail)
277
+ */
278
+ export function createLabeledEvaluation(name, label, overrides) {
279
+ return createMockEvaluation({
280
+ ...overrides,
281
+ attributes: {
282
+ 'gen_ai.evaluation.name': name,
283
+ 'gen_ai.evaluation.score.label': label,
284
+ ...overrides?.attributes,
285
+ },
286
+ });
287
+ }
288
+ //# sourceMappingURL=test-data-builders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-data-builders.js","sourceRoot":"","sources":["../../src/test-helpers/test-data-builders.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=test-data-builders.test.d.ts.map