@illuma-ai/observability-core 0.1.0 → 0.2.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 (45) hide show
  1. package/dist/__tests__/core-client.test.d.ts +8 -0
  2. package/dist/__tests__/core-client.test.d.ts.map +1 -0
  3. package/dist/__tests__/core-client.test.js +844 -0
  4. package/dist/__tests__/core-client.test.js.map +1 -0
  5. package/dist/__tests__/generation-client.test.d.ts +8 -0
  6. package/dist/__tests__/generation-client.test.d.ts.map +1 -0
  7. package/dist/__tests__/generation-client.test.js +117 -0
  8. package/dist/__tests__/generation-client.test.js.map +1 -0
  9. package/dist/__tests__/span-client.test.d.ts +9 -0
  10. package/dist/__tests__/span-client.test.d.ts.map +1 -0
  11. package/dist/__tests__/span-client.test.js +272 -0
  12. package/dist/__tests__/span-client.test.js.map +1 -0
  13. package/dist/__tests__/trace-client.test.d.ts +9 -0
  14. package/dist/__tests__/trace-client.test.d.ts.map +1 -0
  15. package/dist/__tests__/trace-client.test.js +260 -0
  16. package/dist/__tests__/trace-client.test.js.map +1 -0
  17. package/dist/__tests__/types.test.d.ts +9 -0
  18. package/dist/__tests__/types.test.d.ts.map +1 -0
  19. package/dist/__tests__/types.test.js +453 -0
  20. package/dist/__tests__/types.test.js.map +1 -0
  21. package/dist/__tests__/utils.test.d.ts +7 -0
  22. package/dist/__tests__/utils.test.d.ts.map +1 -0
  23. package/dist/__tests__/utils.test.js +164 -0
  24. package/dist/__tests__/utils.test.js.map +1 -0
  25. package/dist/core-client.d.ts +1 -0
  26. package/dist/core-client.d.ts.map +1 -1
  27. package/dist/core-client.js +4 -0
  28. package/dist/core-client.js.map +1 -1
  29. package/dist/index.d.ts +1 -1
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +1 -1
  32. package/dist/index.js.map +1 -1
  33. package/dist/span-client.d.ts +28 -0
  34. package/dist/span-client.d.ts.map +1 -1
  35. package/dist/span-client.js +92 -0
  36. package/dist/span-client.js.map +1 -1
  37. package/dist/trace-client.d.ts +35 -0
  38. package/dist/trace-client.d.ts.map +1 -1
  39. package/dist/trace-client.js +110 -0
  40. package/dist/trace-client.js.map +1 -1
  41. package/dist/types.d.ts +109 -7
  42. package/dist/types.d.ts.map +1 -1
  43. package/dist/types.js +40 -2
  44. package/dist/types.js.map +1 -1
  45. package/package.json +5 -2
@@ -0,0 +1,260 @@
1
+ /**
2
+ * Unit tests for TraceClient.
3
+ *
4
+ * Validates that all observation factory methods (span, generation, event,
5
+ * agent, tool, chain, retriever, guardrail) enqueue the correct event types
6
+ * with proper traceId linkage, and that score/update operations work correctly.
7
+ */
8
+ import { describe, it, expect } from 'vitest';
9
+ import { TraceClient } from '../trace-client.js';
10
+ import { IngestionEventType } from '../types.js';
11
+ // ---------------------------------------------------------------------------
12
+ // Helpers
13
+ // ---------------------------------------------------------------------------
14
+ /** Collect events enqueued by a TraceClient. */
15
+ function createTraceWithCollector(traceId = 'trace-abc') {
16
+ const events = [];
17
+ const trace = new TraceClient(traceId, (event) => events.push(event));
18
+ return { trace, events };
19
+ }
20
+ // ---------------------------------------------------------------------------
21
+ // Tests
22
+ // ---------------------------------------------------------------------------
23
+ describe('TraceClient', () => {
24
+ // -------------------------------------------------------------------------
25
+ // span()
26
+ // -------------------------------------------------------------------------
27
+ describe('span()', () => {
28
+ it('should enqueue a span-create event with correct traceId', () => {
29
+ const { trace, events } = createTraceWithCollector('trace-1');
30
+ const span = trace.span({ name: 'my-span' });
31
+ expect(events).toHaveLength(1);
32
+ expect(events[0].type).toBe(IngestionEventType.SPAN_CREATE);
33
+ expect(events[0].body.traceId).toBe('trace-1');
34
+ expect(events[0].body.name).toBe('my-span');
35
+ expect(span.id).toBeDefined();
36
+ expect(span.traceId).toBe('trace-1');
37
+ });
38
+ it('should not set parentObservationId on a direct trace child', () => {
39
+ const { trace, events } = createTraceWithCollector();
40
+ trace.span({ name: 'top-level' });
41
+ expect(events[0].body.parentObservationId).toBeUndefined();
42
+ });
43
+ it('should use provided id when given', () => {
44
+ const { trace, events } = createTraceWithCollector();
45
+ const span = trace.span({ id: 'custom-span-id' });
46
+ expect(span.id).toBe('custom-span-id');
47
+ expect(events[0].body.id).toBe('custom-span-id');
48
+ });
49
+ it('should set startTime to provided value', () => {
50
+ const { trace, events } = createTraceWithCollector();
51
+ trace.span({ startTime: '2024-06-01T00:00:00.000Z' });
52
+ expect(events[0].body.startTime).toBe('2024-06-01T00:00:00.000Z');
53
+ });
54
+ it('should auto-set startTime when not provided', () => {
55
+ const { trace, events } = createTraceWithCollector();
56
+ trace.span({ name: 'auto-time' });
57
+ expect(events[0].body.startTime).toBeDefined();
58
+ expect(typeof events[0].body.startTime).toBe('string');
59
+ });
60
+ });
61
+ // -------------------------------------------------------------------------
62
+ // generation()
63
+ // -------------------------------------------------------------------------
64
+ describe('generation()', () => {
65
+ it('should enqueue a generation-create event with all fields', () => {
66
+ const { trace, events } = createTraceWithCollector('trace-gen');
67
+ const gen = trace.generation({
68
+ name: 'llm-call',
69
+ model: 'gpt-4o',
70
+ input: [{ role: 'user', content: 'Hello' }],
71
+ usage: { input: 10, output: 5 },
72
+ modelParameters: { temperature: 0.7 },
73
+ });
74
+ expect(events).toHaveLength(1);
75
+ expect(events[0].type).toBe(IngestionEventType.GENERATION_CREATE);
76
+ expect(events[0].body.traceId).toBe('trace-gen');
77
+ expect(events[0].body.model).toBe('gpt-4o');
78
+ expect(events[0].body.name).toBe('llm-call');
79
+ expect(gen.traceId).toBe('trace-gen');
80
+ });
81
+ it('should not set parentObservationId for a direct trace child generation', () => {
82
+ const { trace, events } = createTraceWithCollector();
83
+ trace.generation({ name: 'direct-gen' });
84
+ expect(events[0].body.parentObservationId).toBeUndefined();
85
+ });
86
+ });
87
+ // -------------------------------------------------------------------------
88
+ // event()
89
+ // -------------------------------------------------------------------------
90
+ describe('event()', () => {
91
+ it('should enqueue an event-create event', () => {
92
+ const { trace, events } = createTraceWithCollector('trace-evt');
93
+ trace.event({ name: 'cache-hit', metadata: { key: 'doc-1' } });
94
+ expect(events).toHaveLength(1);
95
+ expect(events[0].type).toBe(IngestionEventType.EVENT_CREATE);
96
+ expect(events[0].body.traceId).toBe('trace-evt');
97
+ expect(events[0].body.name).toBe('cache-hit');
98
+ expect(events[0].body.metadata).toEqual({ key: 'doc-1' });
99
+ });
100
+ it('should not return a client handle (events are fire-and-forget)', () => {
101
+ const { trace } = createTraceWithCollector();
102
+ const result = trace.event({ name: 'log' });
103
+ expect(result).toBeUndefined();
104
+ });
105
+ });
106
+ // -------------------------------------------------------------------------
107
+ // agent()
108
+ // -------------------------------------------------------------------------
109
+ describe('agent()', () => {
110
+ it('should enqueue an agent-create event', () => {
111
+ const { trace, events } = createTraceWithCollector('trace-agent');
112
+ const agent = trace.agent({ name: 'research-agent' });
113
+ expect(events).toHaveLength(1);
114
+ expect(events[0].type).toBe(IngestionEventType.AGENT_CREATE);
115
+ expect(events[0].body.traceId).toBe('trace-agent');
116
+ expect(events[0].body.name).toBe('research-agent');
117
+ expect(agent.id).toBeDefined();
118
+ expect(agent.traceId).toBe('trace-agent');
119
+ });
120
+ it('should return a SpanClient for nesting', () => {
121
+ const { trace, events } = createTraceWithCollector();
122
+ const agent = trace.agent({ name: 'my-agent' });
123
+ // SpanClient has span(), generation(), etc.
124
+ expect(typeof agent.span).toBe('function');
125
+ expect(typeof agent.generation).toBe('function');
126
+ });
127
+ });
128
+ // -------------------------------------------------------------------------
129
+ // tool()
130
+ // -------------------------------------------------------------------------
131
+ describe('tool()', () => {
132
+ it('should enqueue a tool-create event', () => {
133
+ const { trace, events } = createTraceWithCollector('trace-tool');
134
+ const tool = trace.tool({ name: 'web-search' });
135
+ expect(events).toHaveLength(1);
136
+ expect(events[0].type).toBe(IngestionEventType.TOOL_CREATE);
137
+ expect(events[0].body.traceId).toBe('trace-tool');
138
+ expect(events[0].body.name).toBe('web-search');
139
+ expect(tool.traceId).toBe('trace-tool');
140
+ });
141
+ });
142
+ // -------------------------------------------------------------------------
143
+ // chain()
144
+ // -------------------------------------------------------------------------
145
+ describe('chain()', () => {
146
+ it('should enqueue a chain-create event', () => {
147
+ const { trace, events } = createTraceWithCollector('trace-chain');
148
+ const chain = trace.chain({ name: 'rag-pipeline' });
149
+ expect(events).toHaveLength(1);
150
+ expect(events[0].type).toBe(IngestionEventType.CHAIN_CREATE);
151
+ expect(events[0].body.traceId).toBe('trace-chain');
152
+ expect(events[0].body.name).toBe('rag-pipeline');
153
+ expect(chain.traceId).toBe('trace-chain');
154
+ });
155
+ });
156
+ // -------------------------------------------------------------------------
157
+ // retriever()
158
+ // -------------------------------------------------------------------------
159
+ describe('retriever()', () => {
160
+ it('should enqueue a retriever-create event', () => {
161
+ const { trace, events } = createTraceWithCollector('trace-ret');
162
+ const retriever = trace.retriever({ name: 'vector-search' });
163
+ expect(events).toHaveLength(1);
164
+ expect(events[0].type).toBe(IngestionEventType.RETRIEVER_CREATE);
165
+ expect(events[0].body.traceId).toBe('trace-ret');
166
+ expect(events[0].body.name).toBe('vector-search');
167
+ expect(retriever.traceId).toBe('trace-ret');
168
+ });
169
+ });
170
+ // -------------------------------------------------------------------------
171
+ // guardrail()
172
+ // -------------------------------------------------------------------------
173
+ describe('guardrail()', () => {
174
+ it('should enqueue a guardrail-create event', () => {
175
+ const { trace, events } = createTraceWithCollector('trace-guard');
176
+ const guardrail = trace.guardrail({ name: 'content-filter' });
177
+ expect(events).toHaveLength(1);
178
+ expect(events[0].type).toBe(IngestionEventType.GUARDRAIL_CREATE);
179
+ expect(events[0].body.traceId).toBe('trace-guard');
180
+ expect(events[0].body.name).toBe('content-filter');
181
+ expect(guardrail.traceId).toBe('trace-guard');
182
+ });
183
+ });
184
+ // -------------------------------------------------------------------------
185
+ // score()
186
+ // -------------------------------------------------------------------------
187
+ describe('score()', () => {
188
+ it('should enqueue a score-create event with traceId', () => {
189
+ const { trace, events } = createTraceWithCollector('trace-score');
190
+ trace.score({ name: 'quality', value: 0.9 });
191
+ expect(events).toHaveLength(1);
192
+ expect(events[0].type).toBe(IngestionEventType.SCORE_CREATE);
193
+ expect(events[0].body.traceId).toBe('trace-score');
194
+ expect(events[0].body.name).toBe('quality');
195
+ expect(events[0].body.value).toBe(0.9);
196
+ });
197
+ it('should auto-generate score id if not provided', () => {
198
+ const { trace, events } = createTraceWithCollector();
199
+ trace.score({ name: 'test', value: 1 });
200
+ expect(events[0].body.id).toBeDefined();
201
+ expect(typeof events[0].body.id).toBe('string');
202
+ });
203
+ it('should use provided score id', () => {
204
+ const { trace, events } = createTraceWithCollector();
205
+ trace.score({ id: 'score-custom', name: 'test', value: 1 });
206
+ expect(events[0].body.id).toBe('score-custom');
207
+ });
208
+ });
209
+ // -------------------------------------------------------------------------
210
+ // update()
211
+ // -------------------------------------------------------------------------
212
+ describe('update()', () => {
213
+ it('should enqueue a trace-create event (upsert pattern)', () => {
214
+ const { trace, events } = createTraceWithCollector('trace-upd');
215
+ trace.update({ output: 'final result', tags: ['done'] });
216
+ expect(events).toHaveLength(1);
217
+ expect(events[0].type).toBe(IngestionEventType.TRACE_CREATE);
218
+ expect(events[0].body.id).toBe('trace-upd');
219
+ expect(events[0].body.output).toBe('final result');
220
+ expect(events[0].body.tags).toEqual(['done']);
221
+ });
222
+ it('should return this for chaining', () => {
223
+ const { trace } = createTraceWithCollector();
224
+ const result = trace.update({ name: 'updated' });
225
+ expect(result).toBe(trace);
226
+ });
227
+ it('should support multiple updates', () => {
228
+ const { trace, events } = createTraceWithCollector('trace-multi');
229
+ trace.update({ name: 'step-1' });
230
+ trace.update({ output: 'step-2' });
231
+ expect(events).toHaveLength(2);
232
+ expect(events[0].body.name).toBe('step-1');
233
+ expect(events[1].body.output).toBe('step-2');
234
+ // Both reference the same trace ID
235
+ expect(events[0].body.id).toBe('trace-multi');
236
+ expect(events[1].body.id).toBe('trace-multi');
237
+ });
238
+ });
239
+ // -------------------------------------------------------------------------
240
+ // All children include correct traceId
241
+ // -------------------------------------------------------------------------
242
+ describe('traceId propagation', () => {
243
+ it('should set traceId on all child observation types', () => {
244
+ const { trace, events } = createTraceWithCollector('trace-propagate');
245
+ trace.span({ name: 'span' });
246
+ trace.generation({ name: 'gen' });
247
+ trace.event({ name: 'evt' });
248
+ trace.agent({ name: 'agent' });
249
+ trace.tool({ name: 'tool' });
250
+ trace.chain({ name: 'chain' });
251
+ trace.retriever({ name: 'retriever' });
252
+ trace.guardrail({ name: 'guardrail' });
253
+ expect(events).toHaveLength(8);
254
+ for (const event of events) {
255
+ expect(event.body.traceId).toBe('trace-propagate');
256
+ }
257
+ });
258
+ });
259
+ });
260
+ //# sourceMappingURL=trace-client.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace-client.test.js","sourceRoot":"","sources":["../../src/__tests__/trace-client.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Unit tests for the observability type system.
3
+ *
4
+ * Validates enum values, ingestion event type constants, and structural
5
+ * compatibility of all parameter interfaces (TraceParams, GenerationParams,
6
+ * SpanParams, ScoreParams, ErrorInfo, etc.).
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=types.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/types.test.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}