@uselemma/tracing 7.8.1 → 7.10.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.
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Token usage for a generation span (TypeScript DX — camelCase).
3
+ *
4
+ * Wire format uses snake_case (`input_tokens`, …). Omit fields the provider
5
+ * did not supply; never invent zeros. Explicit zeros are emitted so Analytics
6
+ * can distinguish healthy zero from missing instrumentation.
7
+ */
8
+ export type TokenUsage = {
9
+ inputTokens?: number;
10
+ outputTokens?: number;
11
+ cacheReadInputTokens?: number;
12
+ cacheCreationInputTokens?: number;
13
+ reasoningOutputTokens?: number;
14
+ };
15
+ /** Ingest JSON top-level `usage` object (snake_case). */
16
+ export type WireTokenUsage = {
17
+ input_tokens?: number;
18
+ output_tokens?: number;
19
+ cache_read_input_tokens?: number;
20
+ cache_creation_input_tokens?: number;
21
+ reasoning_output_tokens?: number;
22
+ };
23
+ /**
24
+ * Normalize provider-specific usage shapes into TokenUsage.
25
+ *
26
+ * Accepts camelCase / snake_case / prompt+completion aliases, OpenAI nested
27
+ * details, Anthropic cache fields, Vercel AI SDK, LangChain tokenUsage /
28
+ * usage_metadata, and Mastra when input/output are distinguishable.
29
+ *
30
+ * `totalTokens` alone is not enough — do not invent an input/output split.
31
+ * Returns undefined when nothing usable is present.
32
+ */
33
+ export declare function normalizeTokenUsage(raw: unknown): TokenUsage | undefined;
34
+ /** Operation result shapes that may carry token usage after a framework event. */
35
+ export type OperationUsageResult = {
36
+ usage?: unknown;
37
+ totalUsage?: unknown;
38
+ steps?: ReadonlyArray<{
39
+ usage?: unknown;
40
+ }>;
41
+ usage_metadata?: unknown;
42
+ response_metadata?: unknown;
43
+ rawResponses?: ReadonlyArray<{
44
+ usage?: unknown;
45
+ }>;
46
+ };
47
+ /**
48
+ * Copy operation-result usage onto existing generation spans.
49
+ *
50
+ * One generation → `totalUsage` / `usage` so a multi-step call is not
51
+ * undercounted. Several generations → per-step (or `rawResponses`) usage in
52
+ * order. Never write the same total onto every span.
53
+ *
54
+ * Spans that already have usage are left alone. Returns the number of spans
55
+ * that received usage.
56
+ */
57
+ export declare function attachResultUsage(generations: Array<{
58
+ usage?: WireTokenUsage;
59
+ attributes?: Record<string, unknown>;
60
+ }>, result: unknown): number;
61
+ /** Convert TokenUsage to the ingest wire object. Omits undefined fields. */
62
+ export declare function toWireTokenUsage(usage: TokenUsage | undefined): WireTokenUsage | undefined;
63
+ /** Flatten TokenUsage into GenAI + OpenInference attribute keys. */
64
+ export declare function tokenUsageAttributes(usage: TokenUsage | undefined): Record<string, number>;
65
+ //# sourceMappingURL=usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,yDAAyD;AACzD,MAAM,MAAM,cAAc,GAAG;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC,CAAC;AAyBF;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAiIxE;AAED,kFAAkF;AAClF,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,aAAa,CAAC;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC3C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,aAAa,CAAC;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACnD,CAAC;AAsDF;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,KAAK,CAAC;IACjB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC,CAAC,EACF,MAAM,EAAE,OAAO,GACd,MAAM,CAoBR;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,UAAU,GAAG,SAAS,GAC5B,cAAc,GAAG,SAAS,CAe5B;AAED,oEAAoE;AACpE,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,UAAU,GAAG,SAAS,GAC5B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwBxB"}
package/dist/usage.js ADDED
@@ -0,0 +1,272 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeTokenUsage = normalizeTokenUsage;
4
+ exports.attachResultUsage = attachResultUsage;
5
+ exports.toWireTokenUsage = toWireTokenUsage;
6
+ exports.tokenUsageAttributes = tokenUsageAttributes;
7
+ function asFiniteNumber(value) {
8
+ if (typeof value !== "number" || !Number.isFinite(value))
9
+ return undefined;
10
+ return value;
11
+ }
12
+ function pickNumber(source, keys) {
13
+ for (const key of keys) {
14
+ const value = asFiniteNumber(source[key]);
15
+ if (value !== undefined)
16
+ return value;
17
+ }
18
+ return undefined;
19
+ }
20
+ function asRecord(value) {
21
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
22
+ return undefined;
23
+ }
24
+ return value;
25
+ }
26
+ /**
27
+ * Normalize provider-specific usage shapes into TokenUsage.
28
+ *
29
+ * Accepts camelCase / snake_case / prompt+completion aliases, OpenAI nested
30
+ * details, Anthropic cache fields, Vercel AI SDK, LangChain tokenUsage /
31
+ * usage_metadata, and Mastra when input/output are distinguishable.
32
+ *
33
+ * `totalTokens` alone is not enough — do not invent an input/output split.
34
+ * Returns undefined when nothing usable is present.
35
+ */
36
+ function normalizeTokenUsage(raw) {
37
+ if (raw == null)
38
+ return undefined;
39
+ let source = asRecord(raw);
40
+ if (!source)
41
+ return undefined;
42
+ // LangChain / wrappers sometimes nest under tokenUsage / usage_metadata / usage.
43
+ const nested = asRecord(source.tokenUsage) ??
44
+ asRecord(source.token_usage) ??
45
+ asRecord(source.usage_metadata) ??
46
+ asRecord(source.usage);
47
+ // Prefer nested when the outer object only wraps it (no top-level token fields).
48
+ if (nested) {
49
+ const outerHasTokens = pickNumber(source, [
50
+ "inputTokens",
51
+ "input_tokens",
52
+ "promptTokens",
53
+ "prompt_tokens",
54
+ "outputTokens",
55
+ "output_tokens",
56
+ "completionTokens",
57
+ "completion_tokens",
58
+ ]) !== undefined;
59
+ if (!outerHasTokens)
60
+ source = nested;
61
+ }
62
+ const inputTokens = pickNumber(source, [
63
+ "inputTokens",
64
+ "input_tokens",
65
+ "promptTokens",
66
+ "prompt_tokens",
67
+ ]);
68
+ const outputTokens = pickNumber(source, [
69
+ "outputTokens",
70
+ "output_tokens",
71
+ "completionTokens",
72
+ "completion_tokens",
73
+ ]);
74
+ // Nested detail containers across providers / SDKs:
75
+ // - Chat Completions: prompt_tokens_details / completion_tokens_details
76
+ // - Responses / OpenAI Agents: input_tokens_details / output_tokens_details
77
+ // - AI SDK 7: inputTokenDetails / outputTokenDetails
78
+ const promptDetails = asRecord(source.prompt_tokens_details) ??
79
+ asRecord(source.promptTokensDetails) ??
80
+ asRecord(source.input_tokens_details) ??
81
+ asRecord(source.inputTokensDetails) ??
82
+ asRecord(source.input_token_details) ??
83
+ asRecord(source.inputTokenDetails);
84
+ const completionDetails = asRecord(source.completion_tokens_details) ??
85
+ asRecord(source.completionTokensDetails) ??
86
+ asRecord(source.output_tokens_details) ??
87
+ asRecord(source.outputTokensDetails) ??
88
+ asRecord(source.output_token_details) ??
89
+ asRecord(source.outputTokenDetails);
90
+ let cacheReadInputTokens = pickNumber(source, [
91
+ "cacheReadInputTokens",
92
+ "cache_read_input_tokens",
93
+ "cachedInputTokens",
94
+ "cached_input_tokens",
95
+ "cache_read",
96
+ ]);
97
+ if (cacheReadInputTokens === undefined && promptDetails) {
98
+ cacheReadInputTokens = pickNumber(promptDetails, [
99
+ "cached_tokens",
100
+ "cachedTokens",
101
+ "cache_read",
102
+ "cacheRead",
103
+ // AI SDK 7 LanguageModelUsage.inputTokenDetails
104
+ "cacheReadTokens",
105
+ "cache_read_tokens",
106
+ ]);
107
+ }
108
+ let cacheCreationInputTokens = pickNumber(source, [
109
+ "cacheCreationInputTokens",
110
+ "cache_creation_input_tokens",
111
+ "cache_creation",
112
+ "cacheWriteTokens",
113
+ "cache_write_tokens",
114
+ ]);
115
+ if (cacheCreationInputTokens === undefined && promptDetails) {
116
+ cacheCreationInputTokens = pickNumber(promptDetails, [
117
+ "cache_creation",
118
+ "cacheCreation",
119
+ "cache_write",
120
+ "cacheWrite",
121
+ // OpenAI Responses / Agents + AI SDK 7
122
+ "cache_write_tokens",
123
+ "cacheWriteTokens",
124
+ ]);
125
+ }
126
+ let reasoningOutputTokens = pickNumber(source, [
127
+ "reasoningOutputTokens",
128
+ "reasoning_output_tokens",
129
+ "reasoningTokens",
130
+ "reasoning_tokens",
131
+ ]);
132
+ if (reasoningOutputTokens === undefined && completionDetails) {
133
+ reasoningOutputTokens = pickNumber(completionDetails, [
134
+ "reasoning_tokens",
135
+ "reasoningTokens",
136
+ "reasoning",
137
+ ]);
138
+ }
139
+ const usage = {};
140
+ if (inputTokens !== undefined)
141
+ usage.inputTokens = inputTokens;
142
+ if (outputTokens !== undefined)
143
+ usage.outputTokens = outputTokens;
144
+ if (cacheReadInputTokens !== undefined) {
145
+ usage.cacheReadInputTokens = cacheReadInputTokens;
146
+ }
147
+ if (cacheCreationInputTokens !== undefined) {
148
+ usage.cacheCreationInputTokens = cacheCreationInputTokens;
149
+ }
150
+ if (reasoningOutputTokens !== undefined) {
151
+ usage.reasoningOutputTokens = reasoningOutputTokens;
152
+ }
153
+ // totalTokens alone is not enough to populate input/output — omit rather
154
+ // than invent a split (e.g. Mastra `{ totalTokens }` only).
155
+ if (Object.keys(usage).length === 0)
156
+ return undefined;
157
+ return usage;
158
+ }
159
+ function asUsageResult(raw) {
160
+ return asRecord(raw);
161
+ }
162
+ function resultStepUsages(result) {
163
+ if (Array.isArray(result.steps)) {
164
+ return result.steps.map((step) => normalizeTokenUsage(step?.usage));
165
+ }
166
+ if (Array.isArray(result.rawResponses)) {
167
+ return result.rawResponses.map((response) => normalizeTokenUsage(response?.usage));
168
+ }
169
+ return [];
170
+ }
171
+ function resultTotalUsage(result) {
172
+ return (normalizeTokenUsage(result.totalUsage) ??
173
+ normalizeTokenUsage(result.usage) ??
174
+ normalizeTokenUsage(result.usage_metadata) ??
175
+ normalizeTokenUsage(result.response_metadata) ??
176
+ normalizeTokenUsage(result));
177
+ }
178
+ function spanHasUsage(span) {
179
+ return span.usage != null && Object.keys(span.usage).length > 0;
180
+ }
181
+ function stampSpanUsage(span, usage) {
182
+ if (!usage || spanHasUsage(span))
183
+ return false;
184
+ const wire = toWireTokenUsage(usage);
185
+ if (!wire)
186
+ return false;
187
+ span.usage = wire;
188
+ span.attributes = {
189
+ ...span.attributes,
190
+ ...tokenUsageAttributes(usage),
191
+ };
192
+ return true;
193
+ }
194
+ /**
195
+ * Copy operation-result usage onto existing generation spans.
196
+ *
197
+ * One generation → `totalUsage` / `usage` so a multi-step call is not
198
+ * undercounted. Several generations → per-step (or `rawResponses`) usage in
199
+ * order. Never write the same total onto every span.
200
+ *
201
+ * Spans that already have usage are left alone. Returns the number of spans
202
+ * that received usage.
203
+ */
204
+ function attachResultUsage(generations, result) {
205
+ if (generations.length === 0)
206
+ return 0;
207
+ const parsed = asUsageResult(result);
208
+ if (!parsed)
209
+ return 0;
210
+ const steps = resultStepUsages(parsed);
211
+ const total = resultTotalUsage(parsed);
212
+ if (generations.length === 1) {
213
+ return stampSpanUsage(generations[0], total ?? steps[0]) ? 1 : 0;
214
+ }
215
+ let stamped = 0;
216
+ for (let i = 0; i < generations.length; i += 1) {
217
+ if (stampSpanUsage(generations[i], steps[i]))
218
+ stamped += 1;
219
+ }
220
+ if (stamped === 0 && total) {
221
+ return stampSpanUsage(generations[0], total) ? 1 : 0;
222
+ }
223
+ return stamped;
224
+ }
225
+ /** Convert TokenUsage to the ingest wire object. Omits undefined fields. */
226
+ function toWireTokenUsage(usage) {
227
+ if (!usage)
228
+ return undefined;
229
+ const wire = {};
230
+ if (usage.inputTokens !== undefined)
231
+ wire.input_tokens = usage.inputTokens;
232
+ if (usage.outputTokens !== undefined)
233
+ wire.output_tokens = usage.outputTokens;
234
+ if (usage.cacheReadInputTokens !== undefined) {
235
+ wire.cache_read_input_tokens = usage.cacheReadInputTokens;
236
+ }
237
+ if (usage.cacheCreationInputTokens !== undefined) {
238
+ wire.cache_creation_input_tokens = usage.cacheCreationInputTokens;
239
+ }
240
+ if (usage.reasoningOutputTokens !== undefined) {
241
+ wire.reasoning_output_tokens = usage.reasoningOutputTokens;
242
+ }
243
+ return Object.keys(wire).length > 0 ? wire : undefined;
244
+ }
245
+ /** Flatten TokenUsage into GenAI + OpenInference attribute keys. */
246
+ function tokenUsageAttributes(usage) {
247
+ if (!usage)
248
+ return {};
249
+ const attributes = {};
250
+ if (usage.inputTokens !== undefined) {
251
+ attributes["gen_ai.usage.input_tokens"] = usage.inputTokens;
252
+ attributes["llm.token_count.prompt"] = usage.inputTokens;
253
+ }
254
+ if (usage.outputTokens !== undefined) {
255
+ attributes["gen_ai.usage.output_tokens"] = usage.outputTokens;
256
+ attributes["llm.token_count.completion"] = usage.outputTokens;
257
+ }
258
+ if (usage.cacheReadInputTokens !== undefined) {
259
+ attributes["gen_ai.usage.cache_read.input_tokens"] =
260
+ usage.cacheReadInputTokens;
261
+ }
262
+ if (usage.cacheCreationInputTokens !== undefined) {
263
+ attributes["gen_ai.usage.cache_creation.input_tokens"] =
264
+ usage.cacheCreationInputTokens;
265
+ }
266
+ if (usage.reasoningOutputTokens !== undefined) {
267
+ attributes["gen_ai.usage.reasoning.output_tokens"] =
268
+ usage.reasoningOutputTokens;
269
+ }
270
+ return attributes;
271
+ }
272
+ //# sourceMappingURL=usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,11 @@ type VercelAIModelCallEndEvent = {
15
15
  performance: {
16
16
  responseTimeMs?: number;
17
17
  };
18
+ /**
19
+ * Token usage when the AI SDK / provider exposes it on the finish event.
20
+ * Not reliably present on all AI SDK versions today — extract when set.
21
+ */
22
+ usage?: unknown;
18
23
  };
19
24
  type VercelAIEndEvent = {
20
25
  text?: string;
@@ -22,6 +27,9 @@ type VercelAIEndEvent = {
22
27
  functionId?: string;
23
28
  metadata?: Record<string, unknown>;
24
29
  error?: unknown;
30
+ /** Optional usage when a future AI SDK finish payload includes it. */
31
+ usage?: unknown;
32
+ totalUsage?: unknown;
25
33
  };
26
34
  type VercelAIToolExecutionEndEvent = {
27
35
  callId?: string;
@@ -74,6 +82,9 @@ type VercelAIStepEndEvent = {
74
82
  input?: unknown;
75
83
  }>;
76
84
  error?: unknown;
85
+ /** Optional usage when present on step end. */
86
+ usage?: unknown;
87
+ totalUsage?: unknown;
77
88
  };
78
89
  type VercelAIV6ModelInfo = {
79
90
  provider: string;
@@ -95,6 +106,9 @@ type VercelAIV6StepFinishEvent = {
95
106
  functionId?: string;
96
107
  metadata?: Record<string, unknown>;
97
108
  error?: unknown;
109
+ /** Optional usage when present on step finish. */
110
+ usage?: unknown;
111
+ totalUsage?: unknown;
98
112
  };
99
113
  type VercelAIV6StartEvent = {
100
114
  model: VercelAIV6ModelInfo;
@@ -112,6 +126,12 @@ type VercelAIV6FinishEvent = {
112
126
  functionId?: string;
113
127
  metadata?: Record<string, unknown>;
114
128
  error?: unknown;
129
+ /**
130
+ * Token usage when the AI SDK finish payload includes it. Often omitted on
131
+ * AI SDK 6 `experimental_telemetry` even when `generateText` returns tokens.
132
+ */
133
+ usage?: unknown;
134
+ totalUsage?: unknown;
115
135
  };
116
136
  type VercelAIV6ToolCallFinishEvent = {
117
137
  toolCall: {
@@ -144,7 +164,12 @@ export type VercelAITelemetryIntegration = {
144
164
  onToolCallFinish?: (event: VercelAIV6ToolCallFinishEvent) => MaybePromise<void>;
145
165
  /** Mark the active run as failed and end the owned trace. */
146
166
  fail: (error: unknown) => Promise<void>;
147
- /** Await outstanding terminal deliveries. */
167
+ /**
168
+ * Optional. Copy token usage from a `generateText` / `streamText` result
169
+ * onto generation spans whose telemetry event omitted it.
170
+ */
171
+ recordResult: (result: unknown) => number;
172
+ /** Send the integration's completed traces and await ingest delivery. */
148
173
  flush: () => Promise<void>;
149
174
  /** Flush and reset integration state for short-lived runtimes. */
150
175
  shutdown: () => Promise<void>;
@@ -156,12 +181,11 @@ export type VercelAIIntegrationOptions = {
156
181
  projectId?: LemmaClientOptions["projectId"];
157
182
  baseUrl?: LemmaClientOptions["baseUrl"];
158
183
  fetch?: LemmaClientOptions["fetch"];
184
+ release?: LemmaClientOptions["release"];
159
185
  agentName?: string;
160
186
  generationName?: string | ((event: VercelAIModelCallEndEvent | VercelAIV6StepFinishEvent | VercelAIV6FinishEvent) => string);
161
187
  toolName?: string | ((event: VercelAIToolExecutionEndEvent | VercelAIV6ToolCallFinishEvent) => string);
162
188
  metadata?: Record<string, unknown>;
163
- recordInputs?: boolean;
164
- recordOutputs?: boolean;
165
189
  /** Key looked up on telemetry metadata for threadId. Default: `threadId`. */
166
190
  threadIdKey?: string;
167
191
  /** Key looked up on telemetry metadata for userId. Default: `userId`. */
@@ -1 +1 @@
1
- {"version":3,"file":"vercel-ai.d.ts","sourceRoot":"","sources":["../src/vercel-ai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vercel-ai.d.ts","sourceRoot":"","sources":["../src/vercel-ai.ts"],"names":[],"mappings":"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"}