@uselemma/tracing 4.1.0 → 4.3.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 CHANGED
@@ -142,28 +142,27 @@ For live trace handles, `trace.end({ output })` is usually enough. Pass `duratio
142
142
 
143
143
  ## Vercel AI SDK
144
144
 
145
- Pass `vercelAI()` to the AI SDK telemetry integrations option while the call runs inside a Lemma trace. AI SDK v7 uses `telemetry`; AI SDK v6 uses `experimental_telemetry`.
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`.
146
146
 
147
147
  ```typescript
148
148
  import { generateText } from "ai";
149
- import { Lemma, vercelAI } from "@uselemma/tracing";
149
+ import { vercelAI } from "@uselemma/tracing";
150
150
 
151
- const lemma = new Lemma();
152
-
153
- const answer = await lemma.trace(
154
- { name: "support-agent", input: userMessage },
155
- async () => {
156
- const result = await generateText({
157
- model,
158
- prompt: userMessage,
159
- telemetry: {
160
- integrations: [vercelAI()],
161
- },
162
- });
151
+ const lemmaTelemetry = vercelAI({
152
+ apiKey: process.env.LEMMA_API_KEY,
153
+ projectId: process.env.LEMMA_PROJECT_ID,
154
+ });
163
155
 
164
- return result.text;
156
+ const result = await generateText({
157
+ model,
158
+ prompt: userMessage,
159
+ telemetry: {
160
+ functionId: "support-agent",
161
+ integrations: [lemmaTelemetry],
165
162
  },
166
- );
163
+ });
164
+
165
+ return result.text;
167
166
  ```
168
167
 
169
168
  For AI SDK v6, pass the same helper through `experimental_telemetry`:
@@ -173,14 +172,17 @@ await generateText({
173
172
  model,
174
173
  prompt: userMessage,
175
174
  experimental_telemetry: {
176
- integrations: [vercelAI()],
175
+ functionId: "support-agent",
176
+ integrations: [lemmaTelemetry],
177
177
  },
178
178
  });
179
179
  ```
180
180
 
181
- The integration records model calls as generations and tool executions as tool calls. Use `vercelAI({ recordInputs: false, recordOutputs: false })` to avoid sending prompts, tool inputs, tool outputs, or model output text.
181
+ Use `telemetry.functionId` / `experimental_telemetry.functionId` for the agent name, or set it on the integration with `vercelAI({ agentName: "support-agent" })`.
182
182
 
183
- When you pass a trace handle with `vercelAI({ trace })`, 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 still owns trace closure.
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.
184
186
 
185
187
  ## OpenAI Agents SDK
186
188
 
@@ -211,6 +213,40 @@ enableDebugMode();
211
213
  Use `openAIAgents({ recordInputs: false, recordOutputs: false })` to avoid
212
214
  sending prompts, tool inputs, tool outputs, or model output text.
213
215
 
216
+ ## LangChain and LangGraph
217
+
218
+ Pass `langChain()` as a LangChain callback handler. The handler creates one
219
+ Lemma trace for the root run, records LLM calls as generations, tools as tool
220
+ spans, retrievers as spans with retrieval documents, and nested chains as child
221
+ spans.
222
+
223
+ ```typescript
224
+ import { ChatOpenAI } from "@langchain/openai";
225
+ import { langChain } from "@uselemma/tracing";
226
+
227
+ const model = new ChatOpenAI({
228
+ model: "gpt-4o",
229
+ callbacks: [langChain({ agentName: "support-agent" })],
230
+ });
231
+
232
+ const response = await model.invoke(userMessage);
233
+ ```
234
+
235
+ LangGraph uses LangChain callbacks too:
236
+
237
+ ```typescript
238
+ import { langGraph } from "@uselemma/tracing";
239
+
240
+ const result = await graph.invoke(
241
+ { input: userMessage },
242
+ { callbacks: [langGraph({ agentName: "support-graph" })] },
243
+ );
244
+ ```
245
+
246
+ Use `langChain({ recordInputs: false, recordOutputs: false })` or
247
+ `langGraph({ recordInputs: false, recordOutputs: false })` to avoid sending
248
+ prompts, tool inputs, tool outputs, retrieved documents, or generated text.
249
+
214
250
  When a helper only has IDs, use the client-level methods:
215
251
 
216
252
  ```typescript
@@ -302,7 +338,8 @@ Use `attributes` for raw attributes that do not yet have a native SDK prop.
302
338
  ## Examples
303
339
 
304
340
  See [`examples/`](./examples) for complete callback tracing, trace handle,
305
- record-by-ID, Vercel AI SDK v6/v7, and OpenAI Agents SDK examples.
341
+ record-by-ID, Vercel AI SDK v6/v7, OpenAI Agents SDK, LangChain, and LangGraph
342
+ examples.
306
343
 
307
344
  ## License
308
345
 
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
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 { LangChainCallbackHandler, LemmaLangChainCallbackHandler, langChain, langGraph, type LangChainIntegrationOptions, type LemmaLangChainIntegrationOptions, type LemmaLangGraphIntegrationOptions, } from "./langchain";
3
4
  export { openAIAgents, type OpenAIAgentsIntegrationOptions, type OpenAIAgentsSpan, type OpenAIAgentsSpanData, type OpenAIAgentsTrace, type OpenAIAgentsTracingProcessor, } from "./openai-agents";
4
5
  export { vercelAI, type LemmaVercelAIIntegrationOptions, type VercelAIIntegrationOptions, type VercelAITelemetryIntegration, } from "./vercel-ai";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -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,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"}
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,wBAAwB,EACxB,6BAA6B,EAC7B,SAAS,EACT,SAAS,EACT,KAAK,2BAA2B,EAChC,KAAK,gCAAgC,EACrC,KAAK,gCAAgC,GACtC,MAAM,aAAa,CAAC;AACrB,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.openAIAgents = 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.langGraph = exports.langChain = exports.LemmaLangChainCallbackHandler = exports.LangChainCallbackHandler = 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,11 @@ 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 langchain_1 = require("./langchain");
17
+ Object.defineProperty(exports, "LangChainCallbackHandler", { enumerable: true, get: function () { return langchain_1.LangChainCallbackHandler; } });
18
+ Object.defineProperty(exports, "LemmaLangChainCallbackHandler", { enumerable: true, get: function () { return langchain_1.LemmaLangChainCallbackHandler; } });
19
+ Object.defineProperty(exports, "langChain", { enumerable: true, get: function () { return langchain_1.langChain; } });
20
+ Object.defineProperty(exports, "langGraph", { enumerable: true, get: function () { return langchain_1.langGraph; } });
16
21
  var openai_agents_1 = require("./openai-agents");
17
22
  Object.defineProperty(exports, "openAIAgents", { enumerable: true, get: function () { return openai_agents_1.openAIAgents; } });
18
23
  var vercel_ai_1 = require("./vercel-ai");
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,iDAOyB;AANvB,6GAAA,YAAY,OAAA;AAOd,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,yCAQqB;AAPnB,qHAAA,wBAAwB,OAAA;AACxB,0HAAA,6BAA6B,OAAA;AAC7B,sGAAA,SAAS,OAAA;AACT,sGAAA,SAAS,OAAA;AAKX,iDAOyB;AANvB,6GAAA,YAAY,OAAA;AAOd,yCAKqB;AAJnB,qGAAA,QAAQ,OAAA"}
@@ -0,0 +1,55 @@
1
+ import { Lemma, type LemmaClientOptions } from "./client";
2
+ type RunId = string;
3
+ type Serialized = {
4
+ id?: string[];
5
+ name?: string;
6
+ kwargs?: Record<string, unknown>;
7
+ [key: string]: unknown;
8
+ };
9
+ type LLMResult = {
10
+ generations?: unknown[][];
11
+ llmOutput?: Record<string, unknown>;
12
+ [key: string]: unknown;
13
+ };
14
+ export type LangChainIntegrationOptions = {
15
+ lemma?: Lemma;
16
+ apiKey?: LemmaClientOptions["apiKey"];
17
+ projectId?: LemmaClientOptions["projectId"];
18
+ baseUrl?: LemmaClientOptions["baseUrl"];
19
+ fetch?: LemmaClientOptions["fetch"];
20
+ agentName?: string;
21
+ metadata?: Record<string, unknown>;
22
+ recordInputs?: boolean;
23
+ recordOutputs?: boolean;
24
+ };
25
+ export declare class LemmaLangChainCallbackHandler {
26
+ private readonly options;
27
+ name: string;
28
+ private lemma;
29
+ private readonly runs;
30
+ constructor(options?: LangChainIntegrationOptions);
31
+ private getLemma;
32
+ private traceName;
33
+ private startTrace;
34
+ private parent;
35
+ handleChainStart(serialized: Serialized, inputs: unknown, runId: RunId, parentRunId?: RunId, _tags?: string[], metadata?: Record<string, unknown>, _runType?: string, name?: string): void;
36
+ handleChainEnd(outputs: unknown, runId: RunId): Promise<void>;
37
+ handleChainError(error: unknown, runId: RunId): Promise<void>;
38
+ handleLLMStart(serialized: Serialized, prompts: string[], runId: RunId, parentRunId?: RunId, extraParams?: Record<string, unknown>): void;
39
+ handleChatModelStart(serialized: Serialized, messages: unknown[][], runId: RunId, parentRunId?: RunId, extraParams?: Record<string, unknown>): void;
40
+ handleLLMEnd(output: LLMResult, runId: RunId): void;
41
+ handleLLMError(error: unknown, runId: RunId): void;
42
+ handleToolStart(serialized: Serialized, input: unknown, runId: RunId, parentRunId?: RunId): void;
43
+ handleToolEnd(output: unknown, runId: RunId): void;
44
+ handleToolError(error: unknown, runId: RunId): void;
45
+ handleRetrieverStart(serialized: Serialized, query: string, runId: RunId, parentRunId?: RunId): void;
46
+ handleRetrieverEnd(documents: unknown[], runId: RunId): void;
47
+ handleRetrieverError(error: unknown, runId: RunId): void;
48
+ }
49
+ export declare const LangChainCallbackHandler: typeof LemmaLangChainCallbackHandler;
50
+ export declare function langChain(options?: LangChainIntegrationOptions): LemmaLangChainCallbackHandler;
51
+ export declare function langGraph(options?: LangChainIntegrationOptions): LemmaLangChainCallbackHandler;
52
+ export type LemmaLangChainIntegrationOptions = LangChainIntegrationOptions;
53
+ export type LemmaLangGraphIntegrationOptions = LangChainIntegrationOptions;
54
+ export {};
55
+ //# sourceMappingURL=langchain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"langchain.d.ts","sourceRoot":"","sources":["../src/langchain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,295 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LangChainCallbackHandler = exports.LemmaLangChainCallbackHandler = void 0;
4
+ exports.langChain = langChain;
5
+ exports.langGraph = langGraph;
6
+ const client_1 = require("./client");
7
+ function serializedName(serialized, fallback) {
8
+ if (typeof serialized?.name === "string" && serialized.name) {
9
+ return serialized.name;
10
+ }
11
+ const id = serialized?.id;
12
+ if (Array.isArray(id) && id.length > 0) {
13
+ return String(id[id.length - 1]);
14
+ }
15
+ return fallback;
16
+ }
17
+ function modelName(serialized) {
18
+ const kwargs = serialized?.kwargs;
19
+ const value = kwargs?.model ??
20
+ kwargs?.modelName ??
21
+ kwargs?.model_name ??
22
+ kwargs?.model_id ??
23
+ serialized?.model ??
24
+ serialized?.modelName ??
25
+ serialized?.model_name ??
26
+ serialized?.model_id;
27
+ return typeof value === "string" ? value : undefined;
28
+ }
29
+ function firstText(value) {
30
+ if (typeof value === "string")
31
+ return value;
32
+ if (!value || typeof value !== "object")
33
+ return undefined;
34
+ const record = value;
35
+ if (typeof record.text === "string")
36
+ return record.text;
37
+ if (typeof record.content === "string")
38
+ return record.content;
39
+ const message = record.message;
40
+ if (message && typeof message === "object") {
41
+ return firstText(message);
42
+ }
43
+ return undefined;
44
+ }
45
+ function llmOutput(result) {
46
+ const generations = result.generations;
47
+ if (!Array.isArray(generations))
48
+ return result;
49
+ const text = generations.flat().map(firstText).filter(Boolean).join("");
50
+ return text || generations;
51
+ }
52
+ function usage(result) {
53
+ const output = result.llmOutput ?? {};
54
+ const tokenUsage = output.tokenUsage ??
55
+ output.token_usage ??
56
+ output.usage ??
57
+ output.estimatedTokenUsage;
58
+ if (!tokenUsage || typeof tokenUsage !== "object")
59
+ return undefined;
60
+ const usageData = tokenUsage;
61
+ const inputTokens = usageData.promptTokens ??
62
+ usageData.prompt_tokens ??
63
+ usageData.inputTokens ??
64
+ usageData.input_tokens;
65
+ const outputTokens = usageData.completionTokens ??
66
+ usageData.completion_tokens ??
67
+ usageData.outputTokens ??
68
+ usageData.output_tokens;
69
+ return {
70
+ inputTokens: typeof inputTokens === "number" ? inputTokens : undefined,
71
+ outputTokens: typeof outputTokens === "number" ? outputTokens : undefined,
72
+ };
73
+ }
74
+ function errorMessage(error) {
75
+ return error instanceof Error ? error.message : String(error);
76
+ }
77
+ class LemmaLangChainCallbackHandler {
78
+ options;
79
+ name = "lemma";
80
+ lemma;
81
+ runs = new Map();
82
+ constructor(options = {}) {
83
+ this.options = options;
84
+ this.lemma = options.lemma;
85
+ }
86
+ getLemma() {
87
+ this.lemma ??= new client_1.Lemma({
88
+ apiKey: this.options.apiKey,
89
+ projectId: this.options.projectId,
90
+ baseUrl: this.options.baseUrl,
91
+ fetch: this.options.fetch,
92
+ });
93
+ return this.lemma;
94
+ }
95
+ traceName(serialized, fallback) {
96
+ return this.options.agentName ?? serializedName(serialized, fallback);
97
+ }
98
+ startTrace(runId, serialized, input, fallbackName, metadata) {
99
+ const trace = this.getLemma().trace({
100
+ name: this.traceName(serialized, fallbackName),
101
+ input: this.options.recordInputs === false ? undefined : input,
102
+ metadata: {
103
+ ...this.options.metadata,
104
+ ...(metadata ?? {}),
105
+ langchainRunId: runId,
106
+ },
107
+ });
108
+ this.runs.set(runId, { trace, type: "chain" });
109
+ return trace;
110
+ }
111
+ parent(runId) {
112
+ if (!runId)
113
+ return undefined;
114
+ return this.runs.get(runId);
115
+ }
116
+ handleChainStart(serialized, inputs, runId, parentRunId, _tags, metadata, _runType, name) {
117
+ const parent = this.parent(parentRunId);
118
+ if (!parent) {
119
+ this.startTrace(runId, { ...serialized, name: name ?? serialized?.name }, inputs, "langchain-run", metadata);
120
+ return;
121
+ }
122
+ const handle = (parent.handle ?? parent.trace)?.startSpan({
123
+ name: name ?? serializedName(serialized, "langchain-chain"),
124
+ input: this.options.recordInputs === false ? undefined : inputs,
125
+ metadata: this.options.metadata,
126
+ attributes: {
127
+ "langchain.run_id": runId,
128
+ "langchain.parent_run_id": parentRunId,
129
+ "langchain.run_type": "chain",
130
+ },
131
+ });
132
+ this.runs.set(runId, { handle, parentRunId, type: "chain" });
133
+ }
134
+ async handleChainEnd(outputs, runId) {
135
+ const run = this.runs.get(runId);
136
+ if (!run)
137
+ return;
138
+ if (run.trace) {
139
+ await run.trace.end(this.options.recordOutputs === false ? undefined : { output: outputs });
140
+ this.runs.delete(runId);
141
+ return;
142
+ }
143
+ run.handle?.end({
144
+ output: this.options.recordOutputs === false ? undefined : outputs,
145
+ });
146
+ this.runs.delete(runId);
147
+ }
148
+ async handleChainError(error, runId) {
149
+ const run = this.runs.get(runId);
150
+ if (!run)
151
+ return;
152
+ if (run.trace) {
153
+ run.trace.fail(error);
154
+ await run.trace.end();
155
+ this.runs.delete(runId);
156
+ return;
157
+ }
158
+ run.handle?.end({ status: "ERROR", error: errorMessage(error) });
159
+ this.runs.delete(runId);
160
+ }
161
+ handleLLMStart(serialized, prompts, runId, parentRunId, extraParams) {
162
+ const parent = this.parent(parentRunId);
163
+ const trace = parent?.trace ??
164
+ parent?.handle ??
165
+ this.startTrace(runId, serialized, prompts, "langchain-llm");
166
+ const handle = trace.startGeneration({
167
+ name: serializedName(serialized, "langchain-llm"),
168
+ input: this.options.recordInputs === false ? undefined : prompts,
169
+ metadata: this.options.metadata,
170
+ model: modelName(serialized),
171
+ llmProvider: "langchain",
172
+ llmInputMessages: this.options.recordInputs === false
173
+ ? undefined
174
+ : prompts.map((content) => ({ role: "user", content })),
175
+ llmInvocationParameters: extraParams,
176
+ attributes: {
177
+ "langchain.run_id": runId,
178
+ "langchain.parent_run_id": parentRunId,
179
+ "langchain.run_type": "llm",
180
+ },
181
+ });
182
+ this.runs.set(runId, { handle, parentRunId, type: "llm" });
183
+ }
184
+ handleChatModelStart(serialized, messages, runId, parentRunId, extraParams) {
185
+ const flatMessages = messages.flat();
186
+ const parent = this.parent(parentRunId);
187
+ const trace = parent?.trace ??
188
+ parent?.handle ??
189
+ this.startTrace(runId, serialized, flatMessages, "langchain-chat-model");
190
+ const handle = trace.startGeneration({
191
+ name: serializedName(serialized, "langchain-chat-model"),
192
+ input: this.options.recordInputs === false ? undefined : flatMessages,
193
+ metadata: this.options.metadata,
194
+ model: modelName(serialized),
195
+ llmProvider: "langchain",
196
+ llmInputMessages: this.options.recordInputs === false ? undefined : flatMessages,
197
+ llmInvocationParameters: extraParams,
198
+ attributes: {
199
+ "langchain.run_id": runId,
200
+ "langchain.parent_run_id": parentRunId,
201
+ "langchain.run_type": "llm",
202
+ },
203
+ });
204
+ this.runs.set(runId, { handle, parentRunId, type: "llm" });
205
+ }
206
+ handleLLMEnd(output, runId) {
207
+ const run = this.runs.get(runId);
208
+ if (!run?.handle)
209
+ return;
210
+ const outputText = llmOutput(output);
211
+ run.handle.end({
212
+ output: this.options.recordOutputs === false ? undefined : outputText,
213
+ usage: usage(output),
214
+ llmOutputMessages: this.options.recordOutputs === false || outputText === undefined
215
+ ? undefined
216
+ : [{ role: "assistant", content: outputText }],
217
+ });
218
+ this.runs.delete(runId);
219
+ }
220
+ handleLLMError(error, runId) {
221
+ const run = this.runs.get(runId);
222
+ run?.handle?.end({ status: "ERROR", error: errorMessage(error) });
223
+ this.runs.delete(runId);
224
+ }
225
+ handleToolStart(serialized, input, runId, parentRunId) {
226
+ const parent = this.parent(parentRunId);
227
+ const trace = parent?.trace ??
228
+ parent?.handle ??
229
+ this.startTrace(runId, serialized, input, "langchain-tool");
230
+ const name = serializedName(serialized, "langchain-tool");
231
+ const handle = trace.startTool({
232
+ name,
233
+ toolName: name,
234
+ input: this.options.recordInputs === false ? undefined : input,
235
+ metadata: this.options.metadata,
236
+ attributes: {
237
+ "langchain.run_id": runId,
238
+ "langchain.parent_run_id": parentRunId,
239
+ "langchain.run_type": "tool",
240
+ },
241
+ });
242
+ this.runs.set(runId, { handle, parentRunId, type: "tool" });
243
+ }
244
+ handleToolEnd(output, runId) {
245
+ const run = this.runs.get(runId);
246
+ run?.handle?.end({
247
+ output: this.options.recordOutputs === false ? undefined : output,
248
+ });
249
+ this.runs.delete(runId);
250
+ }
251
+ handleToolError(error, runId) {
252
+ const run = this.runs.get(runId);
253
+ run?.handle?.end({ status: "ERROR", error: errorMessage(error) });
254
+ this.runs.delete(runId);
255
+ }
256
+ handleRetrieverStart(serialized, query, runId, parentRunId) {
257
+ const parent = this.parent(parentRunId);
258
+ const trace = parent?.trace ??
259
+ parent?.handle ??
260
+ this.startTrace(runId, serialized, query, "langchain-retriever");
261
+ const handle = trace.startSpan({
262
+ name: serializedName(serialized, "langchain-retriever"),
263
+ input: this.options.recordInputs === false ? undefined : query,
264
+ metadata: this.options.metadata,
265
+ attributes: {
266
+ "langchain.run_id": runId,
267
+ "langchain.parent_run_id": parentRunId,
268
+ "langchain.run_type": "retriever",
269
+ },
270
+ });
271
+ this.runs.set(runId, { handle, parentRunId, type: "retriever" });
272
+ }
273
+ handleRetrieverEnd(documents, runId) {
274
+ const run = this.runs.get(runId);
275
+ run?.handle?.end({
276
+ output: this.options.recordOutputs === false ? undefined : documents,
277
+ retrievalDocuments: this.options.recordOutputs === false ? undefined : documents,
278
+ });
279
+ this.runs.delete(runId);
280
+ }
281
+ handleRetrieverError(error, runId) {
282
+ const run = this.runs.get(runId);
283
+ run?.handle?.end({ status: "ERROR", error: errorMessage(error) });
284
+ this.runs.delete(runId);
285
+ }
286
+ }
287
+ exports.LemmaLangChainCallbackHandler = LemmaLangChainCallbackHandler;
288
+ exports.LangChainCallbackHandler = LemmaLangChainCallbackHandler;
289
+ function langChain(options = {}) {
290
+ return new LemmaLangChainCallbackHandler(options);
291
+ }
292
+ function langGraph(options = {}) {
293
+ return langChain({ agentName: "langgraph-agent", ...options });
294
+ }
295
+ //# sourceMappingURL=langchain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"langchain.js","sourceRoot":"","sources":["../src/langchain.ts"],"names":[],"mappings":"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"}
@@ -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>;
@@ -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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"}
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 endExplicitTrace(event) {
106
- if (endedExplicitTrace)
107
- return;
146
+ async function endOwnedTrace(event) {
108
147
  const trace = options.trace;
109
- if (typeof trace?.end !== "function")
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
- endedExplicitTrace = true;
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 = getTrace(options.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
- trace.recordGeneration({
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 = getTrace(options.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 = getTrace(options.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 = getTrace(options.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
- : undefined;
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 = getTrace(options.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
- : undefined;
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, { event, startedAt: new Date() });
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 endExplicitTrace(event);
444
+ await endOwnedTrace(event);
364
445
  return;
365
446
  }
366
447
  recordV6Generation(event, v6Starts.shift());
367
- await endExplicitTrace(event);
448
+ await endOwnedTrace(event);
368
449
  },
369
450
  async onEnd(event) {
370
- await endExplicitTrace(event);
451
+ await endOwnedTrace(event);
371
452
  },
372
453
  onToolCallFinish(event) {
373
- const trace = getTrace(options.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({
@@ -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,15 @@
1
+ import { ChatOpenAI } from "@langchain/openai";
2
+ import { HumanMessage } from "@langchain/core/messages";
3
+ import { langChain } from "@uselemma/tracing";
4
+
5
+ const lemmaCallbacks = [langChain({ agentName: "support-agent" })];
6
+
7
+ export async function callLangChain(userMessage: string) {
8
+ const model = new ChatOpenAI({
9
+ model: "gpt-4o",
10
+ callbacks: lemmaCallbacks,
11
+ });
12
+
13
+ const response = await model.invoke([new HumanMessage(userMessage)]);
14
+ return response.content;
15
+ }
@@ -0,0 +1,24 @@
1
+ import { StateGraph, START, END } from "@langchain/langgraph";
2
+ import { langGraph } from "@uselemma/tracing";
3
+
4
+ type GraphState = {
5
+ input: string;
6
+ output?: string;
7
+ };
8
+
9
+ const graph = new StateGraph<GraphState>()
10
+ .addNode("answer", async (state) => ({
11
+ output: `You said: ${state.input}`,
12
+ }))
13
+ .addEdge(START, "answer")
14
+ .addEdge("answer", END)
15
+ .compile();
16
+
17
+ export async function callLangGraph(userMessage: string) {
18
+ const result = await graph.invoke(
19
+ { input: userMessage },
20
+ { callbacks: [langGraph({ agentName: "support-graph" })] },
21
+ );
22
+
23
+ return result.output;
24
+ }
@@ -1,7 +1,7 @@
1
1
  import { generateText } from "ai";
2
- import { Lemma, vercelAI } from "@uselemma/tracing";
2
+ import { vercelAI } from "@uselemma/tracing";
3
3
 
4
- const lemma = new Lemma({
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
- integrations: [vercelAI({ trace })],
17
+ functionId: "support-agent",
18
+ integrations: [lemmaTelemetry],
23
19
  },
24
20
  });
25
21
 
@@ -1,7 +1,7 @@
1
1
  import { generateText } from "ai";
2
- import { Lemma, vercelAI } from "@uselemma/tracing";
2
+ import { vercelAI } from "@uselemma/tracing";
3
3
 
4
- const lemma = new Lemma({
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
- integrations: [vercelAI({ trace })],
17
+ functionId: "support-agent",
18
+ integrations: [lemmaTelemetry],
23
19
  },
24
20
  });
25
21
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uselemma/tracing",
3
- "version": "4.1.0",
3
+ "version": "4.3.0",
4
4
  "description": "HTTP tracing SDK for Lemma",
5
5
  "license": "MIT",
6
6
  "author": "Lemma",