@traccia2/sdk 0.0.5 → 0.0.6

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
@@ -332,11 +332,11 @@ await stopTracing();
332
332
 
333
333
  #### LangChain with Callback Handler
334
334
 
335
- The SDK provides a `TraciaCallbackHandler` for seamless integration with LangChain. It extends LangChain's `BaseCallbackHandler` for proper type safety and interface compliance:
335
+ The SDK provides a `TracciaCallbackHandler` for seamless integration with LangChain. It extends LangChain's `BaseCallbackHandler` for proper type safety and interface compliance:
336
336
 
337
337
  ```typescript
338
338
  import { startTracing, getTracerProvider } from '@traccia/sdk';
339
- import { TraciaCallbackHandler } from '@traccia/sdk/integrations';
339
+ import { TracciaCallbackHandler } from '@traccia/sdk/integrations';
340
340
  import { ChatOpenAI } from '@langchain/openai';
341
341
  import { AgentExecutor, createOpenAIToolsAgent } from 'langchain/agents';
342
342
 
@@ -350,24 +350,24 @@ await startTracing({
350
350
  });
351
351
 
352
352
  // Create callback handler for tracing
353
- const traciaHandler = new TraciaCallbackHandler();
353
+ const tracciaHandler = new TracciaCallbackHandler();
354
354
 
355
355
  // Use with LangChain models and agents
356
356
  const model = new ChatOpenAI({
357
357
  modelName: 'gpt-4',
358
- callbacks: [traciaHandler],
358
+ callbacks: [tracciaHandler],
359
359
  });
360
360
 
361
361
  const agent = await createOpenAIToolsAgent({
362
362
  llmWithTools: model,
363
363
  tools: [yourTools],
364
- callbacks: [traciaHandler],
364
+ callbacks: [tracciaHandler],
365
365
  });
366
366
 
367
367
  const executor = new AgentExecutor({
368
368
  agent,
369
369
  tools: [yourTools],
370
- callbacks: [traciaHandler],
370
+ callbacks: [tracciaHandler],
371
371
  });
372
372
 
373
373
  // Run with automatic tracing
@@ -386,7 +386,7 @@ If you're using ChatOllama instead of ChatOpenAI for local LLM inference:
386
386
 
387
387
  ```typescript
388
388
  import { startTracing, getTracerProvider } from '@traccia/sdk';
389
- import { TraciaCallbackHandler } from '@traccia/sdk/integrations';
389
+ import { TracciaCallbackHandler } from '@traccia/sdk/integrations';
390
390
  import { ChatOllama } from '@langchain/ollama';
391
391
 
392
392
  // Initialize tracing
@@ -398,13 +398,13 @@ await startTracing({
398
398
  });
399
399
 
400
400
  // Create callback handler
401
- const traciaHandler = new TraciaCallbackHandler();
401
+ const tracciaHandler = new TracciaCallbackHandler();
402
402
 
403
403
  // Use with ChatOllama (local model)
404
404
  const model = new ChatOllama({
405
405
  model: 'mistral', // or 'llama2', 'neural-chat', etc.
406
406
  baseUrl: 'http://localhost:11434', // Ollama server
407
- callbacks: [traciaHandler], // Enable tracing
407
+ callbacks: [tracciaHandler], // Enable tracing
408
408
  });
409
409
 
410
410
  // Use the model - fully traced!
@@ -4,19 +4,19 @@
4
4
  * Instead of manually passing callbacks to every component, use these
5
5
  * convenience functions for automatic instrumentation with zero boilerplate.
6
6
  */
7
- import { TraciaCallbackHandler } from './langchain-callback';
7
+ import { TracciaCallbackHandler } from './langchain-callback';
8
8
  /**
9
9
  * Get or create the global Traccia callback handler.
10
10
  *
11
11
  * @example
12
12
  * // Instead of:
13
- * const handler = new TraciaCallbackHandler();
13
+ * const handler = new TracciaCallbackHandler();
14
14
  * const model = new ChatOpenAI({ callbacks: [handler] });
15
15
  *
16
16
  * // Just do:
17
17
  * const model = new ChatOpenAI({ callbacks: [getTraciaHandler()] });
18
18
  */
19
- export declare function getTraciaHandler(): TraciaCallbackHandler;
19
+ export declare function getTraciaHandler(): TracciaCallbackHandler;
20
20
  /**
21
21
  * Wrap any LangChain model/chain/agent with automatic tracing.
22
22
  *
@@ -103,6 +103,6 @@ export declare function setupLangChainWithTracing(options: {
103
103
  }): Promise<{
104
104
  model: any;
105
105
  executor: any;
106
- handler: TraciaCallbackHandler;
106
+ handler: TracciaCallbackHandler;
107
107
  }>;
108
108
  //# sourceMappingURL=auto-langchain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auto-langchain.d.ts","sourceRoot":"","sources":["../../src/integrations/auto-langchain.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAO7D;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,IAAI,qBAAqB,CAKxD;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,GAAG,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,CAkB1D;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAWlE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE;IACvD,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5C,GAAG,OAAO,CAAC,GAAG,CAAC,CAmBf;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,GAAG,CAAC;CACb,GAAG,OAAO,CAAC,GAAG,CAAC,CAkBf;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,IAEnC,SAAS,GAAG,EACZ,aAAa,MAAM,EACnB,YAAY,kBAAkB,wBA0BjC;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC;IACV,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,EAAE,qBAAqB,CAAC;CAChC,CAAC,CA8DD"}
1
+ {"version":3,"file":"auto-langchain.d.ts","sourceRoot":"","sources":["../../src/integrations/auto-langchain.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAO9D;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,IAAI,sBAAsB,CAKzD;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,GAAG,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,CAkB1D;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAWlE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE;IACvD,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5C,GAAG,OAAO,CAAC,GAAG,CAAC,CAmBf;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,GAAG,CAAC;CACb,GAAG,OAAO,CAAC,GAAG,CAAC,CAkBf;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,IAEnC,SAAS,GAAG,EACZ,aAAa,MAAM,EACnB,YAAY,kBAAkB,wBA0BjC;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC;IACV,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,EAAE,sBAAsB,CAAC;CACjC,CAAC,CA8DD"}
@@ -56,7 +56,7 @@ let globalTraciaHandler = null;
56
56
  *
57
57
  * @example
58
58
  * // Instead of:
59
- * const handler = new TraciaCallbackHandler();
59
+ * const handler = new TracciaCallbackHandler();
60
60
  * const model = new ChatOpenAI({ callbacks: [handler] });
61
61
  *
62
62
  * // Just do:
@@ -64,7 +64,7 @@ let globalTraciaHandler = null;
64
64
  */
65
65
  function getTraciaHandler() {
66
66
  if (!globalTraciaHandler) {
67
- globalTraciaHandler = new langchain_callback_1.TraciaCallbackHandler();
67
+ globalTraciaHandler = new langchain_callback_1.TracciaCallbackHandler();
68
68
  }
69
69
  return globalTraciaHandler;
70
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auto-langchain.js","sourceRoot":"","sources":["../../src/integrations/auto-langchain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-langchain.js","sourceRoot":"","sources":["../../src/integrations/auto-langchain.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * @module integrations
6
6
  */
7
- export { TraciaCallbackHandler } from './langchain-callback';
7
+ export { TracciaCallbackHandler } from './langchain-callback';
8
8
  export { getTraciaHandler, withTracing, createTracedOpenAI, createTracedAgentExecutor, createTracedLLMChain, traced, setupLangChainWithTracing, } from './auto-langchain';
9
9
  export { instrumentLangGraph, createTracedNode, createTracedConditional, } from './langgraph-instrumentation';
10
10
  export { wrapGraphWithTracing, tracedNode, tracedConditional, createSimpleTracedGraph, traceableFunction, createAgentWorkflow, } from './auto-langgraph';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/integrations/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,yBAAyB,EACzB,oBAAoB,EACpB,MAAM,EACN,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,4BAA4B,EAC5B,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/integrations/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,yBAAyB,EACzB,oBAAoB,EACpB,MAAM,EACN,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,4BAA4B,EAC5B,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,sBAAsB,CAAC"}
@@ -6,10 +6,10 @@
6
6
  * @module integrations
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.POPULAR_OLLAMA_MODELS = exports.getOllamaSetupInstructions = exports.createOllamaStreamingChatbot = exports.createOllamaChatbot = exports.setupOllamaWithTracing = exports.createOllamaWithTracing = exports.createAgentWorkflow = exports.traceableFunction = exports.createSimpleTracedGraph = exports.tracedConditional = exports.tracedNode = exports.wrapGraphWithTracing = exports.createTracedConditional = exports.createTracedNode = exports.instrumentLangGraph = exports.setupLangChainWithTracing = exports.traced = exports.createTracedLLMChain = exports.createTracedAgentExecutor = exports.createTracedOpenAI = exports.withTracing = exports.getTraciaHandler = exports.TraciaCallbackHandler = void 0;
9
+ exports.POPULAR_OLLAMA_MODELS = exports.getOllamaSetupInstructions = exports.createOllamaStreamingChatbot = exports.createOllamaChatbot = exports.setupOllamaWithTracing = exports.createOllamaWithTracing = exports.createAgentWorkflow = exports.traceableFunction = exports.createSimpleTracedGraph = exports.tracedConditional = exports.tracedNode = exports.wrapGraphWithTracing = exports.createTracedConditional = exports.createTracedNode = exports.instrumentLangGraph = exports.setupLangChainWithTracing = exports.traced = exports.createTracedLLMChain = exports.createTracedAgentExecutor = exports.createTracedOpenAI = exports.withTracing = exports.getTraciaHandler = exports.TracciaCallbackHandler = void 0;
10
10
  // LangChain integrations
11
11
  var langchain_callback_1 = require("./langchain-callback");
12
- Object.defineProperty(exports, "TraciaCallbackHandler", { enumerable: true, get: function () { return langchain_callback_1.TraciaCallbackHandler; } });
12
+ Object.defineProperty(exports, "TracciaCallbackHandler", { enumerable: true, get: function () { return langchain_callback_1.TracciaCallbackHandler; } });
13
13
  var auto_langchain_1 = require("./auto-langchain");
14
14
  Object.defineProperty(exports, "getTraciaHandler", { enumerable: true, get: function () { return auto_langchain_1.getTraciaHandler; } });
15
15
  Object.defineProperty(exports, "withTracing", { enumerable: true, get: function () { return auto_langchain_1.withTracing; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integrations/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,yBAAyB;AACzB,2DAA6D;AAApD,2HAAA,qBAAqB,OAAA;AAC9B,mDAQ0B;AAPxB,kHAAA,gBAAgB,OAAA;AAChB,6GAAA,WAAW,OAAA;AACX,oHAAA,kBAAkB,OAAA;AAClB,2HAAA,yBAAyB,OAAA;AACzB,sHAAA,oBAAoB,OAAA;AACpB,wGAAA,MAAM,OAAA;AACN,2HAAA,yBAAyB,OAAA;AAG3B,yBAAyB;AACzB,yEAIqC;AAHnC,gIAAA,mBAAmB,OAAA;AACnB,6HAAA,gBAAgB,OAAA;AAChB,oIAAA,uBAAuB,OAAA;AAEzB,mDAO0B;AANxB,sHAAA,oBAAoB,OAAA;AACpB,4GAAA,UAAU,OAAA;AACV,mHAAA,iBAAiB,OAAA;AACjB,yHAAA,uBAAuB,OAAA;AACvB,mHAAA,iBAAiB,OAAA;AACjB,qHAAA,mBAAmB,OAAA;AAGrB,sBAAsB;AACtB,2DAO8B;AAN5B,6HAAA,uBAAuB,OAAA;AACvB,4HAAA,sBAAsB,OAAA;AACtB,yHAAA,mBAAmB,OAAA;AACnB,kIAAA,4BAA4B,OAAA;AAC5B,gIAAA,0BAA0B,OAAA;AAC1B,2HAAA,qBAAqB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integrations/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,yBAAyB;AACzB,2DAA8D;AAArD,4HAAA,sBAAsB,OAAA;AAC/B,mDAQ0B;AAPxB,kHAAA,gBAAgB,OAAA;AAChB,6GAAA,WAAW,OAAA;AACX,oHAAA,kBAAkB,OAAA;AAClB,2HAAA,yBAAyB,OAAA;AACzB,sHAAA,oBAAoB,OAAA;AACpB,wGAAA,MAAM,OAAA;AACN,2HAAA,yBAAyB,OAAA;AAG3B,yBAAyB;AACzB,yEAIqC;AAHnC,gIAAA,mBAAmB,OAAA;AACnB,6HAAA,gBAAgB,OAAA;AAChB,oIAAA,uBAAuB,OAAA;AAEzB,mDAO0B;AANxB,sHAAA,oBAAoB,OAAA;AACpB,4GAAA,UAAU,OAAA;AACV,mHAAA,iBAAiB,OAAA;AACjB,yHAAA,uBAAuB,OAAA;AACvB,mHAAA,iBAAiB,OAAA;AACjB,qHAAA,mBAAmB,OAAA;AAGrB,sBAAsB;AACtB,2DAO8B;AAN5B,6HAAA,uBAAuB,OAAA;AACvB,4HAAA,sBAAsB,OAAA;AACtB,yHAAA,mBAAmB,OAAA;AACnB,kIAAA,4BAA4B,OAAA;AAC5B,gIAAA,0BAA0B,OAAA;AAC1B,2HAAA,qBAAqB,OAAA"}
@@ -3,7 +3,7 @@
3
3
  * Integrates with LangChain's callback system to automatically instrument
4
4
  * LLM calls, chains, agents, and tools.
5
5
  */
6
- declare let BaseCallbackHandler: any;
6
+ import { BaseCallbackHandler } from '@langchain/core/callbacks/base';
7
7
  /**
8
8
  * LangChain Callback Handler for Traccia SDK.
9
9
  * Automatically traces LLM calls, chains, agents, and tools.
@@ -13,17 +13,19 @@ declare let BaseCallbackHandler: any;
13
13
  *
14
14
  * @example
15
15
  * import { ChatOpenAI } from '@langchain/openai';
16
- * import { TraciaCallbackHandler } from '@traccia/sdk/integrations';
16
+ * import { TracciaCallbackHandler } from '@traccia/sdk/integrations';
17
17
  *
18
- * const handler = new TraciaCallbackHandler();
18
+ * const handler = new TracciaCallbackHandler();
19
19
  * const model = new ChatOpenAI({ callbacks: [handler] });
20
20
  *
21
21
  * const response = await model.invoke({ input: 'Hello!' });
22
22
  * // Automatically traced with spans for LLM calls, tokens, latency, etc.
23
23
  */
24
- export declare class TraciaCallbackHandler extends BaseCallbackHandler {
24
+ export declare class TracciaCallbackHandler extends BaseCallbackHandler {
25
+ name: string;
25
26
  private tracer;
26
27
  private spanStack;
28
+ private streamingStartTimes;
27
29
  /**
28
30
  * Extract model name from LLM instance, checking multiple property locations.
29
31
  * Different LLM implementations store the model name in different properties.
@@ -41,6 +43,11 @@ export declare class TraciaCallbackHandler extends BaseCallbackHandler {
41
43
  * Handle LLM error.
42
44
  */
43
45
  handleLLMError(error: Error, runId: string): Promise<void>;
46
+ /**
47
+ * Handle LLM new token - called when a new token is generated during streaming.
48
+ * Tracks first token latency and token count for streaming scenarios.
49
+ */
50
+ handleLLMNewToken(_token: string, _idx?: any, runId?: string): Promise<void>;
44
51
  /**
45
52
  * Handle chain start - called when a chain begins execution.
46
53
  */
@@ -76,6 +83,7 @@ export declare class TraciaCallbackHandler extends BaseCallbackHandler {
76
83
  onLLMStart(llm: any, prompts: string[], runId: string, parentRunId?: string): Promise<void>;
77
84
  onLLMEnd(output: any, runId: string): Promise<void>;
78
85
  onLLMError(error: Error, runId: string): Promise<void>;
86
+ onLLMNewToken(_token: string, idx?: any, runId?: string): Promise<void>;
79
87
  onChainStart(chain: any, inputs: any, runId: string, parentRunId?: string): Promise<void>;
80
88
  onChainEnd(output: any, runId: string): Promise<void>;
81
89
  onChainError(error: Error, runId: string): Promise<void>;
@@ -85,5 +93,4 @@ export declare class TraciaCallbackHandler extends BaseCallbackHandler {
85
93
  onAgentAction(action: any, runId: string): Promise<void>;
86
94
  onAgentFinish(finish: any, runId: string): Promise<void>;
87
95
  }
88
- export {};
89
96
  //# sourceMappingURL=langchain-callback.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"langchain-callback.d.ts","sourceRoot":"","sources":["../../src/integrations/langchain-callback.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,QAAA,IAAI,mBAAmB,EAAE,GAMxB,CAAC;AAkBF;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,qBAAsB,SAAQ,mBAAmB;IAC5D,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,SAAS,CAAiC;IAElD;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAUxB;;OAEG;IACU,cAAc,CACzB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,MAAM,EAAE,EACjB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;IA0ChB;;OAEG;IACU,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuDpE;;OAEG;IACU,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASvE;;OAEG;IACU,gBAAgB,CAC3B,KAAK,EAAE,GAAG,EACV,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;IAuBhB;;OAEG;IACU,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBtE;;OAEG;IACU,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASzE;;OAEG;IACU,eAAe,CAC1B,IAAI,EAAE,GAAG,EACT,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;IAuBhB;;OAEG;IACU,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxE;;OAEG;IACU,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASxE;;OAEG;IACU,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWzE;;OAEG;IACU,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB5D,UAAU,CACrB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,MAAM,EAAE,EACjB,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAIH,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD,YAAY,CACvB,KAAK,EAAE,GAAG,EACV,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAIH,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxD,WAAW,CACtB,IAAI,EAAE,GAAG,EACT,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAIH,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxD,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGtE"}
1
+ {"version":3,"file":"langchain-callback.d.ts","sourceRoot":"","sources":["../../src/integrations/langchain-callback.ts"],"names":[],"mappings":"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"}
@@ -5,35 +5,9 @@
5
5
  * LLM calls, chains, agents, and tools.
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.TraciaCallbackHandler = void 0;
8
+ exports.TracciaCallbackHandler = void 0;
9
9
  const auto_1 = require("../auto");
10
- // Try to import BaseCallbackHandler from different LangChain versions
11
- let BaseCallbackHandler = class {
12
- constructor() {
13
- this.ignoreAgent = false;
14
- this.ignoreChain = false;
15
- this.ignoreLLM = false;
16
- this.ignoreRetriever = false;
17
- this.ignoreToolUse = false;
18
- }
19
- };
20
- try {
21
- // Try LangChain 0.2.x+
22
- // eslint-disable-next-line @typescript-eslint/no-var-requires
23
- const { BaseCallbackHandler: Handler } = require('@langchain/core/callbacks/base');
24
- BaseCallbackHandler = Handler;
25
- }
26
- catch {
27
- try {
28
- // Try older LangChain versions
29
- // eslint-disable-next-line @typescript-eslint/no-var-requires
30
- const { BaseCallbackHandler: Handler } = require('langchain/callbacks');
31
- BaseCallbackHandler = Handler;
32
- }
33
- catch {
34
- // Fallback to basic implementation - user likely has LangChain installed
35
- }
36
- }
10
+ const base_1 = require("@langchain/core/callbacks/base");
37
11
  /**
38
12
  * LangChain Callback Handler for Traccia SDK.
39
13
  * Automatically traces LLM calls, chains, agents, and tools.
@@ -43,19 +17,21 @@ catch {
43
17
  *
44
18
  * @example
45
19
  * import { ChatOpenAI } from '@langchain/openai';
46
- * import { TraciaCallbackHandler } from '@traccia/sdk/integrations';
20
+ * import { TracciaCallbackHandler } from '@traccia/sdk/integrations';
47
21
  *
48
- * const handler = new TraciaCallbackHandler();
22
+ * const handler = new TracciaCallbackHandler();
49
23
  * const model = new ChatOpenAI({ callbacks: [handler] });
50
24
  *
51
25
  * const response = await model.invoke({ input: 'Hello!' });
52
26
  * // Automatically traced with spans for LLM calls, tokens, latency, etc.
53
27
  */
54
- class TraciaCallbackHandler extends BaseCallbackHandler {
28
+ class TracciaCallbackHandler extends base_1.BaseCallbackHandler {
55
29
  constructor() {
56
30
  super(...arguments);
31
+ this.name = 'TracciaCallbackHandler';
57
32
  this.tracer = (0, auto_1.getTracer)('langchain');
58
33
  this.spanStack = new Map();
34
+ this.streamingStartTimes = {};
59
35
  }
60
36
  /**
61
37
  * Extract model name from LLM instance, checking multiple property locations.
@@ -120,21 +96,42 @@ class TraciaCallbackHandler extends BaseCallbackHandler {
120
96
  if (span) {
121
97
  try {
122
98
  // Try multiple ways to get token usage
123
- // OpenAI format
99
+ // OpenAI format and new @langchain/core format
124
100
  const tokenUsage = output?.llmOutput?.token_usage ||
101
+ output?.llmOutput?.tokenUsage ||
125
102
  output?.token_usage ||
126
103
  output?.metadata?.token_usage;
127
104
  if (tokenUsage) {
128
- if (tokenUsage.prompt_tokens !== undefined) {
129
- span.setAttribute('llm.tokens.prompt', tokenUsage.prompt_tokens);
105
+ // Handle standard token counts
106
+ const promptTokens = tokenUsage.prompt_tokens ?? tokenUsage.promptTokens;
107
+ const completionTokens = tokenUsage.completion_tokens ?? tokenUsage.completionTokens;
108
+ const totalTokens = tokenUsage.total_tokens ?? tokenUsage.totalTokens;
109
+ if (promptTokens !== undefined) {
110
+ span.setAttribute('llm.tokens.prompt', promptTokens);
130
111
  }
131
- if (tokenUsage.completion_tokens !== undefined) {
132
- span.setAttribute('llm.tokens.completion', tokenUsage.completion_tokens);
112
+ if (completionTokens !== undefined) {
113
+ span.setAttribute('llm.tokens.completion', completionTokens);
133
114
  }
134
- const totalTokens = (tokenUsage.prompt_tokens || 0) + (tokenUsage.completion_tokens || 0);
135
- if (totalTokens > 0) {
115
+ if (totalTokens !== undefined) {
136
116
  span.setAttribute('llm.tokens.total', totalTokens);
137
117
  }
118
+ // Handle detailed token breakdown for models like GPT-4o vision
119
+ // input_token_details contains breakdown of prompt token usage
120
+ if (tokenUsage.input_token_details && typeof tokenUsage.input_token_details === 'object') {
121
+ for (const [key, value] of Object.entries(tokenUsage.input_token_details)) {
122
+ if (typeof value === 'number') {
123
+ span.setAttribute(`llm.tokens.input_${key}`, value);
124
+ }
125
+ }
126
+ }
127
+ // output_token_details contains breakdown of completion token usage
128
+ if (tokenUsage.output_token_details && typeof tokenUsage.output_token_details === 'object') {
129
+ for (const [key, value] of Object.entries(tokenUsage.output_token_details)) {
130
+ if (typeof value === 'number') {
131
+ span.setAttribute(`llm.tokens.output_${key}`, value);
132
+ }
133
+ }
134
+ }
138
135
  }
139
136
  // Capture output text length
140
137
  if (output?.text) {
@@ -179,6 +176,25 @@ class TraciaCallbackHandler extends BaseCallbackHandler {
179
176
  this.spanStack.delete(runId);
180
177
  }
181
178
  }
179
+ /**
180
+ * Handle LLM new token - called when a new token is generated during streaming.
181
+ * Tracks first token latency and token count for streaming scenarios.
182
+ */
183
+ async handleLLMNewToken(_token, _idx, runId) {
184
+ if (runId && !(runId in this.streamingStartTimes)) {
185
+ // Record the time of the first streaming token
186
+ this.streamingStartTimes[runId] = new Date();
187
+ const span = this.spanStack.get(runId);
188
+ if (span) {
189
+ try {
190
+ span.setAttribute('stream.first_token_generated', true);
191
+ }
192
+ catch (error) {
193
+ // Silently fail
194
+ }
195
+ }
196
+ }
197
+ }
182
198
  /**
183
199
  * Handle chain start - called when a chain begins execution.
184
200
  */
@@ -323,6 +339,9 @@ class TraciaCallbackHandler extends BaseCallbackHandler {
323
339
  async onLLMError(error, runId) {
324
340
  return this.handleLLMError(error, runId);
325
341
  }
342
+ async onLLMNewToken(_token, idx, runId) {
343
+ return this.handleLLMNewToken(_token, idx, runId);
344
+ }
326
345
  async onChainStart(chain, inputs, runId, parentRunId) {
327
346
  return this.handleChainStart(chain, inputs, runId, parentRunId);
328
347
  }
@@ -348,5 +367,5 @@ class TraciaCallbackHandler extends BaseCallbackHandler {
348
367
  return this.handleAgentFinish(finish, runId);
349
368
  }
350
369
  }
351
- exports.TraciaCallbackHandler = TraciaCallbackHandler;
370
+ exports.TracciaCallbackHandler = TracciaCallbackHandler;
352
371
  //# sourceMappingURL=langchain-callback.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"langchain-callback.js","sourceRoot":"","sources":["../../src/integrations/langchain-callback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"langchain-callback.js","sourceRoot":"","sources":["../../src/integrations/langchain-callback.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@traccia2/sdk",
3
- "version": "0.0.5",
3
+ "version": "0.0.6",
4
4
  "description": "Tracing SDK for agent applications",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -67,6 +67,7 @@
67
67
  "prepare": "npm run build"
68
68
  },
69
69
  "devDependencies": {
70
+ "@langchain/core": ">=0.3.8",
70
71
  "@types/jest": "^29.5.11",
71
72
  "@types/node": "^20.10.6",
72
73
  "@typescript-eslint/eslint-plugin": "^6.17.0",
@@ -80,5 +81,9 @@
80
81
  "publishConfig": {
81
82
  "access": "public"
82
83
  },
84
+ "peerDependencies": {
85
+ "@langchain/core": ">=0.3.8",
86
+ "@opentelemetry/api": "^1.9.0"
87
+ },
83
88
  "dependencies": {}
84
89
  }
@@ -2,10 +2,10 @@
2
2
  * Tests for LangChain integration (TraciaCallbackHandler)
3
3
  */
4
4
 
5
- import { TraciaCallbackHandler } from '../integrations/langchain-callback';
5
+ import { TracciaCallbackHandler } from '../integrations/langchain-callback';
6
6
  import { startTracing, stopTracing } from '../auto';
7
7
 
8
- describe('TraciaCallbackHandler', () => {
8
+ describe('TracciaCallbackHandler', () => {
9
9
  beforeEach(() => {
10
10
  startTracing({
11
11
  enableTokenCounting: false,
@@ -19,7 +19,7 @@ describe('TraciaCallbackHandler', () => {
19
19
 
20
20
  describe('handleLLMStart', () => {
21
21
  it('should create a span for LLM invocation', async () => {
22
- const handler = new TraciaCallbackHandler();
22
+ const handler = new TracciaCallbackHandler();
23
23
  const mockLLM = {
24
24
  name: 'gpt-4',
25
25
  _modelType: 'openai',
@@ -32,7 +32,7 @@ describe('TraciaCallbackHandler', () => {
32
32
  });
33
33
 
34
34
  it('should capture LLM model name in attributes', async () => {
35
- const handler = new TraciaCallbackHandler();
35
+ const handler = new TracciaCallbackHandler();
36
36
  const mockLLM = {
37
37
  name: 'claude-3',
38
38
  _modelType: 'anthropic',
@@ -45,7 +45,7 @@ describe('TraciaCallbackHandler', () => {
45
45
  });
46
46
 
47
47
  it('should capture prompt count', async () => {
48
- const handler = new TraciaCallbackHandler();
48
+ const handler = new TracciaCallbackHandler();
49
49
  const mockLLM = { name: 'test-model' };
50
50
  const prompts = ['p1', 'p2', 'p3'];
51
51
 
@@ -56,7 +56,7 @@ describe('TraciaCallbackHandler', () => {
56
56
  });
57
57
 
58
58
  it('should handle missing model name gracefully', async () => {
59
- const handler = new TraciaCallbackHandler();
59
+ const handler = new TracciaCallbackHandler();
60
60
  const mockLLM = {}; // No name or _modelType
61
61
 
62
62
  await handler.handleLLMStart(mockLLM, ['prompt'], 'run-4');
@@ -68,7 +68,7 @@ describe('TraciaCallbackHandler', () => {
68
68
 
69
69
  describe('handleLLMEnd', () => {
70
70
  it('should end LLM span and record token counts', async () => {
71
- const handler = new TraciaCallbackHandler();
71
+ const handler = new TracciaCallbackHandler();
72
72
  const mockLLM = { name: 'gpt-4' };
73
73
 
74
74
  // Start span
@@ -85,7 +85,7 @@ describe('TraciaCallbackHandler', () => {
85
85
  });
86
86
 
87
87
  it('should record output length', async () => {
88
- const handler = new TraciaCallbackHandler();
88
+ const handler = new TracciaCallbackHandler();
89
89
  const mockLLM = { name: 'test' };
90
90
 
91
91
  await handler.handleLLMStart(mockLLM, ['prompt'], 'run-6');
@@ -102,7 +102,7 @@ describe('TraciaCallbackHandler', () => {
102
102
 
103
103
  describe('handleChainStart', () => {
104
104
  it('should create a span for chain execution', async () => {
105
- const handler = new TraciaCallbackHandler();
105
+ const handler = new TracciaCallbackHandler();
106
106
  const mockChain = {
107
107
  name: 'test-chain',
108
108
  _chainType: 'stuff',
@@ -114,7 +114,7 @@ describe('TraciaCallbackHandler', () => {
114
114
  });
115
115
 
116
116
  it('should capture chain name and type', async () => {
117
- const handler = new TraciaCallbackHandler();
117
+ const handler = new TracciaCallbackHandler();
118
118
  const mockChain = {
119
119
  name: 'qa-chain',
120
120
  _chainType: 'retrieval_qa',
@@ -128,7 +128,7 @@ describe('TraciaCallbackHandler', () => {
128
128
  });
129
129
 
130
130
  it('should record input keys', async () => {
131
- const handler = new TraciaCallbackHandler();
131
+ const handler = new TracciaCallbackHandler();
132
132
  const mockChain = { name: 'chain' };
133
133
  const inputs = { key1: 'value1', key2: 'value2' };
134
134
 
@@ -142,7 +142,7 @@ describe('TraciaCallbackHandler', () => {
142
142
 
143
143
  describe('handleChainEnd', () => {
144
144
  it('should end chain span and record output', async () => {
145
- const handler = new TraciaCallbackHandler();
145
+ const handler = new TracciaCallbackHandler();
146
146
  const mockChain = { name: 'chain' };
147
147
 
148
148
  await handler.handleChainStart(mockChain, { input: 'test' }, 'chain-4');
@@ -156,7 +156,7 @@ describe('TraciaCallbackHandler', () => {
156
156
 
157
157
  describe('handleToolStart', () => {
158
158
  it('should create a span for tool invocation', async () => {
159
- const handler = new TraciaCallbackHandler();
159
+ const handler = new TracciaCallbackHandler();
160
160
  const mockTool = {
161
161
  name: 'search-api',
162
162
  };
@@ -167,7 +167,7 @@ describe('TraciaCallbackHandler', () => {
167
167
  });
168
168
 
169
169
  it('should capture tool name', async () => {
170
- const handler = new TraciaCallbackHandler();
170
+ const handler = new TracciaCallbackHandler();
171
171
  const mockTool = { name: 'calculator' };
172
172
 
173
173
  await handler.handleToolStart(mockTool, '2+2', 'tool-2');
@@ -177,7 +177,7 @@ describe('TraciaCallbackHandler', () => {
177
177
  });
178
178
 
179
179
  it('should record input length', async () => {
180
- const handler = new TraciaCallbackHandler();
180
+ const handler = new TracciaCallbackHandler();
181
181
  const mockTool = { name: 'tool' };
182
182
  const input = 'test input with some length';
183
183
 
@@ -190,7 +190,7 @@ describe('TraciaCallbackHandler', () => {
190
190
 
191
191
  describe('handleToolEnd', () => {
192
192
  it('should end tool span', async () => {
193
- const handler = new TraciaCallbackHandler();
193
+ const handler = new TracciaCallbackHandler();
194
194
  const mockTool = { name: 'tool' };
195
195
 
196
196
  await handler.handleToolStart(mockTool, 'input', 'tool-4');
@@ -200,7 +200,7 @@ describe('TraciaCallbackHandler', () => {
200
200
  });
201
201
 
202
202
  it('should record output length', async () => {
203
- const handler = new TraciaCallbackHandler();
203
+ const handler = new TracciaCallbackHandler();
204
204
  const mockTool = { name: 'tool' };
205
205
 
206
206
  await handler.handleToolStart(mockTool, 'input', 'tool-5');
@@ -213,7 +213,7 @@ describe('TraciaCallbackHandler', () => {
213
213
 
214
214
  describe('handleAgentAction', () => {
215
215
  it('should update existing span on agent action', async () => {
216
- const handler = new TraciaCallbackHandler();
216
+ const handler = new TracciaCallbackHandler();
217
217
  const mockChain = { name: 'chain' };
218
218
 
219
219
  // Start a span first
@@ -231,7 +231,7 @@ describe('TraciaCallbackHandler', () => {
231
231
  });
232
232
 
233
233
  it('should record agent action details', async () => {
234
- const handler = new TraciaCallbackHandler();
234
+ const handler = new TracciaCallbackHandler();
235
235
  const mockChain = { name: 'chain' };
236
236
 
237
237
  // Start a span first
@@ -252,7 +252,7 @@ describe('TraciaCallbackHandler', () => {
252
252
 
253
253
  describe('handleAgentFinish', () => {
254
254
  it('should end agent span on finish', async () => {
255
- const handler = new TraciaCallbackHandler();
255
+ const handler = new TracciaCallbackHandler();
256
256
 
257
257
  // Create a span first
258
258
  const mockAction = { tool: 'test', toolInput: 'input' };
@@ -266,7 +266,7 @@ describe('TraciaCallbackHandler', () => {
266
266
  });
267
267
 
268
268
  it('should record final output', async () => {
269
- const handler = new TraciaCallbackHandler();
269
+ const handler = new TracciaCallbackHandler();
270
270
  const mockAction = { tool: 'test', toolInput: 'input' };
271
271
 
272
272
  await handler.handleAgentAction(mockAction, 'agent-4');
@@ -280,7 +280,7 @@ describe('TraciaCallbackHandler', () => {
280
280
 
281
281
  describe('Error Handling', () => {
282
282
  it('should handle LLM errors gracefully', async () => {
283
- const handler = new TraciaCallbackHandler();
283
+ const handler = new TracciaCallbackHandler();
284
284
  const mockLLM = { name: 'llm' };
285
285
 
286
286
  await handler.handleLLMStart(mockLLM, ['prompt'], 'error-1');
@@ -293,7 +293,7 @@ describe('TraciaCallbackHandler', () => {
293
293
  });
294
294
 
295
295
  it('should handle chain errors gracefully', async () => {
296
- const handler = new TraciaCallbackHandler();
296
+ const handler = new TracciaCallbackHandler();
297
297
  const mockChain = { name: 'chain' };
298
298
 
299
299
  await handler.handleChainStart(mockChain, {}, 'error-2');
@@ -305,7 +305,7 @@ describe('TraciaCallbackHandler', () => {
305
305
  });
306
306
 
307
307
  it('should handle tool errors gracefully', async () => {
308
- const handler = new TraciaCallbackHandler();
308
+ const handler = new TracciaCallbackHandler();
309
309
  const mockTool = { name: 'tool' };
310
310
 
311
311
  await handler.handleToolStart(mockTool, 'input', 'error-3');
@@ -319,7 +319,7 @@ describe('TraciaCallbackHandler', () => {
319
319
 
320
320
  describe('Span Nesting', () => {
321
321
  it('should handle nested spans (chain containing LLM)', async () => {
322
- const handler = new TraciaCallbackHandler();
322
+ const handler = new TracciaCallbackHandler();
323
323
 
324
324
  // Start chain
325
325
  const chain = { name: 'chain' };
@@ -346,7 +346,7 @@ describe('TraciaCallbackHandler', () => {
346
346
  });
347
347
 
348
348
  it('should handle multiple concurrent spans', async () => {
349
- const handler = new TraciaCallbackHandler();
349
+ const handler = new TracciaCallbackHandler();
350
350
 
351
351
  // Start multiple spans
352
352
  const chain1 = { name: 'chain1' };
@@ -369,12 +369,12 @@ describe('TraciaCallbackHandler', () => {
369
369
 
370
370
  describe('Integration with Tracer', () => {
371
371
  it('should use the SDK tracer', () => {
372
- const handler = new TraciaCallbackHandler();
372
+ const handler = new TracciaCallbackHandler();
373
373
  expect(handler['tracer']).toBeDefined();
374
374
  });
375
375
 
376
376
  it('should handle unavailable tracer gracefully', async () => {
377
- const handler = new TraciaCallbackHandler();
377
+ const handler = new TracciaCallbackHandler();
378
378
 
379
379
  // Should not throw even if operations fail
380
380
  const mockLLM = { name: 'llm' };
@@ -5,27 +5,27 @@
5
5
  * convenience functions for automatic instrumentation with zero boilerplate.
6
6
  */
7
7
 
8
- import { TraciaCallbackHandler } from './langchain-callback';
8
+ import { TracciaCallbackHandler } from './langchain-callback';
9
9
 
10
10
  /**
11
11
  * Global handler instance to avoid creating multiple handlers
12
12
  */
13
- let globalTraciaHandler: TraciaCallbackHandler | null = null;
13
+ let globalTraciaHandler: TracciaCallbackHandler | null = null;
14
14
 
15
15
  /**
16
16
  * Get or create the global Traccia callback handler.
17
17
  *
18
18
  * @example
19
19
  * // Instead of:
20
- * const handler = new TraciaCallbackHandler();
20
+ * const handler = new TracciaCallbackHandler();
21
21
  * const model = new ChatOpenAI({ callbacks: [handler] });
22
22
  *
23
23
  * // Just do:
24
24
  * const model = new ChatOpenAI({ callbacks: [getTraciaHandler()] });
25
25
  */
26
- export function getTraciaHandler(): TraciaCallbackHandler {
26
+ export function getTraciaHandler(): TracciaCallbackHandler {
27
27
  if (!globalTraciaHandler) {
28
- globalTraciaHandler = new TraciaCallbackHandler();
28
+ globalTraciaHandler = new TracciaCallbackHandler();
29
29
  }
30
30
  return globalTraciaHandler;
31
31
  }
@@ -217,7 +217,7 @@ export async function setupLangChainWithTracing(options: {
217
217
  }): Promise<{
218
218
  model: any;
219
219
  executor: any;
220
- handler: TraciaCallbackHandler;
220
+ handler: TracciaCallbackHandler;
221
221
  }> {
222
222
  try {
223
223
  const {
@@ -6,7 +6,7 @@
6
6
  */
7
7
 
8
8
  // LangChain integrations
9
- export { TraciaCallbackHandler } from './langchain-callback';
9
+ export { TracciaCallbackHandler } from './langchain-callback';
10
10
  export {
11
11
  getTraciaHandler,
12
12
  withTracing,
@@ -6,31 +6,7 @@
6
6
 
7
7
  import { ISpan } from '../types';
8
8
  import { getTracer } from '../auto';
9
-
10
- // Try to import BaseCallbackHandler from different LangChain versions
11
- let BaseCallbackHandler: any = class {
12
- ignoreAgent = false;
13
- ignoreChain = false;
14
- ignoreLLM = false;
15
- ignoreRetriever = false;
16
- ignoreToolUse = false;
17
- };
18
-
19
- try {
20
- // Try LangChain 0.2.x+
21
- // eslint-disable-next-line @typescript-eslint/no-var-requires
22
- const { BaseCallbackHandler: Handler } = require('@langchain/core/callbacks/base');
23
- BaseCallbackHandler = Handler;
24
- } catch {
25
- try {
26
- // Try older LangChain versions
27
- // eslint-disable-next-line @typescript-eslint/no-var-requires
28
- const { BaseCallbackHandler: Handler } = require('langchain/callbacks');
29
- BaseCallbackHandler = Handler;
30
- } catch {
31
- // Fallback to basic implementation - user likely has LangChain installed
32
- }
33
- }
9
+ import { BaseCallbackHandler } from '@langchain/core/callbacks/base';
34
10
 
35
11
  /**
36
12
  * LangChain Callback Handler for Traccia SDK.
@@ -41,17 +17,19 @@ try {
41
17
  *
42
18
  * @example
43
19
  * import { ChatOpenAI } from '@langchain/openai';
44
- * import { TraciaCallbackHandler } from '@traccia/sdk/integrations';
20
+ * import { TracciaCallbackHandler } from '@traccia/sdk/integrations';
45
21
  *
46
- * const handler = new TraciaCallbackHandler();
22
+ * const handler = new TracciaCallbackHandler();
47
23
  * const model = new ChatOpenAI({ callbacks: [handler] });
48
24
  *
49
25
  * const response = await model.invoke({ input: 'Hello!' });
50
26
  * // Automatically traced with spans for LLM calls, tokens, latency, etc.
51
27
  */
52
- export class TraciaCallbackHandler extends BaseCallbackHandler {
28
+ export class TracciaCallbackHandler extends BaseCallbackHandler {
29
+ name = 'TracciaCallbackHandler';
53
30
  private tracer = getTracer('langchain');
54
31
  private spanStack: Map<string, ISpan> = new Map();
32
+ private streamingStartTimes: Record<string, Date> = {};
55
33
 
56
34
  /**
57
35
  * Extract model name from LLM instance, checking multiple property locations.
@@ -125,23 +103,47 @@ export class TraciaCallbackHandler extends BaseCallbackHandler {
125
103
  if (span) {
126
104
  try {
127
105
  // Try multiple ways to get token usage
128
- // OpenAI format
106
+ // OpenAI format and new @langchain/core format
129
107
  const tokenUsage =
130
108
  output?.llmOutput?.token_usage ||
109
+ output?.llmOutput?.tokenUsage ||
131
110
  output?.token_usage ||
132
111
  output?.metadata?.token_usage;
133
112
 
134
113
  if (tokenUsage) {
135
- if (tokenUsage.prompt_tokens !== undefined) {
136
- span.setAttribute('llm.tokens.prompt', tokenUsage.prompt_tokens);
114
+ // Handle standard token counts
115
+ const promptTokens = tokenUsage.prompt_tokens ?? tokenUsage.promptTokens;
116
+ const completionTokens = tokenUsage.completion_tokens ?? tokenUsage.completionTokens;
117
+ const totalTokens = tokenUsage.total_tokens ?? tokenUsage.totalTokens;
118
+
119
+ if (promptTokens !== undefined) {
120
+ span.setAttribute('llm.tokens.prompt', promptTokens);
137
121
  }
138
- if (tokenUsage.completion_tokens !== undefined) {
139
- span.setAttribute('llm.tokens.completion', tokenUsage.completion_tokens);
122
+ if (completionTokens !== undefined) {
123
+ span.setAttribute('llm.tokens.completion', completionTokens);
140
124
  }
141
- const totalTokens = (tokenUsage.prompt_tokens || 0) + (tokenUsage.completion_tokens || 0);
142
- if (totalTokens > 0) {
125
+ if (totalTokens !== undefined) {
143
126
  span.setAttribute('llm.tokens.total', totalTokens);
144
127
  }
128
+
129
+ // Handle detailed token breakdown for models like GPT-4o vision
130
+ // input_token_details contains breakdown of prompt token usage
131
+ if (tokenUsage.input_token_details && typeof tokenUsage.input_token_details === 'object') {
132
+ for (const [key, value] of Object.entries(tokenUsage.input_token_details)) {
133
+ if (typeof value === 'number') {
134
+ span.setAttribute(`llm.tokens.input_${key}`, value);
135
+ }
136
+ }
137
+ }
138
+
139
+ // output_token_details contains breakdown of completion token usage
140
+ if (tokenUsage.output_token_details && typeof tokenUsage.output_token_details === 'object') {
141
+ for (const [key, value] of Object.entries(tokenUsage.output_token_details)) {
142
+ if (typeof value === 'number') {
143
+ span.setAttribute(`llm.tokens.output_${key}`, value);
144
+ }
145
+ }
146
+ }
145
147
  }
146
148
 
147
149
  // Capture output text length
@@ -187,6 +189,29 @@ export class TraciaCallbackHandler extends BaseCallbackHandler {
187
189
  }
188
190
  }
189
191
 
192
+ /**
193
+ * Handle LLM new token - called when a new token is generated during streaming.
194
+ * Tracks first token latency and token count for streaming scenarios.
195
+ */
196
+ public async handleLLMNewToken(
197
+ _token: string,
198
+ _idx?: any,
199
+ runId?: string
200
+ ): Promise<void> {
201
+ if (runId && !(runId in this.streamingStartTimes)) {
202
+ // Record the time of the first streaming token
203
+ this.streamingStartTimes[runId] = new Date();
204
+ const span = this.spanStack.get(runId);
205
+ if (span) {
206
+ try {
207
+ span.setAttribute('stream.first_token_generated', true);
208
+ } catch (error) {
209
+ // Silently fail
210
+ }
211
+ }
212
+ }
213
+ }
214
+
190
215
  /**
191
216
  * Handle chain start - called when a chain begins execution.
192
217
  */
@@ -360,6 +385,14 @@ export class TraciaCallbackHandler extends BaseCallbackHandler {
360
385
  return this.handleLLMError(error, runId);
361
386
  }
362
387
 
388
+ public async onLLMNewToken(
389
+ _token: string,
390
+ idx?: any,
391
+ runId?: string
392
+ ): Promise<void> {
393
+ return this.handleLLMNewToken(_token, idx, runId);
394
+ }
395
+
363
396
  public async onChainStart(
364
397
  chain: any,
365
398
  inputs: any,