lightrace 0.1.2 → 0.1.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.
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Extends `BaseCallbackHandler` from `@langchain/core` to automatically
5
5
  * capture chains, LLM calls, tool invocations, and retriever operations
6
- * as Lightrace trace observations.
6
+ * as Lightrace trace observations via OpenTelemetry spans.
7
7
  *
8
8
  * @example
9
9
  * ```ts
@@ -16,6 +16,7 @@
16
16
  */
17
17
  import { BaseCallbackHandler } from "@langchain/core/callbacks/base";
18
18
  import { generateId, jsonSerializable } from "../utils.js";
19
+ import * as attrs from "../otel-exporter.js";
19
20
  import { Lightrace } from "../client.js";
20
21
  export class LightraceCallbackHandler extends BaseCallbackHandler {
21
22
  name = "lightrace";
@@ -30,8 +31,10 @@ export class LightraceCallbackHandler extends BaseCallbackHandler {
30
31
  sessionId;
31
32
  traceName;
32
33
  rootMetadata;
33
- // Exporter
34
- exporter = null;
34
+ // OTel exporter
35
+ otelExporter = null;
36
+ /** Root span for the current trace. */
37
+ rootSpan = null;
35
38
  /** The trace ID from the most recently completed root run. */
36
39
  lastTraceId = null;
37
40
  constructor(opts) {
@@ -41,15 +44,12 @@ export class LightraceCallbackHandler extends BaseCallbackHandler {
41
44
  this.traceName = opts?.traceName;
42
45
  this.rootMetadata = opts?.metadata;
43
46
  const client = opts?.client ?? Lightrace.getInstance();
44
- this.exporter = client?.getExporter() ?? null;
47
+ this.otelExporter = client?.getOtelExporter() ?? null;
45
48
  }
46
- // ── helpers ──────────────────────────────────────────────────────────
49
+ // -- helpers ----------------------------------------------------------------
47
50
  getParentObservationId(observationId) {
48
51
  return this.runParents.get(observationId) ?? null;
49
52
  }
50
- emit(event) {
51
- this.exporter?.enqueue(event);
52
- }
53
53
  /**
54
54
  * Normalize IO data by converting BaseMessage-like objects to plain
55
55
  * {role, content, tool_calls?} objects. Recurses into arrays and plain objects.
@@ -80,14 +80,7 @@ export class LightraceCallbackHandler extends BaseCallbackHandler {
80
80
  }
81
81
  return data;
82
82
  }
83
- emitObservation(run, endTime, output, level, statusMessage, extra) {
84
- const eventTypeMap = {
85
- span: "span-create",
86
- generation: "generation-create",
87
- event: "event-create",
88
- tool: "tool-create",
89
- chain: "chain-create",
90
- };
83
+ endObservationSpan(run, output, level, statusMessage, extra) {
91
84
  const obsTypeMap = {
92
85
  span: "SPAN",
93
86
  generation: "GENERATION",
@@ -95,31 +88,37 @@ export class LightraceCallbackHandler extends BaseCallbackHandler {
95
88
  tool: "TOOL",
96
89
  chain: "CHAIN",
97
90
  };
98
- const body = {
99
- id: run.observationId,
100
- traceId: this._traceId,
101
- type: obsTypeMap[run.type] ?? run.type,
102
- name: run.name,
103
- startTime: run.startTime.toISOString(),
104
- endTime: endTime.toISOString(),
105
- input: jsonSerializable(run.input),
106
- output: jsonSerializable(output),
107
- metadata: run.metadata ?? null,
108
- model: run.model ?? null,
109
- level,
110
- statusMessage,
111
- parentObservationId: this.getParentObservationId(run.observationId) ?? null,
112
- ...extra,
113
- };
91
+ const span = run.span;
92
+ span.setAttribute(attrs.OBSERVATION_TYPE, obsTypeMap[run.type] ?? run.type);
93
+ span.setAttribute(attrs.OBSERVATION_INPUT, attrs.safeJson(jsonSerializable(run.input)));
94
+ span.setAttribute(attrs.OBSERVATION_OUTPUT, attrs.safeJson(jsonSerializable(output)));
95
+ span.setAttribute(attrs.OBSERVATION_LEVEL, level);
96
+ if (run.metadata) {
97
+ span.setAttribute(attrs.OBSERVATION_METADATA, attrs.safeJson(run.metadata));
98
+ }
99
+ if (run.model) {
100
+ span.setAttribute(attrs.OBSERVATION_MODEL, run.model);
101
+ }
102
+ if (statusMessage) {
103
+ span.setAttribute(attrs.OBSERVATION_STATUS_MESSAGE, statusMessage);
104
+ }
114
105
  if (run.modelParameters && Object.keys(run.modelParameters).length > 0) {
115
- body.modelParameters = run.modelParameters;
116
- }
117
- this.emit({
118
- id: generateId(),
119
- type: eventTypeMap[run.type] ?? "span-create",
120
- timestamp: run.startTime.toISOString(),
121
- body,
122
- });
106
+ span.setAttribute(attrs.OBSERVATION_MODEL_PARAMETERS, attrs.safeJson(run.modelParameters));
107
+ }
108
+ if (extra) {
109
+ // Usage details from extra (promptTokens, completionTokens, totalTokens)
110
+ const usageDetails = {};
111
+ if (extra.promptTokens !== undefined)
112
+ usageDetails.promptTokens = extra.promptTokens;
113
+ if (extra.completionTokens !== undefined)
114
+ usageDetails.completionTokens = extra.completionTokens;
115
+ if (extra.totalTokens !== undefined)
116
+ usageDetails.totalTokens = extra.totalTokens;
117
+ if (Object.keys(usageDetails).length > 0) {
118
+ span.setAttribute(attrs.OBSERVATION_USAGE_DETAILS, attrs.safeJson(usageDetails));
119
+ }
120
+ }
121
+ span.end();
123
122
  }
124
123
  extractModelName(serialized) {
125
124
  if (!serialized)
@@ -152,28 +151,53 @@ export class LightraceCallbackHandler extends BaseCallbackHandler {
152
151
  return name.includes("agent") || sName.includes("agent");
153
152
  }
154
153
  registerRun(runId, parentRunId, info) {
154
+ const tracer = this.otelExporter?.tracer;
155
155
  const isRoot = !this.rootRunId;
156
156
  if (isRoot) {
157
157
  this.rootRunId = runId;
158
158
  this._traceId = generateId();
159
- // Emit root trace-create event
160
- this.emit({
161
- id: generateId(),
162
- type: "trace-create",
163
- timestamp: info.startTime.toISOString(),
164
- body: {
165
- id: this._traceId,
166
- name: this.traceName ?? info.name,
167
- timestamp: info.startTime.toISOString(),
168
- userId: this.userId,
169
- sessionId: this.sessionId,
170
- metadata: this.rootMetadata ?? null,
171
- input: jsonSerializable(info.input),
172
- },
173
- });
159
+ // Create root span representing the trace
160
+ if (tracer) {
161
+ this.rootSpan = tracer.startSpan(this.traceName ?? info.name, {
162
+ startTime: info.startTime,
163
+ });
164
+ this.rootSpan.setAttribute(attrs.AS_ROOT, "true");
165
+ this.rootSpan.setAttribute(attrs.TRACE_NAME, this.traceName ?? info.name);
166
+ this.rootSpan.setAttribute(attrs.TRACE_INPUT, attrs.safeJson(jsonSerializable(info.input)));
167
+ if (this.userId)
168
+ this.rootSpan.setAttribute(attrs.TRACE_USER_ID, this.userId);
169
+ if (this.sessionId)
170
+ this.rootSpan.setAttribute(attrs.TRACE_SESSION_ID, this.sessionId);
171
+ if (this.rootMetadata) {
172
+ this.rootSpan.setAttribute(attrs.TRACE_METADATA, attrs.safeJson(this.rootMetadata));
173
+ }
174
+ }
174
175
  }
175
176
  const observationId = generateId();
176
- const runInfo = { ...info, observationId, parentRunId };
177
+ // Create an OTel span for this observation
178
+ let span;
179
+ if (tracer) {
180
+ span = tracer.startSpan(info.name, { startTime: info.startTime });
181
+ }
182
+ else {
183
+ // Dummy span if no tracer -- will be a no-op
184
+ span = {
185
+ setAttribute: () => span,
186
+ setAttributes: () => span,
187
+ addEvent: () => span,
188
+ setStatus: () => span,
189
+ end: () => { },
190
+ isRecording: () => false,
191
+ recordException: () => { },
192
+ spanContext: () => ({
193
+ traceId: "",
194
+ spanId: "",
195
+ traceFlags: 0,
196
+ }),
197
+ updateName: () => span,
198
+ };
199
+ }
200
+ const runInfo = { ...info, observationId, parentRunId, span };
177
201
  this.runs.set(runId, runInfo);
178
202
  this.runParents.set(observationId, parentRunId ? this.runs.get(parentRunId)?.observationId : undefined);
179
203
  return runInfo;
@@ -182,25 +206,14 @@ export class LightraceCallbackHandler extends BaseCallbackHandler {
182
206
  const run = this.runs.get(runId);
183
207
  if (!run)
184
208
  return;
185
- const endTime = new Date();
186
- this.emitObservation(run, endTime, output, level, statusMessage, extra);
187
- // If this is the root run completing, update the trace and reset
209
+ this.endObservationSpan(run, output, level, statusMessage, extra);
210
+ // If this is the root run completing, end the root span and reset
188
211
  if (runId === this.rootRunId) {
189
- // Emit trace-create with output (update)
190
- this.emit({
191
- id: generateId(),
192
- type: "trace-create",
193
- timestamp: run.startTime.toISOString(),
194
- body: {
195
- id: this._traceId,
196
- name: this.traceName ?? run.name,
197
- timestamp: run.startTime.toISOString(),
198
- output: jsonSerializable(output),
199
- userId: this.userId,
200
- sessionId: this.sessionId,
201
- metadata: this.rootMetadata ?? null,
202
- },
203
- });
212
+ if (this.rootSpan) {
213
+ this.rootSpan.setAttribute(attrs.TRACE_OUTPUT, attrs.safeJson(jsonSerializable(output)));
214
+ this.rootSpan.end();
215
+ this.rootSpan = null;
216
+ }
204
217
  this.lastTraceId = this._traceId;
205
218
  this.rootRunId = null;
206
219
  this._traceId = null;
@@ -212,7 +225,7 @@ export class LightraceCallbackHandler extends BaseCallbackHandler {
212
225
  this.runs.delete(runId);
213
226
  }
214
227
  }
215
- // ── Chain callbacks ──────────────────────────────────────────────────
228
+ // -- Chain callbacks --------------------------------------------------------
216
229
  async handleChainStart(chain, inputs, runId, parentRunId, tags, metadata, _runType, name) {
217
230
  try {
218
231
  const resolvedName = name ??
@@ -254,7 +267,7 @@ export class LightraceCallbackHandler extends BaseCallbackHandler {
254
267
  console.warn("[lightrace] Error in handleChainError:", e);
255
268
  }
256
269
  }
257
- // ── LLM callbacks ───────────────────────────────────────────────────
270
+ // -- LLM callbacks ----------------------------------------------------------
258
271
  async handleLLMStart(llm, prompts, runId, parentRunId, extraParams, _tags, metadata, name) {
259
272
  try {
260
273
  const model = this.extractModelName(llm);
@@ -358,7 +371,7 @@ export class LightraceCallbackHandler extends BaseCallbackHandler {
358
371
  run.metadata = {};
359
372
  run.metadata.timeToFirstToken = ttft;
360
373
  }
361
- // Extract output handle ChatGeneration (has .message) vs Generation (only .text)
374
+ // Extract output -- handle ChatGeneration (has .message) vs Generation (only .text)
362
375
  let outputData;
363
376
  const generations = output?.generations;
364
377
  if (generations && generations.length > 0) {
@@ -426,7 +439,7 @@ export class LightraceCallbackHandler extends BaseCallbackHandler {
426
439
  console.warn("[lightrace] Error in handleLLMError:", e);
427
440
  }
428
441
  }
429
- // ── Tool callbacks ──────────────────────────────────────────────────
442
+ // -- Tool callbacks ---------------------------------------------------------
430
443
  async handleToolStart(tool, input, runId, parentRunId, _tags, metadata, name) {
431
444
  try {
432
445
  const resolvedName = name ??
@@ -481,7 +494,7 @@ export class LightraceCallbackHandler extends BaseCallbackHandler {
481
494
  console.warn("[lightrace] Error in handleToolError:", e);
482
495
  }
483
496
  }
484
- // ── Retriever callbacks ─────────────────────────────────────────────
497
+ // -- Retriever callbacks ----------------------------------------------------
485
498
  async handleRetrieverStart(retriever, query, runId, parentRunId, _tags, metadata) {
486
499
  try {
487
500
  const name = retriever?.name ??
@@ -519,7 +532,7 @@ export class LightraceCallbackHandler extends BaseCallbackHandler {
519
532
  console.warn("[lightrace] Error in handleRetrieverError:", e);
520
533
  }
521
534
  }
522
- // ── Accessors ───────────────────────────────────────────────────────
535
+ // -- Accessors --------------------------------------------------------------
523
536
  /** Get the current active trace ID (null if no run is active). */
524
537
  get traceId() {
525
538
  return this._traceId;
@@ -1 +1 @@
1
- {"version":3,"file":"langchain.js","sourceRoot":"","sources":["../../src/integrations/langchain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"langchain.js","sourceRoot":"","sources":["../../src/integrations/langchain.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,15 @@
1
1
  /**
2
2
  * Imperative Observation handle for span / generation / event.
3
+ *
4
+ * Uses OpenTelemetry spans for export instead of the legacy BatchExporter.
3
5
  */
4
6
  import type { UsageDetails } from "./types.js";
5
- import type { BatchExporter } from "./exporter.js";
7
+ import type { LightraceOtelExporter } from "./otel-exporter.js";
6
8
  export interface ObservationOptions {
7
9
  traceId: string;
8
10
  type: "span" | "generation" | "event";
9
11
  name: string;
10
- exporter: BatchExporter | null;
12
+ otelExporter: LightraceOtelExporter | null;
11
13
  startTime?: Date;
12
14
  parentObservationId?: string;
13
15
  input?: unknown;
@@ -20,7 +22,7 @@ export declare class Observation {
20
22
  readonly traceId: string;
21
23
  readonly type: "span" | "generation" | "event";
22
24
  readonly name: string;
23
- private readonly exporter;
25
+ private readonly otelExporter;
24
26
  private readonly startTime;
25
27
  private readonly parentObservationId;
26
28
  private input;
@@ -43,7 +45,7 @@ export declare class Observation {
43
45
  statusMessage?: string;
44
46
  }): this;
45
47
  /**
46
- * End the observation and emit the trace event.
48
+ * End the observation and emit it as an OTel span.
47
49
  */
48
50
  end(): void;
49
51
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"observation.d.ts","sourceRoot":"","sources":["../src/observation.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAc,YAAY,EAAE,MAAM,YAAY,CAAC;AAG3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED,qBAAa,WAAW;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO,CAAC;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAO;IACjC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IAEzD,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,QAAQ,CAAsC;IACtD,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,KAAK,CAAS;gBAEV,IAAI,EAAE,kBAAkB;IAcpC;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE;QACb,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,KAAK,CAAC,EAAE,YAAY,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GAAG,IAAI;IAWR;;OAEG;IACH,GAAG,IAAI,IAAI;IAyCX;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,WAAW;CAW/F"}
1
+ {"version":3,"file":"observation.d.ts","sourceRoot":"","sources":["../src/observation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAGhE,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC3C,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED,qBAAa,WAAW;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO,CAAC;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA+B;IAC5D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAO;IACjC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IAEzD,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,QAAQ,CAAsC;IACtD,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,KAAK,CAAS;gBAEV,IAAI,EAAE,kBAAkB;IAcpC;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE;QACb,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,KAAK,CAAC,EAAE,YAAY,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GAAG,IAAI;IAWR;;OAEG;IACH,GAAG,IAAI,IAAI;IAgCX;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,WAAW;CAW/F"}
@@ -1,11 +1,12 @@
1
- import { EVENT_TYPE_MAP, OBSERVATION_TYPE_ENUM } from "./types.js";
1
+ import { OBSERVATION_TYPE_ENUM } from "./types.js";
2
2
  import { generateId, jsonSerializable } from "./utils.js";
3
+ import * as attrs from "./otel-exporter.js";
3
4
  export class Observation {
4
5
  id;
5
6
  traceId;
6
7
  type;
7
8
  name;
8
- exporter;
9
+ otelExporter;
9
10
  startTime;
10
11
  parentObservationId;
11
12
  input;
@@ -21,7 +22,7 @@ export class Observation {
21
22
  this.traceId = opts.traceId;
22
23
  this.type = opts.type;
23
24
  this.name = opts.name;
24
- this.exporter = opts.exporter;
25
+ this.otelExporter = opts.otelExporter;
25
26
  this.startTime = opts.startTime ?? new Date();
26
27
  this.parentObservationId = opts.parentObservationId;
27
28
  this.input = opts.input;
@@ -47,45 +48,35 @@ export class Observation {
47
48
  return this;
48
49
  }
49
50
  /**
50
- * End the observation and emit the trace event.
51
+ * End the observation and emit it as an OTel span.
51
52
  */
52
53
  end() {
53
54
  if (this.ended)
54
55
  return;
55
56
  this.ended = true;
56
- const endTime = new Date();
57
- const createType = EVENT_TYPE_MAP[this.type]?.[0] ?? "span-create";
58
- const body = {
59
- id: this.id,
60
- traceId: this.traceId,
61
- type: OBSERVATION_TYPE_ENUM[this.type] ?? this.type,
62
- name: this.name,
63
- startTime: this.startTime.toISOString(),
64
- endTime: endTime.toISOString(),
65
- input: jsonSerializable(this.input),
66
- output: jsonSerializable(this.output),
67
- metadata: this.metadata ?? null,
68
- model: this.model ?? null,
69
- level: this.level,
70
- statusMessage: this.statusMessage ?? null,
71
- parentObservationId: this.parentObservationId ?? null,
72
- };
73
- // Add usage fields for generations
57
+ const tracer = this.otelExporter?.tracer;
58
+ if (!tracer)
59
+ return;
60
+ // Create a span with the start time
61
+ const span = tracer.startSpan(this.name, { startTime: this.startTime });
62
+ // Set observation attributes
63
+ span.setAttribute(attrs.OBSERVATION_TYPE, OBSERVATION_TYPE_ENUM[this.type] ?? this.type);
64
+ span.setAttribute(attrs.OBSERVATION_INPUT, attrs.safeJson(jsonSerializable(this.input)));
65
+ span.setAttribute(attrs.OBSERVATION_OUTPUT, attrs.safeJson(jsonSerializable(this.output)));
66
+ span.setAttribute(attrs.OBSERVATION_LEVEL, this.level);
67
+ if (this.metadata) {
68
+ span.setAttribute(attrs.OBSERVATION_METADATA, attrs.safeJson(this.metadata));
69
+ }
70
+ if (this.model) {
71
+ span.setAttribute(attrs.OBSERVATION_MODEL, this.model);
72
+ }
73
+ if (this.statusMessage) {
74
+ span.setAttribute(attrs.OBSERVATION_STATUS_MESSAGE, this.statusMessage);
75
+ }
74
76
  if (this.usage) {
75
- if (this.usage.promptTokens !== undefined)
76
- body.promptTokens = this.usage.promptTokens;
77
- if (this.usage.completionTokens !== undefined)
78
- body.completionTokens = this.usage.completionTokens;
79
- if (this.usage.totalTokens !== undefined)
80
- body.totalTokens = this.usage.totalTokens;
77
+ span.setAttribute(attrs.OBSERVATION_USAGE_DETAILS, attrs.safeJson(this.usage));
81
78
  }
82
- const event = {
83
- id: generateId(),
84
- type: createType,
85
- timestamp: this.startTime.toISOString(),
86
- body,
87
- };
88
- this.exporter?.enqueue(event);
79
+ span.end();
89
80
  }
90
81
  /**
91
82
  * Create a child span under this observation.
@@ -95,7 +86,7 @@ export class Observation {
95
86
  traceId: this.traceId,
96
87
  type: "span",
97
88
  name: opts.name,
98
- exporter: this.exporter,
89
+ otelExporter: this.otelExporter,
99
90
  input: opts.input,
100
91
  metadata: opts.metadata,
101
92
  parentObservationId: this.id,
@@ -1 +1 @@
1
- {"version":3,"file":"observation.js","sourceRoot":"","sources":["../src/observation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observation.js","sourceRoot":"","sources":["../src/observation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { type Tracer } from "@opentelemetry/api";
2
+ export declare const TRACE_NAME = "lightrace.trace.name";
3
+ export declare const TRACE_USER_ID = "lightrace.trace.user_id";
4
+ export declare const TRACE_SESSION_ID = "lightrace.trace.session_id";
5
+ export declare const TRACE_TAGS = "lightrace.trace.tags";
6
+ export declare const TRACE_PUBLIC = "lightrace.trace.public";
7
+ export declare const TRACE_METADATA = "lightrace.trace.metadata";
8
+ export declare const TRACE_INPUT = "lightrace.trace.input";
9
+ export declare const TRACE_OUTPUT = "lightrace.trace.output";
10
+ export declare const OBSERVATION_TYPE = "lightrace.observation.type";
11
+ export declare const OBSERVATION_METADATA = "lightrace.observation.metadata";
12
+ export declare const OBSERVATION_LEVEL = "lightrace.observation.level";
13
+ export declare const OBSERVATION_STATUS_MESSAGE = "lightrace.observation.status_message";
14
+ export declare const OBSERVATION_INPUT = "lightrace.observation.input";
15
+ export declare const OBSERVATION_OUTPUT = "lightrace.observation.output";
16
+ export declare const OBSERVATION_COMPLETION_START_TIME = "lightrace.observation.completion_start_time";
17
+ export declare const OBSERVATION_MODEL = "lightrace.observation.model";
18
+ export declare const OBSERVATION_MODEL_PARAMETERS = "lightrace.observation.model_parameters";
19
+ export declare const OBSERVATION_USAGE_DETAILS = "lightrace.observation.usage_details";
20
+ export declare const OBSERVATION_COST_DETAILS = "lightrace.observation.cost_details";
21
+ export declare const RELEASE = "lightrace.release";
22
+ export declare const VERSION = "lightrace.version";
23
+ export declare const AS_ROOT = "lightrace.internal.as_root";
24
+ export declare function safeJson(value: unknown): string;
25
+ export declare class LightraceOtelExporter {
26
+ private provider;
27
+ private _tracer;
28
+ constructor(options: {
29
+ host: string;
30
+ publicKey: string;
31
+ secretKey: string;
32
+ flushIntervalMs?: number;
33
+ maxExportBatchSize?: number;
34
+ });
35
+ get tracer(): Tracer;
36
+ flush(): void;
37
+ shutdown(): Promise<void>;
38
+ }
39
+ //# sourceMappingURL=otel-exporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otel-exporter.d.ts","sourceRoot":"","sources":["../src/otel-exporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAKrE,eAAO,MAAM,UAAU,yBAAyB,CAAC;AACjD,eAAO,MAAM,aAAa,4BAA4B,CAAC;AACvD,eAAO,MAAM,gBAAgB,+BAA+B,CAAC;AAC7D,eAAO,MAAM,UAAU,yBAAyB,CAAC;AACjD,eAAO,MAAM,YAAY,2BAA2B,CAAC;AACrD,eAAO,MAAM,cAAc,6BAA6B,CAAC;AACzD,eAAO,MAAM,WAAW,0BAA0B,CAAC;AACnD,eAAO,MAAM,YAAY,2BAA2B,CAAC;AAGrD,eAAO,MAAM,gBAAgB,+BAA+B,CAAC;AAC7D,eAAO,MAAM,oBAAoB,mCAAmC,CAAC;AACrE,eAAO,MAAM,iBAAiB,gCAAgC,CAAC;AAC/D,eAAO,MAAM,0BAA0B,yCAAyC,CAAC;AACjF,eAAO,MAAM,iBAAiB,gCAAgC,CAAC;AAC/D,eAAO,MAAM,kBAAkB,iCAAiC,CAAC;AAEjE,eAAO,MAAM,iCAAiC,gDAAgD,CAAC;AAC/F,eAAO,MAAM,iBAAiB,gCAAgC,CAAC;AAC/D,eAAO,MAAM,4BAA4B,2CAA2C,CAAC;AACrF,eAAO,MAAM,yBAAyB,wCAAwC,CAAC;AAC/E,eAAO,MAAM,wBAAwB,uCAAuC,CAAC;AAG7E,eAAO,MAAM,OAAO,sBAAsB,CAAC;AAC3C,eAAO,MAAM,OAAO,sBAAsB,CAAC;AAC3C,eAAO,MAAM,OAAO,+BAA+B,CAAC;AAEpD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQ/C;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B;IAqBD,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,KAAK,IAAI,IAAI;IAIP,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGhC"}