observability-toolkit 1.8.2 → 1.8.5
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.
- package/README.md +60 -0
- package/dist/backends/index.d.ts +43 -0
- package/dist/backends/index.d.ts.map +1 -1
- package/dist/backends/index.js +41 -0
- package/dist/backends/index.js.map +1 -1
- package/dist/backends/index.test.d.ts +5 -0
- package/dist/backends/index.test.d.ts.map +1 -0
- package/dist/backends/index.test.js +156 -0
- package/dist/backends/index.test.js.map +1 -0
- package/dist/backends/local-jsonl-boolean-search.test.js +15 -12
- package/dist/backends/local-jsonl-boolean-search.test.js.map +1 -1
- package/dist/backends/local-jsonl-cache.test.d.ts +2 -0
- package/dist/backends/local-jsonl-cache.test.d.ts.map +1 -0
- package/dist/backends/local-jsonl-cache.test.js +295 -0
- package/dist/backends/local-jsonl-cache.test.js.map +1 -0
- package/dist/backends/local-jsonl-circuit-breaker.test.d.ts +2 -0
- package/dist/backends/local-jsonl-circuit-breaker.test.d.ts.map +1 -0
- package/dist/backends/local-jsonl-circuit-breaker.test.js +180 -0
- package/dist/backends/local-jsonl-circuit-breaker.test.js.map +1 -0
- package/dist/backends/local-jsonl-export.test.d.ts +2 -0
- package/dist/backends/local-jsonl-export.test.d.ts.map +1 -0
- package/dist/backends/local-jsonl-export.test.js +704 -0
- package/dist/backends/local-jsonl-export.test.js.map +1 -0
- package/dist/backends/local-jsonl-index.test.d.ts +2 -0
- package/dist/backends/local-jsonl-index.test.d.ts.map +1 -0
- package/dist/backends/local-jsonl-index.test.js +554 -0
- package/dist/backends/local-jsonl-index.test.js.map +1 -0
- package/dist/backends/local-jsonl-logs.test.d.ts +2 -0
- package/dist/backends/local-jsonl-logs.test.d.ts.map +1 -0
- package/dist/backends/local-jsonl-logs.test.js +612 -0
- package/dist/backends/local-jsonl-logs.test.js.map +1 -0
- package/dist/backends/local-jsonl-metrics.test.d.ts +2 -0
- package/dist/backends/local-jsonl-metrics.test.d.ts.map +1 -0
- package/dist/backends/local-jsonl-metrics.test.js +876 -0
- package/dist/backends/local-jsonl-metrics.test.js.map +1 -0
- package/dist/backends/local-jsonl-traces.test.d.ts +2 -0
- package/dist/backends/local-jsonl-traces.test.d.ts.map +1 -0
- package/dist/backends/local-jsonl-traces.test.js +1729 -0
- package/dist/backends/local-jsonl-traces.test.js.map +1 -0
- package/dist/backends/local-jsonl.d.ts +9 -0
- package/dist/backends/local-jsonl.d.ts.map +1 -1
- package/dist/backends/local-jsonl.js +348 -227
- package/dist/backends/local-jsonl.js.map +1 -1
- package/dist/backends/local-jsonl.test.js +290 -21
- package/dist/backends/local-jsonl.test.js.map +1 -1
- package/dist/backends/signoz-api-circuit-breaker.test.d.ts +6 -0
- package/dist/backends/signoz-api-circuit-breaker.test.d.ts.map +1 -0
- package/dist/backends/signoz-api-circuit-breaker.test.js +548 -0
- package/dist/backends/signoz-api-circuit-breaker.test.js.map +1 -0
- package/dist/backends/signoz-api-rate-limiter.test.d.ts +6 -0
- package/dist/backends/signoz-api-rate-limiter.test.d.ts.map +1 -0
- package/dist/backends/signoz-api-rate-limiter.test.js +389 -0
- package/dist/backends/signoz-api-rate-limiter.test.js.map +1 -0
- package/dist/backends/signoz-api-ssrf.test.d.ts +6 -0
- package/dist/backends/signoz-api-ssrf.test.d.ts.map +1 -0
- package/dist/backends/signoz-api-ssrf.test.js +216 -0
- package/dist/backends/signoz-api-ssrf.test.js.map +1 -0
- package/dist/backends/signoz-api-test-helpers.d.ts +80 -0
- package/dist/backends/signoz-api-test-helpers.d.ts.map +1 -0
- package/dist/backends/signoz-api-test-helpers.js +79 -0
- package/dist/backends/signoz-api-test-helpers.js.map +1 -0
- package/dist/backends/signoz-api.d.ts +16 -0
- package/dist/backends/signoz-api.d.ts.map +1 -1
- package/dist/backends/signoz-api.js +71 -9
- package/dist/backends/signoz-api.js.map +1 -1
- package/dist/backends/signoz-api.test.d.ts +9 -0
- package/dist/backends/signoz-api.test.d.ts.map +1 -1
- package/dist/backends/signoz-api.test.js +14 -1027
- package/dist/backends/signoz-api.test.js.map +1 -1
- package/dist/lib/cache.d.ts +47 -1
- package/dist/lib/cache.d.ts.map +1 -1
- package/dist/lib/cache.js +40 -3
- package/dist/lib/cache.js.map +1 -1
- package/dist/lib/circuit-breaker.d.ts +83 -0
- package/dist/lib/circuit-breaker.d.ts.map +1 -0
- package/dist/lib/circuit-breaker.js +125 -0
- package/dist/lib/circuit-breaker.js.map +1 -0
- package/dist/lib/circuit-breaker.test.d.ts +2 -0
- package/dist/lib/circuit-breaker.test.d.ts.map +1 -0
- package/dist/lib/circuit-breaker.test.js +263 -0
- package/dist/lib/circuit-breaker.test.js.map +1 -0
- package/dist/lib/constants-symlink.test.d.ts +12 -0
- package/dist/lib/constants-symlink.test.d.ts.map +1 -0
- package/dist/lib/constants-symlink.test.js +357 -0
- package/dist/lib/constants-symlink.test.js.map +1 -0
- package/dist/lib/constants.d.ts +43 -0
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +154 -24
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/constants.test.js +156 -7
- package/dist/lib/constants.test.js.map +1 -1
- package/dist/lib/edge-cases.test.d.ts +11 -0
- package/dist/lib/edge-cases.test.d.ts.map +1 -0
- package/dist/lib/edge-cases.test.js +634 -0
- package/dist/lib/edge-cases.test.js.map +1 -0
- package/dist/lib/error-sanitizer.d.ts.map +1 -1
- package/dist/lib/error-sanitizer.js +62 -26
- package/dist/lib/error-sanitizer.js.map +1 -1
- package/dist/lib/error-sanitizer.test.js +186 -0
- package/dist/lib/error-sanitizer.test.js.map +1 -1
- package/dist/lib/error-types.d.ts +54 -0
- package/dist/lib/error-types.d.ts.map +1 -0
- package/dist/lib/error-types.js +154 -0
- package/dist/lib/error-types.js.map +1 -0
- package/dist/lib/error-types.test.d.ts +2 -0
- package/dist/lib/error-types.test.d.ts.map +1 -0
- package/dist/lib/error-types.test.js +196 -0
- package/dist/lib/error-types.test.js.map +1 -0
- package/dist/lib/file-utils.test.js +3 -3
- package/dist/lib/file-utils.test.js.map +1 -1
- package/dist/lib/indexer.test.js +157 -24
- package/dist/lib/indexer.test.js.map +1 -1
- package/dist/lib/input-validator.d.ts +17 -0
- package/dist/lib/input-validator.d.ts.map +1 -1
- package/dist/lib/input-validator.fuzz.test.d.ts +12 -0
- package/dist/lib/input-validator.fuzz.test.d.ts.map +1 -0
- package/dist/lib/input-validator.fuzz.test.js +290 -0
- package/dist/lib/input-validator.fuzz.test.js.map +1 -0
- package/dist/lib/input-validator.js +62 -3
- package/dist/lib/input-validator.js.map +1 -1
- package/dist/lib/input-validator.test.js +129 -1
- package/dist/lib/input-validator.test.js.map +1 -1
- package/dist/lib/logger.d.ts +46 -0
- package/dist/lib/logger.d.ts.map +1 -0
- package/dist/lib/logger.js +81 -0
- package/dist/lib/logger.js.map +1 -0
- package/dist/lib/logger.test.d.ts +2 -0
- package/dist/lib/logger.test.d.ts.map +1 -0
- package/dist/lib/logger.test.js +122 -0
- package/dist/lib/logger.test.js.map +1 -0
- package/dist/lib/query-sanitizer.d.ts +51 -3
- package/dist/lib/query-sanitizer.d.ts.map +1 -1
- package/dist/lib/query-sanitizer.js +105 -31
- package/dist/lib/query-sanitizer.js.map +1 -1
- package/dist/lib/query-sanitizer.test.js +102 -1
- package/dist/lib/query-sanitizer.test.js.map +1 -1
- package/dist/lib/server-utils.d.ts +88 -0
- package/dist/lib/server-utils.d.ts.map +1 -0
- package/dist/lib/server-utils.js +173 -0
- package/dist/lib/server-utils.js.map +1 -0
- package/dist/lib/shared-schemas.d.ts +81 -0
- package/dist/lib/shared-schemas.d.ts.map +1 -0
- package/dist/lib/shared-schemas.js +80 -0
- package/dist/lib/shared-schemas.js.map +1 -0
- package/dist/lib/shared-schemas.test.d.ts +5 -0
- package/dist/lib/shared-schemas.test.d.ts.map +1 -0
- package/dist/lib/shared-schemas.test.js +106 -0
- package/dist/lib/shared-schemas.test.js.map +1 -0
- package/dist/lib/toon-encoder.d.ts +26 -0
- package/dist/lib/toon-encoder.d.ts.map +1 -0
- package/dist/lib/toon-encoder.js +61 -0
- package/dist/lib/toon-encoder.js.map +1 -0
- package/dist/lib/toon-encoder.test.d.ts +5 -0
- package/dist/lib/toon-encoder.test.d.ts.map +1 -0
- package/dist/lib/toon-encoder.test.js +85 -0
- package/dist/lib/toon-encoder.test.js.map +1 -0
- package/dist/server.d.ts +1 -49
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +154 -162
- package/dist/server.js.map +1 -1
- package/dist/server.test.js +198 -7
- package/dist/server.test.js.map +1 -1
- package/dist/test-helpers/env-utils.d.ts +87 -0
- package/dist/test-helpers/env-utils.d.ts.map +1 -0
- package/dist/test-helpers/env-utils.js +132 -0
- package/dist/test-helpers/env-utils.js.map +1 -0
- package/dist/test-helpers/file-utils.d.ts +67 -0
- package/dist/test-helpers/file-utils.d.ts.map +1 -1
- package/dist/test-helpers/file-utils.js +165 -2
- package/dist/test-helpers/file-utils.js.map +1 -1
- package/dist/test-helpers/fuzz-generators.d.ts +58 -0
- package/dist/test-helpers/fuzz-generators.d.ts.map +1 -0
- package/dist/test-helpers/fuzz-generators.js +216 -0
- package/dist/test-helpers/fuzz-generators.js.map +1 -0
- package/dist/test-helpers/index.d.ts +11 -0
- package/dist/test-helpers/index.d.ts.map +1 -0
- package/dist/test-helpers/index.js +30 -0
- package/dist/test-helpers/index.js.map +1 -0
- package/dist/test-helpers/memfs-utils.d.ts +181 -0
- package/dist/test-helpers/memfs-utils.d.ts.map +1 -0
- package/dist/test-helpers/memfs-utils.js +292 -0
- package/dist/test-helpers/memfs-utils.js.map +1 -0
- package/dist/test-helpers/memfs-utils.test.d.ts +5 -0
- package/dist/test-helpers/memfs-utils.test.d.ts.map +1 -0
- package/dist/test-helpers/memfs-utils.test.js +338 -0
- package/dist/test-helpers/memfs-utils.test.js.map +1 -0
- package/dist/test-helpers/mock-backends.d.ts +113 -2
- package/dist/test-helpers/mock-backends.d.ts.map +1 -1
- package/dist/test-helpers/mock-backends.js +199 -3
- package/dist/test-helpers/mock-backends.js.map +1 -1
- package/dist/test-helpers/mock-backends.test.d.ts +5 -0
- package/dist/test-helpers/mock-backends.test.d.ts.map +1 -0
- package/dist/test-helpers/mock-backends.test.js +368 -0
- package/dist/test-helpers/mock-backends.test.js.map +1 -0
- package/dist/test-helpers/race-condition-helpers.d.ts +85 -0
- package/dist/test-helpers/race-condition-helpers.d.ts.map +1 -0
- package/dist/test-helpers/race-condition-helpers.js +279 -0
- package/dist/test-helpers/race-condition-helpers.js.map +1 -0
- package/dist/test-helpers/schema-validators.d.ts +32 -0
- package/dist/test-helpers/schema-validators.d.ts.map +1 -0
- package/dist/test-helpers/schema-validators.js +125 -0
- package/dist/test-helpers/schema-validators.js.map +1 -0
- package/dist/test-helpers/test-data-builders.d.ts +260 -0
- package/dist/test-helpers/test-data-builders.d.ts.map +1 -0
- package/dist/test-helpers/test-data-builders.js +337 -0
- package/dist/test-helpers/test-data-builders.js.map +1 -0
- package/dist/test-helpers/test-data-builders.test.d.ts +2 -0
- package/dist/test-helpers/test-data-builders.test.d.ts.map +1 -0
- package/dist/test-helpers/test-data-builders.test.js +306 -0
- package/dist/test-helpers/test-data-builders.test.js.map +1 -0
- package/dist/test-helpers/tool-validators.d.ts +28 -0
- package/dist/test-helpers/tool-validators.d.ts.map +1 -0
- package/dist/test-helpers/tool-validators.js +71 -0
- package/dist/test-helpers/tool-validators.js.map +1 -0
- package/dist/tools/context-stats.d.ts +1 -0
- package/dist/tools/context-stats.d.ts.map +1 -1
- package/dist/tools/context-stats.js +9 -5
- package/dist/tools/context-stats.js.map +1 -1
- package/dist/tools/context-stats.test.js +24 -10
- package/dist/tools/context-stats.test.js.map +1 -1
- package/dist/tools/get-trace-url.js +2 -2
- package/dist/tools/get-trace-url.js.map +1 -1
- package/dist/tools/health-check.js +2 -2
- package/dist/tools/health-check.js.map +1 -1
- package/dist/tools/query-evaluations.d.ts +21 -18
- package/dist/tools/query-evaluations.d.ts.map +1 -1
- package/dist/tools/query-evaluations.js +33 -19
- package/dist/tools/query-evaluations.js.map +1 -1
- package/dist/tools/query-evaluations.test.js +60 -63
- package/dist/tools/query-evaluations.test.js.map +1 -1
- package/dist/tools/query-llm-events.d.ts +19 -15
- package/dist/tools/query-llm-events.d.ts.map +1 -1
- package/dist/tools/query-llm-events.js +31 -15
- package/dist/tools/query-llm-events.js.map +1 -1
- package/dist/tools/query-llm-events.test.js +277 -12
- package/dist/tools/query-llm-events.test.js.map +1 -1
- package/dist/tools/query-logs.d.ts +22 -22
- package/dist/tools/query-logs.d.ts.map +1 -1
- package/dist/tools/query-logs.js +9 -9
- package/dist/tools/query-logs.js.map +1 -1
- package/dist/tools/query-logs.test.js +19 -72
- package/dist/tools/query-logs.test.js.map +1 -1
- package/dist/tools/query-metrics.d.ts +14 -14
- package/dist/tools/query-metrics.d.ts.map +1 -1
- package/dist/tools/query-metrics.js +9 -9
- package/dist/tools/query-metrics.js.map +1 -1
- package/dist/tools/query-metrics.test.js +12 -25
- package/dist/tools/query-metrics.test.js.map +1 -1
- package/dist/tools/query-traces.d.ts +28 -28
- package/dist/tools/query-traces.d.ts.map +1 -1
- package/dist/tools/query-traces.js +18 -18
- package/dist/tools/query-traces.js.map +1 -1
- package/dist/tools/query-traces.test.js +58 -54
- package/dist/tools/query-traces.test.js.map +1 -1
- package/dist/tools/setup-claudeignore.js +7 -7
- package/dist/tools/setup-claudeignore.js.map +1 -1
- package/dist/tools/setup-claudeignore.test.js +4 -25
- package/dist/tools/setup-claudeignore.test.js.map +1 -1
- package/package.json +4 -2
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test data builders for creating mock telemetry data
|
|
3
|
+
* Reduces test verbosity and improves consistency
|
|
4
|
+
*
|
|
5
|
+
* ## Parallel Test Warning
|
|
6
|
+
*
|
|
7
|
+
* This module uses module-level counters for auto-incrementing IDs.
|
|
8
|
+
* While node:test runs test FILES in parallel, tests WITHIN a file
|
|
9
|
+
* run sequentially, so this is safe for most use cases.
|
|
10
|
+
*
|
|
11
|
+
* If you need deterministic IDs across test runs, call `resetBuilderCounters()`
|
|
12
|
+
* in `beforeEach()`:
|
|
13
|
+
*
|
|
14
|
+
* ```typescript
|
|
15
|
+
* import { resetBuilderCounters, createMockSpan } from './test-data-builders.js';
|
|
16
|
+
*
|
|
17
|
+
* beforeEach(() => {
|
|
18
|
+
* resetBuilderCounters();
|
|
19
|
+
* });
|
|
20
|
+
*
|
|
21
|
+
* test('creates span with id 1', () => {
|
|
22
|
+
* const span = createMockSpan();
|
|
23
|
+
* assert.equal(span.traceId, 'trace1'); // Always 'trace1' after reset
|
|
24
|
+
* });
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
/** Base timestamp: 2023-11-14 22:13:20 UTC */
|
|
28
|
+
export declare const TEST_TIMESTAMP_BASE = 1700000000;
|
|
29
|
+
/** Standard test timestamp as [seconds, nanoseconds] */
|
|
30
|
+
export declare const TEST_TIMESTAMP: readonly [1700000000, 0];
|
|
31
|
+
/** Standard ISO timestamp string */
|
|
32
|
+
export declare const TEST_TIMESTAMP_ISO = "2023-11-14T22:13:20.000Z";
|
|
33
|
+
/** Standard test duration: 2.5 seconds as [seconds, nanoseconds] */
|
|
34
|
+
export declare const TEST_DURATION: readonly [2, 500000000];
|
|
35
|
+
/** Standard test duration in milliseconds */
|
|
36
|
+
export declare const TEST_DURATION_MS = 2500;
|
|
37
|
+
/** Mock trace span structure */
|
|
38
|
+
export interface MockSpan {
|
|
39
|
+
traceId: string;
|
|
40
|
+
spanId: string;
|
|
41
|
+
name: string;
|
|
42
|
+
startTime: readonly [number, number] | [number, number];
|
|
43
|
+
endTime?: readonly [number, number] | [number, number];
|
|
44
|
+
duration?: readonly [number, number] | [number, number];
|
|
45
|
+
kind?: number;
|
|
46
|
+
status?: {
|
|
47
|
+
code: number;
|
|
48
|
+
message?: string;
|
|
49
|
+
};
|
|
50
|
+
resource?: {
|
|
51
|
+
serviceName?: string;
|
|
52
|
+
serviceVersion?: string;
|
|
53
|
+
[key: string]: unknown;
|
|
54
|
+
};
|
|
55
|
+
attributes?: Record<string, unknown>;
|
|
56
|
+
instrumentationScope?: {
|
|
57
|
+
name: string;
|
|
58
|
+
version?: string;
|
|
59
|
+
schemaUrl?: string;
|
|
60
|
+
};
|
|
61
|
+
links?: Array<{
|
|
62
|
+
traceId: string;
|
|
63
|
+
spanId: string;
|
|
64
|
+
attributes?: Record<string, unknown>;
|
|
65
|
+
}>;
|
|
66
|
+
}
|
|
67
|
+
/** Mock log record structure */
|
|
68
|
+
export interface MockLog {
|
|
69
|
+
timestamp: string | readonly [number, number] | [number, number];
|
|
70
|
+
body: string;
|
|
71
|
+
severity?: string;
|
|
72
|
+
severityText?: string;
|
|
73
|
+
traceId?: string;
|
|
74
|
+
spanId?: string;
|
|
75
|
+
attributes?: Record<string, unknown>;
|
|
76
|
+
instrumentationScope?: {
|
|
77
|
+
name: string;
|
|
78
|
+
version?: string;
|
|
79
|
+
schemaUrl?: string;
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/** Mock metric structure */
|
|
83
|
+
export interface MockMetric {
|
|
84
|
+
timestamp: string;
|
|
85
|
+
name: string;
|
|
86
|
+
value: number;
|
|
87
|
+
type: 'counter' | 'gauge' | 'histogram';
|
|
88
|
+
unit?: string;
|
|
89
|
+
resource?: {
|
|
90
|
+
serviceName?: string;
|
|
91
|
+
[key: string]: unknown;
|
|
92
|
+
};
|
|
93
|
+
attributes?: Record<string, unknown>;
|
|
94
|
+
histogram?: {
|
|
95
|
+
buckets: Array<{
|
|
96
|
+
le: number;
|
|
97
|
+
count: number;
|
|
98
|
+
}>;
|
|
99
|
+
sum: number;
|
|
100
|
+
count: number;
|
|
101
|
+
};
|
|
102
|
+
exemplars?: Array<{
|
|
103
|
+
traceId: string;
|
|
104
|
+
spanId: string;
|
|
105
|
+
value: number;
|
|
106
|
+
timestamp: string;
|
|
107
|
+
}>;
|
|
108
|
+
}
|
|
109
|
+
/** Mock LLM event structure */
|
|
110
|
+
export interface MockLLMEvent {
|
|
111
|
+
timestamp: string;
|
|
112
|
+
name: string;
|
|
113
|
+
attributes: {
|
|
114
|
+
'gen_ai.request.model'?: string;
|
|
115
|
+
'gen_ai.system'?: string;
|
|
116
|
+
'gen_ai.usage.input_tokens'?: number;
|
|
117
|
+
'gen_ai.usage.output_tokens'?: number;
|
|
118
|
+
'gen_ai.usage.cache_read_input_tokens'?: number;
|
|
119
|
+
'gen_ai.usage.cache_creation_input_tokens'?: number;
|
|
120
|
+
'duration_ms'?: number;
|
|
121
|
+
'success'?: boolean;
|
|
122
|
+
'error'?: string;
|
|
123
|
+
[key: string]: unknown;
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
/** Mock evaluation structure */
|
|
127
|
+
export interface MockEvaluation {
|
|
128
|
+
timestamp: string;
|
|
129
|
+
traceId?: string;
|
|
130
|
+
attributes: {
|
|
131
|
+
'gen_ai.evaluation.name': string;
|
|
132
|
+
'gen_ai.evaluation.score.value'?: number;
|
|
133
|
+
'gen_ai.evaluation.score.label'?: string;
|
|
134
|
+
'gen_ai.evaluation.explanation'?: string;
|
|
135
|
+
'gen_ai.response.id'?: string;
|
|
136
|
+
'gen_ai.evaluation.evaluator'?: string;
|
|
137
|
+
'gen_ai.evaluation.evaluator_type'?: 'human' | 'llm' | 'rule' | 'classifier';
|
|
138
|
+
[key: string]: unknown;
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Reset all counters (call in beforeEach if needed)
|
|
143
|
+
*/
|
|
144
|
+
export declare function resetBuilderCounters(): void;
|
|
145
|
+
/**
|
|
146
|
+
* Create a mock trace span with sensible defaults.
|
|
147
|
+
* Override properties take precedence over defaults (later properties win).
|
|
148
|
+
*
|
|
149
|
+
* @param overrides - Fields to override. These are spread after defaults,
|
|
150
|
+
* so `createMockSpan({ traceId: 'custom' })` uses 'custom' as traceId.
|
|
151
|
+
* @returns Mock span object
|
|
152
|
+
*
|
|
153
|
+
* @example
|
|
154
|
+
* // Use defaults
|
|
155
|
+
* const span = createMockSpan();
|
|
156
|
+
*
|
|
157
|
+
* // Override specific fields
|
|
158
|
+
* const custom = createMockSpan({ traceId: 'my-trace', name: 'my-op' });
|
|
159
|
+
*/
|
|
160
|
+
export declare function createMockSpan(overrides?: Partial<MockSpan>): MockSpan;
|
|
161
|
+
/**
|
|
162
|
+
* Create multiple mock spans with auto-incrementing IDs
|
|
163
|
+
* @param count - Number of spans to create
|
|
164
|
+
* @param overrides - Fields to override on all spans (can be function for dynamic values)
|
|
165
|
+
* @returns Array of mock spans
|
|
166
|
+
*/
|
|
167
|
+
export declare function createMockSpans(count: number, overrides?: Partial<MockSpan> | ((index: number) => Partial<MockSpan>)): MockSpan[];
|
|
168
|
+
/**
|
|
169
|
+
* Create a mock log record with sensible defaults.
|
|
170
|
+
* Override properties take precedence over defaults (later properties win).
|
|
171
|
+
*
|
|
172
|
+
* @param overrides - Fields to override
|
|
173
|
+
* @returns Mock log object
|
|
174
|
+
*/
|
|
175
|
+
export declare function createMockLog(overrides?: Partial<MockLog>): MockLog;
|
|
176
|
+
/**
|
|
177
|
+
* Create multiple mock logs
|
|
178
|
+
* @param count - Number of logs to create
|
|
179
|
+
* @param overrides - Fields to override on all logs (can be function for dynamic values)
|
|
180
|
+
* @returns Array of mock logs
|
|
181
|
+
*/
|
|
182
|
+
export declare function createMockLogs(count: number, overrides?: Partial<MockLog> | ((index: number) => Partial<MockLog>)): MockLog[];
|
|
183
|
+
/**
|
|
184
|
+
* Create a mock metric with sensible defaults
|
|
185
|
+
* @param overrides - Fields to override
|
|
186
|
+
* @returns Mock metric object
|
|
187
|
+
*/
|
|
188
|
+
export declare function createMockMetric(overrides?: Partial<MockMetric>): MockMetric;
|
|
189
|
+
/**
|
|
190
|
+
* Create multiple mock metrics
|
|
191
|
+
* @param count - Number of metrics to create
|
|
192
|
+
* @param overrides - Fields to override on all metrics (can be function for dynamic values)
|
|
193
|
+
* @returns Array of mock metrics
|
|
194
|
+
*/
|
|
195
|
+
export declare function createMockMetrics(count: number, overrides?: Partial<MockMetric> | ((index: number) => Partial<MockMetric>)): MockMetric[];
|
|
196
|
+
/**
|
|
197
|
+
* Create a mock LLM event with sensible defaults
|
|
198
|
+
* @param overrides - Fields to override
|
|
199
|
+
* @returns Mock LLM event object
|
|
200
|
+
*/
|
|
201
|
+
export declare function createMockLLMEvent(overrides?: Partial<MockLLMEvent>): MockLLMEvent;
|
|
202
|
+
/**
|
|
203
|
+
* Create multiple mock LLM events
|
|
204
|
+
* @param count - Number of events to create
|
|
205
|
+
* @param overrides - Fields to override on all events (can be function for dynamic values)
|
|
206
|
+
* @returns Array of mock LLM events
|
|
207
|
+
*/
|
|
208
|
+
export declare function createMockLLMEvents(count: number, overrides?: Partial<MockLLMEvent> | ((index: number) => Partial<MockLLMEvent>)): MockLLMEvent[];
|
|
209
|
+
/**
|
|
210
|
+
* Create a mock evaluation with sensible defaults
|
|
211
|
+
* @param overrides - Fields to override
|
|
212
|
+
* @returns Mock evaluation object
|
|
213
|
+
*/
|
|
214
|
+
export declare function createMockEvaluation(overrides?: Partial<MockEvaluation>): MockEvaluation;
|
|
215
|
+
/**
|
|
216
|
+
* Create multiple mock evaluations
|
|
217
|
+
* @param count - Number of evaluations to create
|
|
218
|
+
* @param overrides - Fields to override on all evaluations (can be function for dynamic values)
|
|
219
|
+
* @returns Array of mock evaluations
|
|
220
|
+
*/
|
|
221
|
+
export declare function createMockEvaluations(count: number, overrides?: Partial<MockEvaluation> | ((index: number) => Partial<MockEvaluation>)): MockEvaluation[];
|
|
222
|
+
/**
|
|
223
|
+
* Create a span with HTTP attributes
|
|
224
|
+
*/
|
|
225
|
+
export declare function createHttpSpan(method: string, statusCode: number, overrides?: Partial<MockSpan>): MockSpan;
|
|
226
|
+
/**
|
|
227
|
+
* Create a span with database attributes
|
|
228
|
+
*/
|
|
229
|
+
export declare function createDbSpan(operation: string, system: string, overrides?: Partial<MockSpan>): MockSpan;
|
|
230
|
+
/**
|
|
231
|
+
* Create an error log
|
|
232
|
+
*/
|
|
233
|
+
export declare function createErrorLog(message: string, overrides?: Partial<MockLog>): MockLog;
|
|
234
|
+
/**
|
|
235
|
+
* Create a log with trace correlation
|
|
236
|
+
*/
|
|
237
|
+
export declare function createCorrelatedLog(traceId: string, spanId: string, overrides?: Partial<MockLog>): MockLog;
|
|
238
|
+
/**
|
|
239
|
+
* Create a histogram metric
|
|
240
|
+
*
|
|
241
|
+
* Note: Buckets use cumulative counts where each bucket's count includes
|
|
242
|
+
* all observations <= le. The average is calculated using bucket midpoints.
|
|
243
|
+
*/
|
|
244
|
+
export declare function createHistogramMetric(name: string, buckets: Array<{
|
|
245
|
+
le: number;
|
|
246
|
+
count: number;
|
|
247
|
+
}>, overrides?: Partial<MockMetric>): MockMetric;
|
|
248
|
+
/**
|
|
249
|
+
* Create an LLM event with token usage
|
|
250
|
+
*/
|
|
251
|
+
export declare function createLLMEventWithTokens(inputTokens: number, outputTokens: number, overrides?: Partial<MockLLMEvent>): MockLLMEvent;
|
|
252
|
+
/**
|
|
253
|
+
* Create an evaluation with specific score
|
|
254
|
+
*/
|
|
255
|
+
export declare function createScoredEvaluation(name: string, score: number, overrides?: Partial<MockEvaluation>): MockEvaluation;
|
|
256
|
+
/**
|
|
257
|
+
* Create an evaluation with label (pass/fail)
|
|
258
|
+
*/
|
|
259
|
+
export declare function createLabeledEvaluation(name: string, label: string, overrides?: Partial<MockEvaluation>): MockEvaluation;
|
|
260
|
+
//# 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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAMH,8CAA8C;AAC9C,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAE9C,wDAAwD;AACxD,eAAO,MAAM,cAAc,0BAAoC,CAAC;AAEhE,oCAAoC;AACpC,eAAO,MAAM,kBAAkB,6BAA6B,CAAC;AAE7D,oEAAoE;AACpE,eAAO,MAAM,aAAa,yBAA0B,CAAC;AAErD,6CAA6C;AAC7C,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAMrC,gCAAgC;AAChC,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxD,OAAO,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvD,QAAQ,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,QAAQ,CAAC,EAAE;QACT,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,oBAAoB,CAAC,EAAE;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACtC,CAAC,CAAC;CACJ;AAED,gCAAgC;AAChC,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,oBAAoB,CAAC,EAAE;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,4BAA4B;AAC5B,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE;QACT,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,SAAS,CAAC,EAAE;QACV,OAAO,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC9C,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;CACJ;AAED,+BAA+B;AAC/B,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE;QACV,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,2BAA2B,CAAC,EAAE,MAAM,CAAC;QACrC,4BAA4B,CAAC,EAAE,MAAM,CAAC;QACtC,sCAAsC,CAAC,EAAE,MAAM,CAAC;QAChD,0CAA0C,CAAC,EAAE,MAAM,CAAC;QACpD,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;CACH;AAED,gCAAgC;AAChC,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE;QACV,wBAAwB,EAAE,MAAM,CAAC;QACjC,+BAA+B,CAAC,EAAE,MAAM,CAAC;QACzC,+BAA+B,CAAC,EAAE,MAAM,CAAC;QACzC,+BAA+B,CAAC,EAAE,MAAM,CAAC;QACzC,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,6BAA6B,CAAC,EAAE,MAAM,CAAC;QACvC,kCAAkC,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,YAAY,CAAC;QAC7E,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;CACH;AAYD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAM3C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAStE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC,GACrE,QAAQ,EAAE,CAKZ;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAOnE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,GACnE,OAAO,EAAE,CAKX;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAS5E;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC,GACzE,UAAU,EAAE,CAKd;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAiBlF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC,GAC7E,YAAY,EAAE,CAKhB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,CAYxF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC,GACjF,cAAc,EAAE,CAKlB;AAMD;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAC5B,QAAQ,CAYV;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAC5B,QAAQ,CAYV;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAMrF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,GAC3B,OAAO,CAMT;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,EAC7C,SAAS,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAC9B,UAAU,CAuBZ;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAChC,YAAY,CASd;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAClC,cAAc,CAShB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAClC,cAAc,CAShB"}
|
|
@@ -0,0 +1,337 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test data builders for creating mock telemetry data
|
|
3
|
+
* Reduces test verbosity and improves consistency
|
|
4
|
+
*
|
|
5
|
+
* ## Parallel Test Warning
|
|
6
|
+
*
|
|
7
|
+
* This module uses module-level counters for auto-incrementing IDs.
|
|
8
|
+
* While node:test runs test FILES in parallel, tests WITHIN a file
|
|
9
|
+
* run sequentially, so this is safe for most use cases.
|
|
10
|
+
*
|
|
11
|
+
* If you need deterministic IDs across test runs, call `resetBuilderCounters()`
|
|
12
|
+
* in `beforeEach()`:
|
|
13
|
+
*
|
|
14
|
+
* ```typescript
|
|
15
|
+
* import { resetBuilderCounters, createMockSpan } from './test-data-builders.js';
|
|
16
|
+
*
|
|
17
|
+
* beforeEach(() => {
|
|
18
|
+
* resetBuilderCounters();
|
|
19
|
+
* });
|
|
20
|
+
*
|
|
21
|
+
* test('creates span with id 1', () => {
|
|
22
|
+
* const span = createMockSpan();
|
|
23
|
+
* assert.equal(span.traceId, 'trace1'); // Always 'trace1' after reset
|
|
24
|
+
* });
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
// ============================================================================
|
|
28
|
+
// Constants
|
|
29
|
+
// ============================================================================
|
|
30
|
+
/** Base timestamp: 2023-11-14 22:13:20 UTC */
|
|
31
|
+
export const TEST_TIMESTAMP_BASE = 1700000000;
|
|
32
|
+
/** Standard test timestamp as [seconds, nanoseconds] */
|
|
33
|
+
export const TEST_TIMESTAMP = [TEST_TIMESTAMP_BASE, 0];
|
|
34
|
+
/** Standard ISO timestamp string */
|
|
35
|
+
export const TEST_TIMESTAMP_ISO = '2023-11-14T22:13:20.000Z';
|
|
36
|
+
/** Standard test duration: 2.5 seconds as [seconds, nanoseconds] */
|
|
37
|
+
export const TEST_DURATION = [2, 500000000];
|
|
38
|
+
/** Standard test duration in milliseconds */
|
|
39
|
+
export const TEST_DURATION_MS = 2500;
|
|
40
|
+
// ============================================================================
|
|
41
|
+
// Builder Functions
|
|
42
|
+
// ============================================================================
|
|
43
|
+
let spanCounter = 0;
|
|
44
|
+
let logCounter = 0;
|
|
45
|
+
let metricCounter = 0;
|
|
46
|
+
let llmEventCounter = 0;
|
|
47
|
+
let evalCounter = 0;
|
|
48
|
+
/**
|
|
49
|
+
* Reset all counters (call in beforeEach if needed)
|
|
50
|
+
*/
|
|
51
|
+
export function resetBuilderCounters() {
|
|
52
|
+
spanCounter = 0;
|
|
53
|
+
logCounter = 0;
|
|
54
|
+
metricCounter = 0;
|
|
55
|
+
llmEventCounter = 0;
|
|
56
|
+
evalCounter = 0;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Create a mock trace span with sensible defaults.
|
|
60
|
+
* Override properties take precedence over defaults (later properties win).
|
|
61
|
+
*
|
|
62
|
+
* @param overrides - Fields to override. These are spread after defaults,
|
|
63
|
+
* so `createMockSpan({ traceId: 'custom' })` uses 'custom' as traceId.
|
|
64
|
+
* @returns Mock span object
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* // Use defaults
|
|
68
|
+
* const span = createMockSpan();
|
|
69
|
+
*
|
|
70
|
+
* // Override specific fields
|
|
71
|
+
* const custom = createMockSpan({ traceId: 'my-trace', name: 'my-op' });
|
|
72
|
+
*/
|
|
73
|
+
export function createMockSpan(overrides) {
|
|
74
|
+
const id = ++spanCounter;
|
|
75
|
+
return {
|
|
76
|
+
traceId: `trace${id}`,
|
|
77
|
+
spanId: `span${id}`,
|
|
78
|
+
name: `test-operation-${id}`,
|
|
79
|
+
startTime: [...TEST_TIMESTAMP],
|
|
80
|
+
...overrides,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Create multiple mock spans with auto-incrementing IDs
|
|
85
|
+
* @param count - Number of spans to create
|
|
86
|
+
* @param overrides - Fields to override on all spans (can be function for dynamic values)
|
|
87
|
+
* @returns Array of mock spans
|
|
88
|
+
*/
|
|
89
|
+
export function createMockSpans(count, overrides) {
|
|
90
|
+
return Array.from({ length: count }, (_, i) => {
|
|
91
|
+
const dynamicOverrides = typeof overrides === 'function' ? overrides(i) : overrides;
|
|
92
|
+
return createMockSpan(dynamicOverrides);
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Create a mock log record with sensible defaults.
|
|
97
|
+
* Override properties take precedence over defaults (later properties win).
|
|
98
|
+
*
|
|
99
|
+
* @param overrides - Fields to override
|
|
100
|
+
* @returns Mock log object
|
|
101
|
+
*/
|
|
102
|
+
export function createMockLog(overrides) {
|
|
103
|
+
const id = ++logCounter;
|
|
104
|
+
return {
|
|
105
|
+
timestamp: TEST_TIMESTAMP_ISO,
|
|
106
|
+
body: `Test log message ${id}`,
|
|
107
|
+
...overrides,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Create multiple mock logs
|
|
112
|
+
* @param count - Number of logs to create
|
|
113
|
+
* @param overrides - Fields to override on all logs (can be function for dynamic values)
|
|
114
|
+
* @returns Array of mock logs
|
|
115
|
+
*/
|
|
116
|
+
export function createMockLogs(count, overrides) {
|
|
117
|
+
return Array.from({ length: count }, (_, i) => {
|
|
118
|
+
const dynamicOverrides = typeof overrides === 'function' ? overrides(i) : overrides;
|
|
119
|
+
return createMockLog(dynamicOverrides);
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Create a mock metric with sensible defaults
|
|
124
|
+
* @param overrides - Fields to override
|
|
125
|
+
* @returns Mock metric object
|
|
126
|
+
*/
|
|
127
|
+
export function createMockMetric(overrides) {
|
|
128
|
+
const id = ++metricCounter;
|
|
129
|
+
return {
|
|
130
|
+
timestamp: TEST_TIMESTAMP_ISO,
|
|
131
|
+
name: `test.metric.${id}`,
|
|
132
|
+
value: 100,
|
|
133
|
+
type: 'counter',
|
|
134
|
+
...overrides,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Create multiple mock metrics
|
|
139
|
+
* @param count - Number of metrics to create
|
|
140
|
+
* @param overrides - Fields to override on all metrics (can be function for dynamic values)
|
|
141
|
+
* @returns Array of mock metrics
|
|
142
|
+
*/
|
|
143
|
+
export function createMockMetrics(count, overrides) {
|
|
144
|
+
return Array.from({ length: count }, (_, i) => {
|
|
145
|
+
const dynamicOverrides = typeof overrides === 'function' ? overrides(i) : overrides;
|
|
146
|
+
return createMockMetric(dynamicOverrides);
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Create a mock LLM event with sensible defaults
|
|
151
|
+
* @param overrides - Fields to override
|
|
152
|
+
* @returns Mock LLM event object
|
|
153
|
+
*/
|
|
154
|
+
export function createMockLLMEvent(overrides) {
|
|
155
|
+
const id = ++llmEventCounter;
|
|
156
|
+
const { attributes: attrOverrides, ...restOverrides } = overrides || {};
|
|
157
|
+
return {
|
|
158
|
+
timestamp: TEST_TIMESTAMP_ISO,
|
|
159
|
+
name: 'llm.completion',
|
|
160
|
+
attributes: {
|
|
161
|
+
'gen_ai.request.model': 'claude-3-opus',
|
|
162
|
+
'gen_ai.system': 'anthropic',
|
|
163
|
+
'gen_ai.usage.input_tokens': 100,
|
|
164
|
+
'gen_ai.usage.output_tokens': 50,
|
|
165
|
+
'duration_ms': 1500,
|
|
166
|
+
'success': true,
|
|
167
|
+
...attrOverrides,
|
|
168
|
+
},
|
|
169
|
+
...restOverrides,
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Create multiple mock LLM events
|
|
174
|
+
* @param count - Number of events to create
|
|
175
|
+
* @param overrides - Fields to override on all events (can be function for dynamic values)
|
|
176
|
+
* @returns Array of mock LLM events
|
|
177
|
+
*/
|
|
178
|
+
export function createMockLLMEvents(count, overrides) {
|
|
179
|
+
return Array.from({ length: count }, (_, i) => {
|
|
180
|
+
const dynamicOverrides = typeof overrides === 'function' ? overrides(i) : overrides;
|
|
181
|
+
return createMockLLMEvent(dynamicOverrides);
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Create a mock evaluation with sensible defaults
|
|
186
|
+
* @param overrides - Fields to override
|
|
187
|
+
* @returns Mock evaluation object
|
|
188
|
+
*/
|
|
189
|
+
export function createMockEvaluation(overrides) {
|
|
190
|
+
const id = ++evalCounter;
|
|
191
|
+
const { attributes: attrOverrides, ...restOverrides } = overrides || {};
|
|
192
|
+
return {
|
|
193
|
+
timestamp: TEST_TIMESTAMP_ISO,
|
|
194
|
+
attributes: {
|
|
195
|
+
'gen_ai.evaluation.name': `Evaluation-${id}`,
|
|
196
|
+
'gen_ai.evaluation.score.value': 0.85,
|
|
197
|
+
...attrOverrides,
|
|
198
|
+
},
|
|
199
|
+
...restOverrides,
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Create multiple mock evaluations
|
|
204
|
+
* @param count - Number of evaluations to create
|
|
205
|
+
* @param overrides - Fields to override on all evaluations (can be function for dynamic values)
|
|
206
|
+
* @returns Array of mock evaluations
|
|
207
|
+
*/
|
|
208
|
+
export function createMockEvaluations(count, overrides) {
|
|
209
|
+
return Array.from({ length: count }, (_, i) => {
|
|
210
|
+
const dynamicOverrides = typeof overrides === 'function' ? overrides(i) : overrides;
|
|
211
|
+
return createMockEvaluation(dynamicOverrides);
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
// ============================================================================
|
|
215
|
+
// Specialized Builders
|
|
216
|
+
// ============================================================================
|
|
217
|
+
/**
|
|
218
|
+
* Create a span with HTTP attributes
|
|
219
|
+
*/
|
|
220
|
+
export function createHttpSpan(method, statusCode, overrides) {
|
|
221
|
+
const { attributes: attrOverrides, ...restOverrides } = overrides || {};
|
|
222
|
+
return createMockSpan({
|
|
223
|
+
name: 'http-request',
|
|
224
|
+
kind: 2, // CLIENT
|
|
225
|
+
attributes: {
|
|
226
|
+
'http.method': method,
|
|
227
|
+
'http.status_code': statusCode,
|
|
228
|
+
...attrOverrides,
|
|
229
|
+
},
|
|
230
|
+
...restOverrides,
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Create a span with database attributes
|
|
235
|
+
*/
|
|
236
|
+
export function createDbSpan(operation, system, overrides) {
|
|
237
|
+
const { attributes: attrOverrides, ...restOverrides } = overrides || {};
|
|
238
|
+
return createMockSpan({
|
|
239
|
+
name: `db-${operation.toLowerCase()}`,
|
|
240
|
+
kind: 2, // CLIENT
|
|
241
|
+
attributes: {
|
|
242
|
+
'db.operation': operation,
|
|
243
|
+
'db.system': system,
|
|
244
|
+
...attrOverrides,
|
|
245
|
+
},
|
|
246
|
+
...restOverrides,
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Create an error log
|
|
251
|
+
*/
|
|
252
|
+
export function createErrorLog(message, overrides) {
|
|
253
|
+
return createMockLog({
|
|
254
|
+
body: message,
|
|
255
|
+
severity: 'ERROR',
|
|
256
|
+
...overrides,
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Create a log with trace correlation
|
|
261
|
+
*/
|
|
262
|
+
export function createCorrelatedLog(traceId, spanId, overrides) {
|
|
263
|
+
return createMockLog({
|
|
264
|
+
traceId,
|
|
265
|
+
spanId,
|
|
266
|
+
...overrides,
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Create a histogram metric
|
|
271
|
+
*
|
|
272
|
+
* Note: Buckets use cumulative counts where each bucket's count includes
|
|
273
|
+
* all observations <= le. The average is calculated using bucket midpoints.
|
|
274
|
+
*/
|
|
275
|
+
export function createHistogramMetric(name, buckets, overrides) {
|
|
276
|
+
// Calculate sum using bucket midpoints and incremental counts
|
|
277
|
+
// Each bucket count is cumulative, so we need to find incremental counts
|
|
278
|
+
let sum = 0;
|
|
279
|
+
let prevLe = 0;
|
|
280
|
+
let prevCount = 0;
|
|
281
|
+
for (const bucket of buckets) {
|
|
282
|
+
const incrementalCount = bucket.count - prevCount;
|
|
283
|
+
const midpoint = (prevLe + bucket.le) / 2;
|
|
284
|
+
sum += incrementalCount * midpoint;
|
|
285
|
+
prevLe = bucket.le;
|
|
286
|
+
prevCount = bucket.count;
|
|
287
|
+
}
|
|
288
|
+
const count = buckets[buckets.length - 1]?.count || 0;
|
|
289
|
+
const average = count > 0 ? sum / count : 0;
|
|
290
|
+
return createMockMetric({
|
|
291
|
+
name,
|
|
292
|
+
type: 'histogram',
|
|
293
|
+
value: average,
|
|
294
|
+
histogram: { buckets, sum, count },
|
|
295
|
+
...overrides,
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Create an LLM event with token usage
|
|
300
|
+
*/
|
|
301
|
+
export function createLLMEventWithTokens(inputTokens, outputTokens, overrides) {
|
|
302
|
+
return createMockLLMEvent({
|
|
303
|
+
...overrides,
|
|
304
|
+
attributes: {
|
|
305
|
+
'gen_ai.usage.input_tokens': inputTokens,
|
|
306
|
+
'gen_ai.usage.output_tokens': outputTokens,
|
|
307
|
+
...overrides?.attributes,
|
|
308
|
+
},
|
|
309
|
+
});
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Create an evaluation with specific score
|
|
313
|
+
*/
|
|
314
|
+
export function createScoredEvaluation(name, score, overrides) {
|
|
315
|
+
return createMockEvaluation({
|
|
316
|
+
...overrides,
|
|
317
|
+
attributes: {
|
|
318
|
+
'gen_ai.evaluation.name': name,
|
|
319
|
+
'gen_ai.evaluation.score.value': score,
|
|
320
|
+
...overrides?.attributes,
|
|
321
|
+
},
|
|
322
|
+
});
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Create an evaluation with label (pass/fail)
|
|
326
|
+
*/
|
|
327
|
+
export function createLabeledEvaluation(name, label, overrides) {
|
|
328
|
+
return createMockEvaluation({
|
|
329
|
+
...overrides,
|
|
330
|
+
attributes: {
|
|
331
|
+
'gen_ai.evaluation.name': name,
|
|
332
|
+
'gen_ai.evaluation.score.label': label,
|
|
333
|
+
...overrides?.attributes,
|
|
334
|
+
},
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
//# 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 @@
|
|
|
1
|
+
{"version":3,"file":"test-data-builders.test.d.ts","sourceRoot":"","sources":["../../src/test-helpers/test-data-builders.test.ts"],"names":[],"mappings":""}
|