@uselemma/tracing 4.0.1 → 4.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.
- package/README.md +104 -27
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/openai-agents.d.ts +45 -0
- package/dist/openai-agents.d.ts.map +1 -0
- package/dist/openai-agents.js +195 -0
- package/dist/openai-agents.js.map +1 -0
- package/dist/vercel-ai.d.ts +21 -1
- package/dist/vercel-ai.d.ts.map +1 -1
- package/dist/vercel-ai.js +137 -44
- package/dist/vercel-ai.js.map +1 -1
- package/examples/openai-agents.ts +13 -0
- package/examples/vercel-ai-v6.ts +4 -8
- package/examples/vercel-ai-v7.ts +4 -8
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @uselemma/tracing
|
|
2
2
|
|
|
3
|
-
HTTP tracing SDK for AI agents. No OpenTelemetry setup is required: the SDK sends
|
|
3
|
+
HTTP tracing SDK for AI agents. No OpenTelemetry setup is required: the SDK sends trace payloads directly to the Lemma API.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
@@ -74,6 +74,7 @@ trace.recordGeneration({
|
|
|
74
74
|
input: messages,
|
|
75
75
|
output: text,
|
|
76
76
|
model: "gpt-4o",
|
|
77
|
+
durationMs: measuredModelMs,
|
|
77
78
|
llmInputMessages: [{ role: "user", content: userMessage }],
|
|
78
79
|
llmInvocationParameters: { temperature: 0.2 },
|
|
79
80
|
});
|
|
@@ -89,7 +90,7 @@ Use `startSpan()`, `startTool()`, or `startGeneration()` when you want the SDK t
|
|
|
89
90
|
const span = trace.startSpan({ name: "retrieve-context", input: query });
|
|
90
91
|
try {
|
|
91
92
|
const docs = await retrieve(query);
|
|
92
|
-
span.end({ output: docs
|
|
93
|
+
span.end({ output: docs });
|
|
93
94
|
} catch (error) {
|
|
94
95
|
span.end({ error });
|
|
95
96
|
throw error;
|
|
@@ -99,7 +100,7 @@ try {
|
|
|
99
100
|
```typescript
|
|
100
101
|
const tool = trace.startTool({ name: "search_docs", input: { query } });
|
|
101
102
|
const docs = await searchDocs(query);
|
|
102
|
-
tool.end({ output: docs
|
|
103
|
+
tool.end({ output: docs });
|
|
103
104
|
|
|
104
105
|
const generation = trace.startGeneration({
|
|
105
106
|
name: "answer",
|
|
@@ -107,10 +108,10 @@ const generation = trace.startGeneration({
|
|
|
107
108
|
model: "gpt-4o",
|
|
108
109
|
});
|
|
109
110
|
const response = await callModel(messages);
|
|
110
|
-
generation.end({ output: response.text,
|
|
111
|
+
generation.end({ output: response.text, usage: response.usage });
|
|
111
112
|
```
|
|
112
113
|
|
|
113
|
-
The SDK measures
|
|
114
|
+
The SDK measures live handle durations from start and end timestamps. Pass `durationMs` only when replaying historical work or overriding the measured duration with a value from another timer. When child spans, generations, or tools omit `durationMs`, Lemma derives timing from timestamps during ingest.
|
|
114
115
|
|
|
115
116
|
You can also create a trace handle first and record work on it over time:
|
|
116
117
|
|
|
@@ -127,7 +128,6 @@ span.recordTool({
|
|
|
127
128
|
});
|
|
128
129
|
span.end({
|
|
129
130
|
output: { count: docs.length },
|
|
130
|
-
durationMs: 250,
|
|
131
131
|
retrievalDocuments: docs.map((doc) => ({
|
|
132
132
|
id: doc.id,
|
|
133
133
|
content: doc.text,
|
|
@@ -135,33 +135,34 @@ span.end({
|
|
|
135
135
|
})),
|
|
136
136
|
});
|
|
137
137
|
|
|
138
|
-
await trace.end({ output: "final answer"
|
|
138
|
+
await trace.end({ output: "final answer" });
|
|
139
139
|
```
|
|
140
140
|
|
|
141
|
+
For live trace handles, `trace.end({ output })` is usually enough. Pass `durationMs` to `trace.end()` only when you need to override the measured trace duration.
|
|
142
|
+
|
|
141
143
|
## Vercel AI SDK
|
|
142
144
|
|
|
143
|
-
Pass `vercelAI()` to the AI SDK telemetry integrations option
|
|
145
|
+
Pass `vercelAI()` to the AI SDK telemetry integrations option. The integration creates and closes the Lemma trace for the AI SDK run, extracts the prompt/messages as trace input, and records model calls and tool executions as child spans. AI SDK v7 uses `telemetry`; AI SDK v6 uses `experimental_telemetry`.
|
|
144
146
|
|
|
145
147
|
```typescript
|
|
146
148
|
import { generateText } from "ai";
|
|
147
|
-
import {
|
|
148
|
-
|
|
149
|
-
const lemma = new Lemma();
|
|
149
|
+
import { vercelAI } from "@uselemma/tracing";
|
|
150
150
|
|
|
151
|
-
const
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
model,
|
|
156
|
-
prompt: userMessage,
|
|
157
|
-
telemetry: {
|
|
158
|
-
integrations: [vercelAI()],
|
|
159
|
-
},
|
|
160
|
-
});
|
|
151
|
+
const lemmaTelemetry = vercelAI({
|
|
152
|
+
apiKey: process.env.LEMMA_API_KEY,
|
|
153
|
+
projectId: process.env.LEMMA_PROJECT_ID,
|
|
154
|
+
});
|
|
161
155
|
|
|
162
|
-
|
|
156
|
+
const result = await generateText({
|
|
157
|
+
model,
|
|
158
|
+
prompt: userMessage,
|
|
159
|
+
telemetry: {
|
|
160
|
+
functionId: "support-agent",
|
|
161
|
+
integrations: [lemmaTelemetry],
|
|
163
162
|
},
|
|
164
|
-
);
|
|
163
|
+
});
|
|
164
|
+
|
|
165
|
+
return result.text;
|
|
165
166
|
```
|
|
166
167
|
|
|
167
168
|
For AI SDK v6, pass the same helper through `experimental_telemetry`:
|
|
@@ -171,14 +172,46 @@ await generateText({
|
|
|
171
172
|
model,
|
|
172
173
|
prompt: userMessage,
|
|
173
174
|
experimental_telemetry: {
|
|
174
|
-
|
|
175
|
+
functionId: "support-agent",
|
|
176
|
+
integrations: [lemmaTelemetry],
|
|
175
177
|
},
|
|
176
178
|
});
|
|
177
179
|
```
|
|
178
180
|
|
|
179
|
-
|
|
181
|
+
Use `telemetry.functionId` / `experimental_telemetry.functionId` for the agent name, or set it on the integration with `vercelAI({ agentName: "support-agent" })`.
|
|
182
|
+
|
|
183
|
+
Use `vercelAI({ recordInputs: false, recordOutputs: false })` to avoid sending prompts, tool inputs, tool outputs, or model output text.
|
|
184
|
+
|
|
185
|
+
For advanced cases, you can still attach to an existing trace by passing `vercelAI({ trace })` or by calling AI SDK inside a `lemma.trace()` callback. When you pass a trace handle, the integration ends it from the AI SDK terminal callback: `onEnd` in AI SDK v7 and `onFinish` in AI SDK v6. When you use the callback form of `lemma.trace()`, the callback owns trace closure.
|
|
180
186
|
|
|
181
|
-
|
|
187
|
+
## OpenAI Agents SDK
|
|
188
|
+
|
|
189
|
+
Register the Lemma processor with the OpenAI Agents SDK tracing provider:
|
|
190
|
+
|
|
191
|
+
```typescript
|
|
192
|
+
import { addTraceProcessor } from "@openai/agents";
|
|
193
|
+
import { openAIAgents } from "@uselemma/tracing";
|
|
194
|
+
|
|
195
|
+
addTraceProcessor(openAIAgents());
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
The processor creates one Lemma trace for each OpenAI Agents trace. OpenAI
|
|
199
|
+
generation spans become Lemma generations, function spans become Lemma tool
|
|
200
|
+
spans, and other OpenAI Agents spans are preserved as regular spans with the
|
|
201
|
+
original OpenAI trace/span fields in attributes.
|
|
202
|
+
|
|
203
|
+
Function spans stay nested under their OpenAI parent span. To verify nesting
|
|
204
|
+
locally, enable debug mode and check that the tool span log includes the
|
|
205
|
+
generation span ID as `parentId`:
|
|
206
|
+
|
|
207
|
+
```typescript
|
|
208
|
+
import { enableDebugMode } from "@uselemma/tracing";
|
|
209
|
+
|
|
210
|
+
enableDebugMode();
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
Use `openAIAgents({ recordInputs: false, recordOutputs: false })` to avoid
|
|
214
|
+
sending prompts, tool inputs, tool outputs, or model output text.
|
|
182
215
|
|
|
183
216
|
When a helper only has IDs, use the client-level methods:
|
|
184
217
|
|
|
@@ -220,6 +253,49 @@ export function recordSearch(docs: unknown[]) {
|
|
|
220
253
|
| `projectId` | `LEMMA_PROJECT_ID` | Required |
|
|
221
254
|
| `baseUrl` | none | `https://api.uselemma.ai` |
|
|
222
255
|
|
|
256
|
+
The SDK sends to `${baseUrl}/traces/ingest`.
|
|
257
|
+
|
|
258
|
+
You can pass configuration directly to the constructor instead of using
|
|
259
|
+
environment variables:
|
|
260
|
+
|
|
261
|
+
```typescript
|
|
262
|
+
const lemma = new Lemma({
|
|
263
|
+
apiKey: "sk_...",
|
|
264
|
+
projectId: "proj_...",
|
|
265
|
+
baseUrl: "https://api.uselemma.ai",
|
|
266
|
+
});
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
## Debug Mode
|
|
270
|
+
|
|
271
|
+
Debug mode logs trace starts, span starts, span completions, send attempts, and
|
|
272
|
+
send results as they happen:
|
|
273
|
+
|
|
274
|
+
```typescript
|
|
275
|
+
import { enableDebugMode } from "@uselemma/tracing";
|
|
276
|
+
|
|
277
|
+
enableDebugMode();
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
You can also set `LEMMA_DEBUG=true`. Use this when validating that spans arrive
|
|
281
|
+
in the expected order, parent IDs are attached, and the SDK is sending to the
|
|
282
|
+
right URL.
|
|
283
|
+
|
|
284
|
+
## Supported Contract Fields
|
|
285
|
+
|
|
286
|
+
Use native SDK props for OpenInference-style fields:
|
|
287
|
+
|
|
288
|
+
- LLM: `llmModelName`, `llmProvider`, `llmSystem`,
|
|
289
|
+
`llmInvocationParameters`, `llmInputMessages`, `llmOutputMessages`,
|
|
290
|
+
`llmTools`, token counts, and prompt template fields
|
|
291
|
+
- tools: `toolName`, `toolDescription`, `toolParameters`
|
|
292
|
+
- retrieval: `retrievalDocuments`
|
|
293
|
+
- embeddings and rerankers: `embeddingModelName`,
|
|
294
|
+
`embeddingInvocationParameters`, `embeddingEmbeddings`,
|
|
295
|
+
`rerankerModelName`, `rerankerInputDocuments`, `rerankerOutputDocuments`
|
|
296
|
+
|
|
297
|
+
Use `attributes` for raw attributes that do not yet have a native SDK prop.
|
|
298
|
+
|
|
223
299
|
## Documentation
|
|
224
300
|
|
|
225
301
|
- [Quickstart](https://docs.uselemma.ai/getting-started/quickstart)
|
|
@@ -227,7 +303,8 @@ export function recordSearch(docs: unknown[]) {
|
|
|
227
303
|
|
|
228
304
|
## Examples
|
|
229
305
|
|
|
230
|
-
See [`examples/`](./examples) for complete callback tracing, trace handle,
|
|
306
|
+
See [`examples/`](./examples) for complete callback tracing, trace handle,
|
|
307
|
+
record-by-ID, Vercel AI SDK v6/v7, and OpenAI Agents SDK examples.
|
|
231
308
|
|
|
232
309
|
## License
|
|
233
310
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { Lemma, NoopSpanHandle, SpanHandle, TraceContext, TraceHandle, active, type DetachedGenerationOptions, type DetachedSpanOptions, type DetachedToolOptions, type GenerationOptions, type JsonValue, type LemmaClientOptions, type SpanOptions, type ToolOptions, type TraceEndOptions, type TraceOptions, } from "./client";
|
|
2
2
|
export { disableDebugMode, enableDebugMode, isDebugModeEnabled, lemmaDebug, } from "./debug-mode";
|
|
3
|
+
export { openAIAgents, type OpenAIAgentsIntegrationOptions, type OpenAIAgentsSpan, type OpenAIAgentsSpanData, type OpenAIAgentsTrace, type OpenAIAgentsTracingProcessor, } from "./openai-agents";
|
|
3
4
|
export { vercelAI, type LemmaVercelAIIntegrationOptions, type VercelAIIntegrationOptions, type VercelAITelemetryIntegration, } from "./vercel-ai";
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,cAAc,EACd,UAAU,EACV,YAAY,EACZ,WAAW,EACX,MAAM,EACN,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,YAAY,GAClB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,QAAQ,EACR,KAAK,+BAA+B,EACpC,KAAK,0BAA0B,EAC/B,KAAK,4BAA4B,GAClC,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,cAAc,EACd,UAAU,EACV,YAAY,EACZ,WAAW,EACX,MAAM,EACN,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,YAAY,GAClB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,YAAY,EACZ,KAAK,8BAA8B,EACnC,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,4BAA4B,GAClC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,QAAQ,EACR,KAAK,+BAA+B,EACpC,KAAK,0BAA0B,EAC/B,KAAK,4BAA4B,GAClC,MAAM,aAAa,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.vercelAI = exports.lemmaDebug = exports.isDebugModeEnabled = exports.enableDebugMode = exports.disableDebugMode = exports.active = exports.TraceHandle = exports.TraceContext = exports.SpanHandle = exports.NoopSpanHandle = exports.Lemma = void 0;
|
|
3
|
+
exports.vercelAI = exports.openAIAgents = exports.lemmaDebug = exports.isDebugModeEnabled = exports.enableDebugMode = exports.disableDebugMode = exports.active = exports.TraceHandle = exports.TraceContext = exports.SpanHandle = exports.NoopSpanHandle = exports.Lemma = void 0;
|
|
4
4
|
var client_1 = require("./client");
|
|
5
5
|
Object.defineProperty(exports, "Lemma", { enumerable: true, get: function () { return client_1.Lemma; } });
|
|
6
6
|
Object.defineProperty(exports, "NoopSpanHandle", { enumerable: true, get: function () { return client_1.NoopSpanHandle; } });
|
|
@@ -13,6 +13,8 @@ Object.defineProperty(exports, "disableDebugMode", { enumerable: true, get: func
|
|
|
13
13
|
Object.defineProperty(exports, "enableDebugMode", { enumerable: true, get: function () { return debug_mode_1.enableDebugMode; } });
|
|
14
14
|
Object.defineProperty(exports, "isDebugModeEnabled", { enumerable: true, get: function () { return debug_mode_1.isDebugModeEnabled; } });
|
|
15
15
|
Object.defineProperty(exports, "lemmaDebug", { enumerable: true, get: function () { return debug_mode_1.lemmaDebug; } });
|
|
16
|
+
var openai_agents_1 = require("./openai-agents");
|
|
17
|
+
Object.defineProperty(exports, "openAIAgents", { enumerable: true, get: function () { return openai_agents_1.openAIAgents; } });
|
|
16
18
|
var vercel_ai_1 = require("./vercel-ai");
|
|
17
19
|
Object.defineProperty(exports, "vercelAI", { enumerable: true, get: function () { return vercel_ai_1.vercelAI; } });
|
|
18
20
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAiBkB;AAhBhB,+FAAA,KAAK,OAAA;AACL,wGAAA,cAAc,OAAA;AACd,oGAAA,UAAU,OAAA;AACV,sGAAA,YAAY,OAAA;AACZ,qGAAA,WAAW,OAAA;AACX,gGAAA,MAAM,OAAA;AAYR,2CAKsB;AAJpB,8GAAA,gBAAgB,OAAA;AAChB,6GAAA,eAAe,OAAA;AACf,gHAAA,kBAAkB,OAAA;AAClB,wGAAA,UAAU,OAAA;AAEZ,yCAKqB;AAJnB,qGAAA,QAAQ,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAiBkB;AAhBhB,+FAAA,KAAK,OAAA;AACL,wGAAA,cAAc,OAAA;AACd,oGAAA,UAAU,OAAA;AACV,sGAAA,YAAY,OAAA;AACZ,qGAAA,WAAW,OAAA;AACX,gGAAA,MAAM,OAAA;AAYR,2CAKsB;AAJpB,8GAAA,gBAAgB,OAAA;AAChB,6GAAA,eAAe,OAAA;AACf,gHAAA,kBAAkB,OAAA;AAClB,wGAAA,UAAU,OAAA;AAEZ,iDAOyB;AANvB,6GAAA,YAAY,OAAA;AAOd,yCAKqB;AAJnB,qGAAA,QAAQ,OAAA"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Lemma } from "./client";
|
|
2
|
+
export type OpenAIAgentsTrace = {
|
|
3
|
+
traceId: string;
|
|
4
|
+
name: string;
|
|
5
|
+
groupId?: string | null;
|
|
6
|
+
metadata?: Record<string, unknown>;
|
|
7
|
+
};
|
|
8
|
+
export type OpenAIAgentsSpanData = {
|
|
9
|
+
type: string;
|
|
10
|
+
[key: string]: unknown;
|
|
11
|
+
};
|
|
12
|
+
export type OpenAIAgentsSpan = {
|
|
13
|
+
traceId: string;
|
|
14
|
+
spanId: string;
|
|
15
|
+
parentId?: string | null;
|
|
16
|
+
spanData: OpenAIAgentsSpanData;
|
|
17
|
+
traceMetadata?: Record<string, unknown>;
|
|
18
|
+
startedAt?: string | null;
|
|
19
|
+
endedAt?: string | null;
|
|
20
|
+
error?: {
|
|
21
|
+
message?: string;
|
|
22
|
+
data?: Record<string, unknown>;
|
|
23
|
+
} | null;
|
|
24
|
+
};
|
|
25
|
+
export type OpenAIAgentsTracingProcessor = {
|
|
26
|
+
start?: () => void;
|
|
27
|
+
onTraceStart: (trace: OpenAIAgentsTrace) => Promise<void>;
|
|
28
|
+
onTraceEnd: (trace: OpenAIAgentsTrace) => Promise<void>;
|
|
29
|
+
onSpanStart: (span: OpenAIAgentsSpan) => Promise<void>;
|
|
30
|
+
onSpanEnd: (span: OpenAIAgentsSpan) => Promise<void>;
|
|
31
|
+
shutdown: (timeout?: number) => Promise<void>;
|
|
32
|
+
forceFlush: () => Promise<void>;
|
|
33
|
+
};
|
|
34
|
+
export type OpenAIAgentsIntegrationOptions = {
|
|
35
|
+
lemma?: Lemma;
|
|
36
|
+
apiKey?: string;
|
|
37
|
+
projectId?: string;
|
|
38
|
+
baseUrl?: string;
|
|
39
|
+
fetch?: typeof fetch;
|
|
40
|
+
metadata?: Record<string, unknown>;
|
|
41
|
+
recordInputs?: boolean;
|
|
42
|
+
recordOutputs?: boolean;
|
|
43
|
+
};
|
|
44
|
+
export declare function openAIAgents(options?: OpenAIAgentsIntegrationOptions): OpenAIAgentsTracingProcessor;
|
|
45
|
+
//# sourceMappingURL=openai-agents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-agents.d.ts","sourceRoot":"","sources":["../src/openai-agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAqC,MAAM,UAAU,CAAC;AAIpE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,EAAE;QACN,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAChC,GAAG,IAAI,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IACnB,YAAY,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,UAAU,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,WAAW,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,SAAS,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAoFF,wBAAgB,YAAY,CAC1B,OAAO,GAAE,8BAAmC,GAC3C,4BAA4B,CA8H9B"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.openAIAgents = openAIAgents;
|
|
4
|
+
const client_1 = require("./client");
|
|
5
|
+
function parseMaybeJson(value) {
|
|
6
|
+
if (typeof value !== "string")
|
|
7
|
+
return value;
|
|
8
|
+
try {
|
|
9
|
+
return JSON.parse(value);
|
|
10
|
+
}
|
|
11
|
+
catch {
|
|
12
|
+
return value;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function textFromGenerationOutput(output) {
|
|
16
|
+
if (!Array.isArray(output))
|
|
17
|
+
return output;
|
|
18
|
+
const text = output
|
|
19
|
+
.map((item) => {
|
|
20
|
+
if (!item || typeof item !== "object")
|
|
21
|
+
return "";
|
|
22
|
+
const record = item;
|
|
23
|
+
if (typeof record["text"] === "string")
|
|
24
|
+
return record["text"];
|
|
25
|
+
if (typeof record["content"] === "string")
|
|
26
|
+
return record["content"];
|
|
27
|
+
return "";
|
|
28
|
+
})
|
|
29
|
+
.join("");
|
|
30
|
+
return text || output;
|
|
31
|
+
}
|
|
32
|
+
function spanName(data) {
|
|
33
|
+
if (typeof data["name"] === "string" && data["name"]) {
|
|
34
|
+
return data["name"];
|
|
35
|
+
}
|
|
36
|
+
if (data.type === "generation")
|
|
37
|
+
return "openai-agents-generation";
|
|
38
|
+
if (data.type === "response")
|
|
39
|
+
return "openai-agents-response";
|
|
40
|
+
if (data.type === "handoff") {
|
|
41
|
+
const from = typeof data["from_agent"] === "string" ? data["from_agent"] : "";
|
|
42
|
+
const to = typeof data["to_agent"] === "string" ? data["to_agent"] : "";
|
|
43
|
+
return from && to ? `${from} to ${to}` : "openai-agents-handoff";
|
|
44
|
+
}
|
|
45
|
+
return `openai-agents-${data.type || "span"}`;
|
|
46
|
+
}
|
|
47
|
+
function openAIAttributes(span) {
|
|
48
|
+
return Object.fromEntries(Object.entries({
|
|
49
|
+
"openai.agents.trace_id": span.traceId,
|
|
50
|
+
"openai.agents.span_id": span.spanId,
|
|
51
|
+
"openai.agents.parent_id": span.parentId,
|
|
52
|
+
"openai.agents.span_type": span.spanData.type,
|
|
53
|
+
"openai.agents.trace_metadata": span.traceMetadata
|
|
54
|
+
? JSON.stringify(span.traceMetadata)
|
|
55
|
+
: undefined,
|
|
56
|
+
"openai.agents.span_data": JSON.stringify(span.spanData),
|
|
57
|
+
}).filter(([, value]) => value !== undefined && value !== null));
|
|
58
|
+
}
|
|
59
|
+
function usage(data) {
|
|
60
|
+
const raw = data["usage"];
|
|
61
|
+
if (!raw || typeof raw !== "object")
|
|
62
|
+
return undefined;
|
|
63
|
+
const usageData = raw;
|
|
64
|
+
return {
|
|
65
|
+
inputTokens: typeof usageData["input_tokens"] === "number"
|
|
66
|
+
? usageData["input_tokens"]
|
|
67
|
+
: undefined,
|
|
68
|
+
outputTokens: typeof usageData["output_tokens"] === "number"
|
|
69
|
+
? usageData["output_tokens"]
|
|
70
|
+
: undefined,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
function startedAt(span) {
|
|
74
|
+
return span.startedAt ?? new Date();
|
|
75
|
+
}
|
|
76
|
+
function endedAt(span) {
|
|
77
|
+
return span.endedAt ?? new Date();
|
|
78
|
+
}
|
|
79
|
+
function openAIAgents(options = {}) {
|
|
80
|
+
const lemma = options.lemma ??
|
|
81
|
+
new client_1.Lemma({
|
|
82
|
+
apiKey: options.apiKey,
|
|
83
|
+
projectId: options.projectId,
|
|
84
|
+
baseUrl: options.baseUrl,
|
|
85
|
+
fetch: options.fetch,
|
|
86
|
+
});
|
|
87
|
+
const traces = new Map();
|
|
88
|
+
const spans = new Map();
|
|
89
|
+
function ensureTrace(trace) {
|
|
90
|
+
const existing = traces.get(trace.traceId);
|
|
91
|
+
if (existing)
|
|
92
|
+
return existing;
|
|
93
|
+
const handle = lemma.trace({
|
|
94
|
+
name: trace.name || "openai-agents-trace",
|
|
95
|
+
metadata: {
|
|
96
|
+
...options.metadata,
|
|
97
|
+
...(trace.metadata ?? {}),
|
|
98
|
+
openaiAgentsTraceId: trace.traceId,
|
|
99
|
+
openaiAgentsGroupId: trace.groupId ?? undefined,
|
|
100
|
+
},
|
|
101
|
+
threadId: trace.groupId ?? undefined,
|
|
102
|
+
});
|
|
103
|
+
const stored = { handle, ended: false };
|
|
104
|
+
traces.set(trace.traceId, stored);
|
|
105
|
+
return stored;
|
|
106
|
+
}
|
|
107
|
+
function startSpan(span) {
|
|
108
|
+
const trace = traces.get(span.traceId);
|
|
109
|
+
if (!trace)
|
|
110
|
+
return undefined;
|
|
111
|
+
const data = span.spanData;
|
|
112
|
+
const base = {
|
|
113
|
+
id: span.spanId,
|
|
114
|
+
parentId: span.parentId ?? null,
|
|
115
|
+
name: spanName(data),
|
|
116
|
+
input: options.recordInputs === false
|
|
117
|
+
? undefined
|
|
118
|
+
: parseMaybeJson(data["input"] ?? data["_input"]),
|
|
119
|
+
metadata: options.metadata,
|
|
120
|
+
attributes: openAIAttributes(span),
|
|
121
|
+
startedAt: startedAt(span),
|
|
122
|
+
};
|
|
123
|
+
if (data.type === "generation" || data.type === "response") {
|
|
124
|
+
return trace.handle.startGeneration({
|
|
125
|
+
...base,
|
|
126
|
+
model: typeof data["model"] === "string" ? data["model"] : undefined,
|
|
127
|
+
llmProvider: "openai",
|
|
128
|
+
llmInputMessages: options.recordInputs === false || !Array.isArray(data["input"])
|
|
129
|
+
? undefined
|
|
130
|
+
: data["input"],
|
|
131
|
+
llmInvocationParameters: data["model_config"],
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
if (data.type === "function") {
|
|
135
|
+
return trace.handle.startTool({
|
|
136
|
+
...base,
|
|
137
|
+
toolName: typeof data["name"] === "string" ? data["name"] : undefined,
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
return trace.handle.startSpan(base);
|
|
141
|
+
}
|
|
142
|
+
function endSpan(span) {
|
|
143
|
+
const handle = spans.get(span.spanId) ?? startSpan(span);
|
|
144
|
+
if (!handle)
|
|
145
|
+
return;
|
|
146
|
+
spans.delete(span.spanId);
|
|
147
|
+
const data = span.spanData;
|
|
148
|
+
const output = options.recordOutputs === false
|
|
149
|
+
? undefined
|
|
150
|
+
: data.type === "generation"
|
|
151
|
+
? textFromGenerationOutput(data["output"])
|
|
152
|
+
: parseMaybeJson(data["output"] ?? data["_response"]);
|
|
153
|
+
handle.end({
|
|
154
|
+
output,
|
|
155
|
+
error: span.error?.message,
|
|
156
|
+
status: span.error ? "ERROR" : undefined,
|
|
157
|
+
model: typeof data["model"] === "string" ? data["model"] : undefined,
|
|
158
|
+
usage: usage(data),
|
|
159
|
+
endedAt: endedAt(span),
|
|
160
|
+
llmOutputMessages: options.recordOutputs === false || !Array.isArray(data["output"])
|
|
161
|
+
? undefined
|
|
162
|
+
: data["output"],
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
async function forEachTrace(fn) {
|
|
166
|
+
await Promise.all(Array.from(traces.values(), fn));
|
|
167
|
+
}
|
|
168
|
+
return {
|
|
169
|
+
onTraceStart: async (trace) => {
|
|
170
|
+
ensureTrace(trace);
|
|
171
|
+
},
|
|
172
|
+
onTraceEnd: async (trace) => {
|
|
173
|
+
const stored = ensureTrace(trace);
|
|
174
|
+
if (stored.ended)
|
|
175
|
+
return;
|
|
176
|
+
stored.ended = true;
|
|
177
|
+
await stored.handle.end();
|
|
178
|
+
},
|
|
179
|
+
onSpanStart: async (span) => {
|
|
180
|
+
const handle = startSpan(span);
|
|
181
|
+
if (handle)
|
|
182
|
+
spans.set(span.spanId, handle);
|
|
183
|
+
},
|
|
184
|
+
onSpanEnd: async (span) => {
|
|
185
|
+
endSpan(span);
|
|
186
|
+
},
|
|
187
|
+
shutdown: async () => {
|
|
188
|
+
await forEachTrace((trace) => trace.handle.flush());
|
|
189
|
+
},
|
|
190
|
+
forceFlush: async () => {
|
|
191
|
+
await forEachTrace((trace) => trace.handle.flush());
|
|
192
|
+
},
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
//# sourceMappingURL=openai-agents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-agents.js","sourceRoot":"","sources":["../src/openai-agents.ts"],"names":[],"mappings":"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"}
|
package/dist/vercel-ai.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type TraceContext } from "./client";
|
|
1
|
+
import { Lemma, type LemmaClientOptions, type TraceContext } from "./client";
|
|
2
2
|
type MaybePromise<T> = T | PromiseLike<T>;
|
|
3
3
|
type VercelAIModelCallStartEvent = {
|
|
4
4
|
callId: string;
|
|
@@ -23,6 +23,8 @@ type VercelAIModelCallEndEvent = {
|
|
|
23
23
|
type VercelAIEndEvent = {
|
|
24
24
|
text?: string;
|
|
25
25
|
content?: ReadonlyArray<unknown>;
|
|
26
|
+
functionId?: string;
|
|
27
|
+
metadata?: Record<string, unknown>;
|
|
26
28
|
};
|
|
27
29
|
type VercelAIToolExecutionEndEvent = {
|
|
28
30
|
callId?: string;
|
|
@@ -55,6 +57,8 @@ type VercelAIStepStartEvent = {
|
|
|
55
57
|
stepNumber: number;
|
|
56
58
|
messages?: unknown[];
|
|
57
59
|
tools?: unknown;
|
|
60
|
+
functionId?: string;
|
|
61
|
+
metadata?: Record<string, unknown>;
|
|
58
62
|
};
|
|
59
63
|
type VercelAIStepEndEvent = {
|
|
60
64
|
callId: string;
|
|
@@ -86,12 +90,16 @@ type VercelAIV6StepStartEvent = {
|
|
|
86
90
|
model: VercelAIV6ModelInfo;
|
|
87
91
|
messages?: unknown[];
|
|
88
92
|
tools?: unknown;
|
|
93
|
+
functionId?: string;
|
|
94
|
+
metadata?: Record<string, unknown>;
|
|
89
95
|
};
|
|
90
96
|
type VercelAIV6StepFinishEvent = {
|
|
91
97
|
stepNumber: number;
|
|
92
98
|
model: VercelAIV6ModelInfo;
|
|
93
99
|
text?: string;
|
|
94
100
|
content?: ReadonlyArray<unknown>;
|
|
101
|
+
functionId?: string;
|
|
102
|
+
metadata?: Record<string, unknown>;
|
|
95
103
|
usage?: {
|
|
96
104
|
inputTokens?: number;
|
|
97
105
|
outputTokens?: number;
|
|
@@ -99,14 +107,19 @@ type VercelAIV6StepFinishEvent = {
|
|
|
99
107
|
};
|
|
100
108
|
type VercelAIV6StartEvent = {
|
|
101
109
|
model: VercelAIV6ModelInfo;
|
|
110
|
+
system?: string;
|
|
102
111
|
prompt?: string | unknown[];
|
|
103
112
|
messages?: unknown[];
|
|
104
113
|
tools?: unknown;
|
|
114
|
+
functionId?: string;
|
|
115
|
+
metadata?: Record<string, unknown>;
|
|
105
116
|
};
|
|
106
117
|
type VercelAIV6FinishEvent = {
|
|
107
118
|
model: VercelAIV6ModelInfo;
|
|
108
119
|
text?: string;
|
|
109
120
|
content?: ReadonlyArray<unknown>;
|
|
121
|
+
functionId?: string;
|
|
122
|
+
metadata?: Record<string, unknown>;
|
|
110
123
|
totalUsage?: {
|
|
111
124
|
inputTokens?: number;
|
|
112
125
|
outputTokens?: number;
|
|
@@ -136,6 +149,7 @@ export type VercelAITelemetryIntegration = {
|
|
|
136
149
|
onLanguageModelCallStart?: (event: VercelAIModelCallStartEvent) => MaybePromise<void>;
|
|
137
150
|
onLanguageModelCallEnd?: (event: VercelAIModelCallEndEvent) => MaybePromise<void>;
|
|
138
151
|
onToolExecutionStart?: (event: VercelAIToolExecutionStartEvent) => MaybePromise<void>;
|
|
152
|
+
onToolCallStart?: (event: VercelAIToolExecutionStartEvent) => MaybePromise<void>;
|
|
139
153
|
onToolExecutionEnd?: (event: VercelAIToolExecutionEndEvent) => MaybePromise<void>;
|
|
140
154
|
onStart?: (event: VercelAIV6StartEvent) => MaybePromise<void>;
|
|
141
155
|
onStepStart?: (event: VercelAIStepStartEvent | VercelAIV6StepStartEvent) => MaybePromise<void>;
|
|
@@ -147,6 +161,12 @@ export type VercelAITelemetryIntegration = {
|
|
|
147
161
|
};
|
|
148
162
|
export type VercelAIIntegrationOptions = {
|
|
149
163
|
trace?: TraceContext;
|
|
164
|
+
lemma?: Lemma;
|
|
165
|
+
apiKey?: LemmaClientOptions["apiKey"];
|
|
166
|
+
projectId?: LemmaClientOptions["projectId"];
|
|
167
|
+
baseUrl?: LemmaClientOptions["baseUrl"];
|
|
168
|
+
fetch?: LemmaClientOptions["fetch"];
|
|
169
|
+
agentName?: string;
|
|
150
170
|
generationName?: string | ((event: VercelAIModelCallEndEvent | VercelAIV6StepFinishEvent | VercelAIV6FinishEvent) => string);
|
|
151
171
|
toolName?: string | ((event: VercelAIToolExecutionEndEvent | VercelAIV6ToolCallFinishEvent) => string);
|
|
152
172
|
metadata?: Record<string, unknown>;
|
package/dist/vercel-ai.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vercel-ai.d.ts","sourceRoot":"","sources":["../src/vercel-ai.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"vercel-ai.d.ts","sourceRoot":"","sources":["../src/vercel-ai.ts"],"names":[],"mappings":"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"}
|
package/dist/vercel-ai.js
CHANGED
|
@@ -18,17 +18,6 @@ function v7StepKey(callId, stepNumber) {
|
|
|
18
18
|
function isV7StepStart(event) {
|
|
19
19
|
return "callId" in event && "provider" in event && "modelId" in event;
|
|
20
20
|
}
|
|
21
|
-
function getTrace(trace) {
|
|
22
|
-
if (trace)
|
|
23
|
-
return trace;
|
|
24
|
-
try {
|
|
25
|
-
return (0, client_1.active)();
|
|
26
|
-
}
|
|
27
|
-
catch {
|
|
28
|
-
console.warn("@uselemma/tracing: vercelAI() telemetry received an event outside lemma.trace(); event ignored");
|
|
29
|
-
return undefined;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
21
|
function stringifyContent(content) {
|
|
33
22
|
const text = content
|
|
34
23
|
.map((part) => {
|
|
@@ -74,6 +63,29 @@ function v6Input(event) {
|
|
|
74
63
|
return event.messages;
|
|
75
64
|
return "prompt" in event ? event.prompt : undefined;
|
|
76
65
|
}
|
|
66
|
+
function traceInput(event) {
|
|
67
|
+
if (!event)
|
|
68
|
+
return undefined;
|
|
69
|
+
if ("messages" in event && event.messages)
|
|
70
|
+
return event.messages;
|
|
71
|
+
if ("prompt" in event)
|
|
72
|
+
return event.prompt;
|
|
73
|
+
return undefined;
|
|
74
|
+
}
|
|
75
|
+
function traceMetadata(options, event) {
|
|
76
|
+
return {
|
|
77
|
+
...options.metadata,
|
|
78
|
+
...(event && "metadata" in event ? (event.metadata ?? {}) : {}),
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
function traceName(options, event) {
|
|
82
|
+
if (options.agentName)
|
|
83
|
+
return options.agentName;
|
|
84
|
+
const functionId = event && "functionId" in event && typeof event.functionId === "string"
|
|
85
|
+
? event.functionId
|
|
86
|
+
: undefined;
|
|
87
|
+
return functionId || "vercel-ai-agent";
|
|
88
|
+
}
|
|
77
89
|
function v6InputMessages(event) {
|
|
78
90
|
const input = v6Input(event);
|
|
79
91
|
return Array.isArray(input) ? input : undefined;
|
|
@@ -86,6 +98,7 @@ function v6Output(event) {
|
|
|
86
98
|
return undefined;
|
|
87
99
|
}
|
|
88
100
|
function vercelAI(options = {}) {
|
|
101
|
+
let lemma = options.lemma;
|
|
89
102
|
const modelCalls = new Map();
|
|
90
103
|
const v7Steps = new Map();
|
|
91
104
|
const v6Steps = new Map();
|
|
@@ -93,8 +106,36 @@ function vercelAI(options = {}) {
|
|
|
93
106
|
const generationSpanIdsByCallId = new Map();
|
|
94
107
|
const generationSpanIdsByToolCallId = new Map();
|
|
95
108
|
const toolExecutions = new Map();
|
|
109
|
+
let managedTrace;
|
|
96
110
|
let recordedV6Step = false;
|
|
97
111
|
let endedExplicitTrace = false;
|
|
112
|
+
let endedManagedTrace = false;
|
|
113
|
+
function getLemma() {
|
|
114
|
+
lemma ??= new client_1.Lemma({
|
|
115
|
+
apiKey: options.apiKey,
|
|
116
|
+
projectId: options.projectId,
|
|
117
|
+
baseUrl: options.baseUrl,
|
|
118
|
+
fetch: options.fetch,
|
|
119
|
+
});
|
|
120
|
+
return lemma;
|
|
121
|
+
}
|
|
122
|
+
function resolveTrace(event) {
|
|
123
|
+
if (options.trace)
|
|
124
|
+
return { trace: options.trace, source: "explicit" };
|
|
125
|
+
try {
|
|
126
|
+
return { trace: (0, client_1.active)(), source: "active" };
|
|
127
|
+
}
|
|
128
|
+
catch {
|
|
129
|
+
if (!managedTrace) {
|
|
130
|
+
managedTrace = getLemma().trace({
|
|
131
|
+
name: traceName(options, event),
|
|
132
|
+
input: options.recordInputs === false ? undefined : traceInput(event),
|
|
133
|
+
metadata: traceMetadata(options, event),
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
return { trace: managedTrace, source: "managed" };
|
|
137
|
+
}
|
|
138
|
+
}
|
|
98
139
|
function endOutput(event) {
|
|
99
140
|
if (typeof event.text === "string")
|
|
100
141
|
return event.text;
|
|
@@ -102,24 +143,36 @@ function vercelAI(options = {}) {
|
|
|
102
143
|
return stringifyContent(event.content);
|
|
103
144
|
return undefined;
|
|
104
145
|
}
|
|
105
|
-
async function
|
|
106
|
-
if (endedExplicitTrace)
|
|
107
|
-
return;
|
|
146
|
+
async function endOwnedTrace(event) {
|
|
108
147
|
const trace = options.trace;
|
|
109
|
-
|
|
148
|
+
let ownedTrace;
|
|
149
|
+
if (trace && typeof trace.end === "function") {
|
|
150
|
+
ownedTrace = { trace: { end: trace.end.bind(trace) }, explicit: true };
|
|
151
|
+
}
|
|
152
|
+
else if (managedTrace) {
|
|
153
|
+
ownedTrace = { trace: managedTrace, explicit: false };
|
|
154
|
+
}
|
|
155
|
+
if (!ownedTrace)
|
|
110
156
|
return;
|
|
111
|
-
|
|
157
|
+
if (ownedTrace.explicit) {
|
|
158
|
+
if (endedExplicitTrace)
|
|
159
|
+
return;
|
|
160
|
+
endedExplicitTrace = true;
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
if (endedManagedTrace)
|
|
164
|
+
return;
|
|
165
|
+
endedManagedTrace = true;
|
|
166
|
+
}
|
|
112
167
|
const output = endOutput(event);
|
|
113
168
|
if (options.recordOutputs === false || output === undefined) {
|
|
114
|
-
await trace.end();
|
|
169
|
+
await ownedTrace.trace.end();
|
|
115
170
|
return;
|
|
116
171
|
}
|
|
117
|
-
await trace.end({ output });
|
|
172
|
+
await ownedTrace.trace.end({ output });
|
|
118
173
|
}
|
|
119
174
|
function recordV6Generation(event, stored) {
|
|
120
|
-
const trace =
|
|
121
|
-
if (!trace)
|
|
122
|
-
return;
|
|
175
|
+
const { trace } = resolveTrace(stored?.event);
|
|
123
176
|
const startedAt = stored?.startedAt ?? new Date();
|
|
124
177
|
const endedAt = new Date();
|
|
125
178
|
const id = crypto.randomUUID();
|
|
@@ -128,8 +181,7 @@ function vercelAI(options = {}) {
|
|
|
128
181
|
: (options.generationName ?? "vercel-ai-generation");
|
|
129
182
|
const usage = "totalUsage" in event ? event.totalUsage : event.usage;
|
|
130
183
|
const output = v6Output(event);
|
|
131
|
-
|
|
132
|
-
id,
|
|
184
|
+
const generation = {
|
|
133
185
|
name,
|
|
134
186
|
input: options.recordInputs === false
|
|
135
187
|
? undefined
|
|
@@ -151,13 +203,20 @@ function vercelAI(options = {}) {
|
|
|
151
203
|
? undefined
|
|
152
204
|
: [{ role: "assistant", content: output }],
|
|
153
205
|
llmTools: stored?.event.tools,
|
|
206
|
+
};
|
|
207
|
+
if (stored?.handle) {
|
|
208
|
+
stored.handle.end(generation);
|
|
209
|
+
generationSpanIdsByCallId.set("v6-latest", stored.handle.id);
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
trace.recordGeneration({
|
|
213
|
+
id,
|
|
214
|
+
...generation,
|
|
154
215
|
});
|
|
155
216
|
generationSpanIdsByCallId.set("v6-latest", id);
|
|
156
217
|
}
|
|
157
218
|
function startV7Generation(event) {
|
|
158
|
-
const trace =
|
|
159
|
-
if (!trace)
|
|
160
|
-
return;
|
|
219
|
+
const { trace } = resolveTrace(event);
|
|
161
220
|
const name = typeof options.generationName === "function"
|
|
162
221
|
? options.generationName({
|
|
163
222
|
callId: event.callId,
|
|
@@ -183,6 +242,30 @@ function vercelAI(options = {}) {
|
|
|
183
242
|
v7Steps.set(v7StepKey(event.callId, event.stepNumber), stored);
|
|
184
243
|
generationSpanIdsByCallId.set(event.callId, handle.id);
|
|
185
244
|
}
|
|
245
|
+
function startV6Generation(event) {
|
|
246
|
+
const { trace } = resolveTrace(event);
|
|
247
|
+
const startedAt = new Date();
|
|
248
|
+
const name = typeof options.generationName === "function"
|
|
249
|
+
? options.generationName({
|
|
250
|
+
stepNumber: "stepNumber" in event ? event.stepNumber : 0,
|
|
251
|
+
model: event.model,
|
|
252
|
+
usage: {},
|
|
253
|
+
})
|
|
254
|
+
: (options.generationName ?? "vercel-ai-generation");
|
|
255
|
+
const input = v6Input(event);
|
|
256
|
+
const handle = trace.startGeneration({
|
|
257
|
+
name,
|
|
258
|
+
input: options.recordInputs === false ? undefined : input,
|
|
259
|
+
metadata: options.metadata,
|
|
260
|
+
model: event.model.modelId,
|
|
261
|
+
startedAt,
|
|
262
|
+
llmProvider: event.model.provider,
|
|
263
|
+
llmInputMessages: options.recordInputs === false ? undefined : v6InputMessages(event),
|
|
264
|
+
llmTools: event.tools,
|
|
265
|
+
});
|
|
266
|
+
generationSpanIdsByCallId.set("v6-latest", handle.id);
|
|
267
|
+
return { event, startedAt, handle };
|
|
268
|
+
}
|
|
186
269
|
function endV7Generation(event) {
|
|
187
270
|
const stored = v7Steps.get(v7StepKey(event.callId, event.stepNumber));
|
|
188
271
|
v7Steps.delete(v7StepKey(event.callId, event.stepNumber));
|
|
@@ -216,9 +299,7 @@ function vercelAI(options = {}) {
|
|
|
216
299
|
}
|
|
217
300
|
return {
|
|
218
301
|
onLanguageModelCallStart(event) {
|
|
219
|
-
const trace =
|
|
220
|
-
if (!trace)
|
|
221
|
-
return;
|
|
302
|
+
const { trace } = resolveTrace(event);
|
|
222
303
|
if (generationSpanIdsByCallId.has(event.callId)) {
|
|
223
304
|
modelCalls.set(event.callId, { event, startedAt: new Date() });
|
|
224
305
|
return;
|
|
@@ -270,14 +351,12 @@ function vercelAI(options = {}) {
|
|
|
270
351
|
});
|
|
271
352
|
},
|
|
272
353
|
onToolExecutionStart(event) {
|
|
273
|
-
const trace =
|
|
274
|
-
if (!trace)
|
|
275
|
-
return;
|
|
354
|
+
const { trace } = resolveTrace();
|
|
276
355
|
const parentId = event.toolCall.toolCallId &&
|
|
277
356
|
generationSpanIdsByToolCallId.get(event.toolCall.toolCallId);
|
|
278
357
|
const fallbackParentId = event.callId
|
|
279
358
|
? generationSpanIdsByCallId.get(event.callId)
|
|
280
|
-
:
|
|
359
|
+
: generationSpanIdsByCallId.get("v6-latest");
|
|
281
360
|
const name = typeof options.toolName === "function"
|
|
282
361
|
? options.toolName({
|
|
283
362
|
...event,
|
|
@@ -297,10 +376,11 @@ function vercelAI(options = {}) {
|
|
|
297
376
|
toolExecutions.set(event.toolCall.toolCallId, { handle, startedAt });
|
|
298
377
|
}
|
|
299
378
|
},
|
|
379
|
+
onToolCallStart(event) {
|
|
380
|
+
this.onToolExecutionStart?.(event);
|
|
381
|
+
},
|
|
300
382
|
onToolExecutionEnd(event) {
|
|
301
|
-
const trace =
|
|
302
|
-
if (!trace)
|
|
303
|
-
return;
|
|
383
|
+
const { trace } = resolveTrace();
|
|
304
384
|
const name = typeof options.toolName === "function"
|
|
305
385
|
? options.toolName(event)
|
|
306
386
|
: (options.toolName ?? event.toolCall.toolName);
|
|
@@ -324,7 +404,7 @@ function vercelAI(options = {}) {
|
|
|
324
404
|
generationSpanIdsByToolCallId.get(event.toolCall.toolCallId);
|
|
325
405
|
const fallbackParentId = event.callId
|
|
326
406
|
? generationSpanIdsByCallId.get(event.callId)
|
|
327
|
-
:
|
|
407
|
+
: generationSpanIdsByCallId.get("v6-latest");
|
|
328
408
|
trace.recordTool({
|
|
329
409
|
name,
|
|
330
410
|
parentId: parentId ?? fallbackParentId,
|
|
@@ -339,13 +419,14 @@ function vercelAI(options = {}) {
|
|
|
339
419
|
onStart(event) {
|
|
340
420
|
recordedV6Step = false;
|
|
341
421
|
v6Starts.push({ event, startedAt: new Date() });
|
|
422
|
+
resolveTrace(event);
|
|
342
423
|
},
|
|
343
424
|
onStepStart(event) {
|
|
344
425
|
if (isV7StepStart(event)) {
|
|
345
426
|
startV7Generation(event);
|
|
346
427
|
return;
|
|
347
428
|
}
|
|
348
|
-
v6Steps.set(event.stepNumber,
|
|
429
|
+
v6Steps.set(event.stepNumber, startV6Generation(event));
|
|
349
430
|
},
|
|
350
431
|
onStepEnd(event) {
|
|
351
432
|
endV7Generation(event);
|
|
@@ -360,22 +441,34 @@ function vercelAI(options = {}) {
|
|
|
360
441
|
if (recordedV6Step) {
|
|
361
442
|
v6Starts.shift();
|
|
362
443
|
recordedV6Step = false;
|
|
363
|
-
await
|
|
444
|
+
await endOwnedTrace(event);
|
|
364
445
|
return;
|
|
365
446
|
}
|
|
366
447
|
recordV6Generation(event, v6Starts.shift());
|
|
367
|
-
await
|
|
448
|
+
await endOwnedTrace(event);
|
|
368
449
|
},
|
|
369
450
|
async onEnd(event) {
|
|
370
|
-
await
|
|
451
|
+
await endOwnedTrace(event);
|
|
371
452
|
},
|
|
372
453
|
onToolCallFinish(event) {
|
|
373
|
-
const trace =
|
|
374
|
-
if (!trace)
|
|
375
|
-
return;
|
|
454
|
+
const { trace } = resolveTrace();
|
|
376
455
|
const name = typeof options.toolName === "function"
|
|
377
456
|
? options.toolName(event)
|
|
378
457
|
: (options.toolName ?? event.toolCall.toolName);
|
|
458
|
+
const storedTool = event.toolCall.toolCallId
|
|
459
|
+
? toolExecutions.get(event.toolCall.toolCallId)
|
|
460
|
+
: undefined;
|
|
461
|
+
if (event.toolCall.toolCallId) {
|
|
462
|
+
toolExecutions.delete(event.toolCall.toolCallId);
|
|
463
|
+
}
|
|
464
|
+
if (storedTool) {
|
|
465
|
+
storedTool.handle.end({
|
|
466
|
+
durationMs: event.durationMs,
|
|
467
|
+
endedAt: addMs(storedTool.startedAt, event.durationMs),
|
|
468
|
+
...v6ToolOutput(event, options.recordOutputs !== false),
|
|
469
|
+
});
|
|
470
|
+
return;
|
|
471
|
+
}
|
|
379
472
|
const parentId = event.toolCall.toolCallId &&
|
|
380
473
|
generationSpanIdsByToolCallId.get(event.toolCall.toolCallId);
|
|
381
474
|
trace.recordTool({
|
package/dist/vercel-ai.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vercel-ai.js","sourceRoot":"","sources":["../src/vercel-ai.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vercel-ai.js","sourceRoot":"","sources":["../src/vercel-ai.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Agent, addTraceProcessor, run } from "@openai/agents";
|
|
2
|
+
import { openAIAgents } from "@uselemma/tracing";
|
|
3
|
+
|
|
4
|
+
addTraceProcessor(openAIAgents());
|
|
5
|
+
|
|
6
|
+
const agent = new Agent({
|
|
7
|
+
name: "support-agent",
|
|
8
|
+
instructions: "Answer customer questions clearly and concisely.",
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
const result = await run(agent, "Where is my order?");
|
|
12
|
+
|
|
13
|
+
console.log(result.finalOutput);
|
package/examples/vercel-ai-v6.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { generateText } from "ai";
|
|
2
|
-
import {
|
|
2
|
+
import { vercelAI } from "@uselemma/tracing";
|
|
3
3
|
|
|
4
|
-
const
|
|
4
|
+
const lemmaTelemetry = vercelAI({
|
|
5
5
|
apiKey: process.env.LEMMA_API_KEY,
|
|
6
6
|
projectId: process.env.LEMMA_PROJECT_ID,
|
|
7
7
|
});
|
|
@@ -10,16 +10,12 @@ export async function runVercelAIV6(
|
|
|
10
10
|
model: Parameters<typeof generateText>[0]["model"],
|
|
11
11
|
userMessage: string,
|
|
12
12
|
) {
|
|
13
|
-
const trace = lemma.trace({
|
|
14
|
-
name: "support-agent",
|
|
15
|
-
input: userMessage,
|
|
16
|
-
});
|
|
17
|
-
|
|
18
13
|
const result = await generateText({
|
|
19
14
|
model,
|
|
20
15
|
prompt: userMessage,
|
|
21
16
|
experimental_telemetry: {
|
|
22
|
-
|
|
17
|
+
functionId: "support-agent",
|
|
18
|
+
integrations: [lemmaTelemetry],
|
|
23
19
|
},
|
|
24
20
|
});
|
|
25
21
|
|
package/examples/vercel-ai-v7.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { generateText } from "ai";
|
|
2
|
-
import {
|
|
2
|
+
import { vercelAI } from "@uselemma/tracing";
|
|
3
3
|
|
|
4
|
-
const
|
|
4
|
+
const lemmaTelemetry = vercelAI({
|
|
5
5
|
apiKey: process.env.LEMMA_API_KEY,
|
|
6
6
|
projectId: process.env.LEMMA_PROJECT_ID,
|
|
7
7
|
});
|
|
@@ -10,16 +10,12 @@ export async function runVercelAIV7(
|
|
|
10
10
|
model: Parameters<typeof generateText>[0]["model"],
|
|
11
11
|
userMessage: string,
|
|
12
12
|
) {
|
|
13
|
-
const trace = lemma.trace({
|
|
14
|
-
name: "support-agent",
|
|
15
|
-
input: userMessage,
|
|
16
|
-
});
|
|
17
|
-
|
|
18
13
|
const result = await generateText({
|
|
19
14
|
model,
|
|
20
15
|
prompt: userMessage,
|
|
21
16
|
telemetry: {
|
|
22
|
-
|
|
17
|
+
functionId: "support-agent",
|
|
18
|
+
integrations: [lemmaTelemetry],
|
|
23
19
|
},
|
|
24
20
|
});
|
|
25
21
|
|