judgeval 0.2.7 → 0.2.9

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.
Files changed (71) hide show
  1. package/dist/cjs/common/integrations/langgraph.js +360 -107
  2. package/dist/cjs/common/integrations/langgraph.js.map +1 -1
  3. package/dist/cjs/common/token-costs.js +95 -0
  4. package/dist/cjs/common/token-costs.js.map +1 -0
  5. package/dist/cjs/common/tracer.js +29 -18
  6. package/dist/cjs/common/tracer.js.map +1 -1
  7. package/dist/cjs/data/example.js +24 -11
  8. package/dist/cjs/data/example.js.map +1 -1
  9. package/dist/cjs/data/result.js +5 -5
  10. package/dist/cjs/data/result.js.map +1 -1
  11. package/dist/cjs/judges/index.js +20 -0
  12. package/dist/cjs/judges/index.js.map +1 -1
  13. package/dist/cjs/judgment-client.js +103 -41
  14. package/dist/cjs/judgment-client.js.map +1 -1
  15. package/dist/cjs/run-evaluation.js +89 -7
  16. package/dist/cjs/run-evaluation.js.map +1 -1
  17. package/dist/cjs/scorers/api-scorer.js +5 -0
  18. package/dist/cjs/scorers/api-scorer.js.map +1 -1
  19. package/dist/cjs/scorers/base-scorer.js +48 -0
  20. package/dist/cjs/scorers/base-scorer.js.map +1 -1
  21. package/dist/cjs/scorers/metrics/answer-correctness/answer-correctness.js +59 -107
  22. package/dist/cjs/scorers/metrics/answer-correctness/answer-correctness.js.map +1 -1
  23. package/dist/cjs/scorers/metrics/answer-relevancy/answer-relevancy.js +16 -27
  24. package/dist/cjs/scorers/metrics/answer-relevancy/answer-relevancy.js.map +1 -1
  25. package/dist/cjs/scorers/metrics/faithfulness/faithfulness.js +10 -22
  26. package/dist/cjs/scorers/metrics/faithfulness/faithfulness.js.map +1 -1
  27. package/dist/cjs/scorers/metrics/hallucination/hallucination.js +11 -15
  28. package/dist/cjs/scorers/metrics/hallucination/hallucination.js.map +1 -1
  29. package/dist/cjs/scorers/metrics/instruction-adherence/instruction-adherence.js +11 -15
  30. package/dist/cjs/scorers/metrics/instruction-adherence/instruction-adherence.js.map +1 -1
  31. package/dist/esm/common/integrations/langgraph.js +338 -108
  32. package/dist/esm/common/integrations/langgraph.js.map +1 -1
  33. package/dist/esm/common/token-costs.js +91 -0
  34. package/dist/esm/common/token-costs.js.map +1 -0
  35. package/dist/esm/common/tracer.js +29 -18
  36. package/dist/esm/common/tracer.js.map +1 -1
  37. package/dist/esm/data/example.js +24 -11
  38. package/dist/esm/data/example.js.map +1 -1
  39. package/dist/esm/data/result.js +5 -5
  40. package/dist/esm/data/result.js.map +1 -1
  41. package/dist/esm/judges/index.js +20 -0
  42. package/dist/esm/judges/index.js.map +1 -1
  43. package/dist/esm/judgment-client.js +103 -41
  44. package/dist/esm/judgment-client.js.map +1 -1
  45. package/dist/esm/run-evaluation.js +89 -7
  46. package/dist/esm/run-evaluation.js.map +1 -1
  47. package/dist/esm/scorers/api-scorer.js +5 -0
  48. package/dist/esm/scorers/api-scorer.js.map +1 -1
  49. package/dist/esm/scorers/base-scorer.js +48 -0
  50. package/dist/esm/scorers/base-scorer.js.map +1 -1
  51. package/dist/esm/scorers/metrics/answer-correctness/answer-correctness.js +57 -100
  52. package/dist/esm/scorers/metrics/answer-correctness/answer-correctness.js.map +1 -1
  53. package/dist/esm/scorers/metrics/answer-relevancy/answer-relevancy.js +15 -26
  54. package/dist/esm/scorers/metrics/answer-relevancy/answer-relevancy.js.map +1 -1
  55. package/dist/esm/scorers/metrics/faithfulness/faithfulness.js +10 -22
  56. package/dist/esm/scorers/metrics/faithfulness/faithfulness.js.map +1 -1
  57. package/dist/esm/scorers/metrics/hallucination/hallucination.js +11 -15
  58. package/dist/esm/scorers/metrics/hallucination/hallucination.js.map +1 -1
  59. package/dist/esm/scorers/metrics/instruction-adherence/instruction-adherence.js +11 -15
  60. package/dist/esm/scorers/metrics/instruction-adherence/instruction-adherence.js.map +1 -1
  61. package/dist/types/common/integrations/langgraph.d.ts +19 -12
  62. package/dist/types/common/token-costs.d.ts +36 -0
  63. package/dist/types/judgment-client.d.ts +17 -3
  64. package/dist/types/scorers/api-scorer.d.ts +5 -0
  65. package/dist/types/scorers/base-scorer.d.ts +19 -0
  66. package/dist/types/scorers/metrics/answer-correctness/answer-correctness.d.ts +8 -27
  67. package/dist/types/scorers/metrics/answer-relevancy/answer-relevancy.d.ts +1 -5
  68. package/dist/types/scorers/metrics/faithfulness/faithfulness.d.ts +0 -4
  69. package/dist/types/scorers/metrics/hallucination/hallucination.d.ts +0 -4
  70. package/dist/types/scorers/metrics/instruction-adherence/instruction-adherence.d.ts +0 -4
  71. package/package.json +1 -1
@@ -1,4 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
26
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
27
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -12,38 +35,164 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
35
  exports.JudgevalLanggraphCallbackHandler = void 0;
13
36
  const base_1 = require("@langchain/core/callbacks/base");
14
37
  const tracer_js_1 = require("../tracer.js");
15
- // It's my understanding that you can only be on one node in the graph at a time
16
- // That means we don't need to worry about the async problem
38
+ const uuid = __importStar(require("uuid"));
39
+ // Removed ActiveNodeSpan interface
40
+ // Match Python structure more closely
17
41
  class JudgevalLanggraphCallbackHandler extends base_1.BaseCallbackHandler {
18
42
  constructor(tracer) {
19
43
  super();
20
44
  this.name = "judgeval_langgraph_callback_handler";
45
+ this._startTime = 0; // Needed for TS manual duration calculation (if needed)
46
+ this.finished = false;
47
+ this.rootSpanStarted = false; // Still useful to track root
48
+ // Removed activeNodeSpans array
49
+ // Attributes for users to access (matching Python)
21
50
  this.executedNodeTools = [];
22
- this.executedNodes = [];
51
+ this.executedNodes = []; // Add this like Python
23
52
  this.executedTools = [];
24
53
  this.tracer = tracer !== null && tracer !== void 0 ? tracer : tracer_js_1.Tracer.getInstance();
25
- console.log(`[Judgeval Handler] Initialized. Monitoring Enabled: ${this.tracer.enableMonitoring}`); // Added prefix
54
+ console.log(`[Judgeval Handler] Initialized. Monitoring Enabled: ${this.tracer.enableMonitoring}`);
55
+ // traceClient will be initialized in handleChainStart if needed
26
56
  }
27
- getTraceClient() {
57
+ // --- Reset state helper (called internally) ---
58
+ initializeRunState(client) {
59
+ this.traceClient = client;
60
+ this.previousNode = undefined;
61
+ this._startTime = 0;
62
+ this.finished = false;
63
+ this.rootSpanStarted = true; // Mark as started since we just created/found the client
64
+ this.executedNodeTools.length = 0;
65
+ this.executedNodes.length = 0;
66
+ this.executedTools.length = 0;
67
+ console.log(`[Judgeval Handler] Run state initialized for TraceClient ID: ${client.traceId}`);
68
+ }
69
+ // --- Span management (simplified, relies on TraceClient internals) ---
70
+ startSpan(name, spanType = "span") {
71
+ if (!this.traceClient) {
72
+ console.warn(`[Judgeval Handler] startSpan(${name}, ${spanType}) called but traceClient is undefined.`);
73
+ return undefined;
74
+ }
75
+ const parentSpanId = this.traceClient.getCurrentSpanId();
76
+ console.log(`[Judgeval Handler] Before startSpan(${name}): Current Span ID = ${parentSpanId}`);
77
+ this.traceClient.startSpan(name, { spanType }); // TraceClient handles stack
78
+ const newSpanId = this.traceClient.getCurrentSpanId();
79
+ console.log(`[Judgeval Handler] Started span: ${name} (ID: ${newSpanId}), Parent reported: ${parentSpanId}, Type: ${spanType}`);
80
+ return newSpanId;
81
+ }
82
+ endSpan(context) {
83
+ if (!this.traceClient) {
84
+ console.warn(`[Judgeval Handler] endSpan(${context !== null && context !== void 0 ? context : ''}) called but traceClient is undefined.`);
85
+ return;
86
+ }
87
+ const currentSpanId = this.traceClient.getCurrentSpanId();
88
+ console.log(`[Judgeval Handler] Before endSpan(${context !== null && context !== void 0 ? context : ''}): Current Span ID = ${currentSpanId}`);
89
+ this.traceClient.endSpan(); // TraceClient handles stack
90
+ const spanIdAfterEnd = this.traceClient.getCurrentSpanId();
91
+ console.log(`[Judgeval Handler] Ended span: ${currentSpanId} (Context: ${context !== null && context !== void 0 ? context : 'N/A'}). Current Span ID after end: ${spanIdAfterEnd}`);
92
+ // Save logic: Python saves when depth returns to 0.
93
+ // TS TraceClient doesn't expose depth. Rely on external context ending or manual save?
94
+ // For now, let's stick to the previous logic: save if root finished and stack is empty.
95
+ // The final endSpan call will be triggered by the tracer wrapper ideally.
96
+ if (this.rootSpanStarted && this.finished && spanIdAfterEnd === undefined) {
97
+ console.log("[Judgeval Handler] Root context likely ended and graph finished. Saving trace.");
98
+ if (this.traceClient) {
99
+ // Save might need to happen *before* clearing the client
100
+ const clientToSave = this.traceClient;
101
+ this.traceClient = undefined; // Clear reference first?
102
+ this.rootSpanStarted = false;
103
+ clientToSave.save(true) // Save with overwrite=true
104
+ .then(() => console.log(`[Judgeval Handler] Trace ${clientToSave.traceId} saved.`))
105
+ .catch(err => console.error(`[Judgeval Handler] Error saving trace ${clientToSave.traceId}:`, err));
106
+ }
107
+ else {
108
+ console.warn("[Judgeval Handler] Cannot save trace as traceClient is undefined after root span ended.");
109
+ }
110
+ }
111
+ }
112
+ // --- Get or Create Client (Python logic adapted) ---
113
+ getOrCreateRootTraceClient(name, runType) {
28
114
  if (!this.tracer.enableMonitoring)
29
115
  return undefined;
30
- const client = this.tracer.getCurrentTrace();
31
- if (!client) {
32
- console.warn("No trace client found");
116
+ // If a client already exists for this handler instance, return it
117
+ if (this.traceClient) {
118
+ // console.log(`[Judgeval Handler] Re-using existing TraceClient instance (ID: ${this.traceClient.traceId}).`);
119
+ return this.traceClient;
120
+ }
121
+ // Check if we are starting the root LangGraph run (like Python's check)
122
+ const isLangGraphRootStart = (name === 'LangGraph' || runType === 'Graph'); // Check both name and runType
123
+ if (isLangGraphRootStart) {
124
+ console.log("[Judgeval Handler] LangGraph root run detected. Getting/Creating TraceClient.");
125
+ // Check context first, in case external wrapper is used
126
+ let client = this.tracer.getCurrentTrace();
127
+ if (client) {
128
+ console.log(`[Judgeval Handler] Found existing TraceClient in context (ID: ${client.traceId}). Initializing run state.`);
129
+ this.initializeRunState(client);
130
+ }
131
+ else {
132
+ // Create a new TraceClient if none exists (like Python)
133
+ console.log("[Judgeval Handler] No TraceClient in context, creating new one.");
134
+ const traceId = uuid.v4();
135
+ client = new tracer_js_1.TraceClient({
136
+ tracer: this.tracer,
137
+ traceId: traceId,
138
+ name: "LangGraphRun", // Default name
139
+ projectName: this.tracer.projectName,
140
+ overwrite: false,
141
+ rules: this.tracer.defaultRules,
142
+ enableMonitoring: this.tracer.enableMonitoring,
143
+ enableEvaluations: this.tracer.enableEvaluations,
144
+ apiKey: this.tracer.apiKey,
145
+ organizationId: this.tracer.organizationId
146
+ });
147
+ // Save empty trace immediately (like Python)
148
+ client.save(false).catch(err => console.error("[Judgeval Handler] Error saving initial empty trace:", err));
149
+ this.initializeRunState(client);
150
+ // We might need to manually set this client into the async context
151
+ // if LangChain doesn't propagate it from the initial invoke context.
152
+ // This is complex and might require changes to the Tracer class or usage pattern.
153
+ // For now, we store it locally in the handler.
154
+ console.log(`[Judgeval Handler] Created new TraceClient (ID: ${client.traceId}). Run state initialized.`);
155
+ }
156
+ // Start the root span *after* initializing the state
157
+ this.startSpan("LangGraphRoot", "Main Function");
158
+ return this.traceClient;
159
+ }
160
+ else {
161
+ // If it's not the root start, try to get the client from context (might exist due to wrapper)
162
+ let client = this.tracer.getCurrentTrace();
163
+ if (client) {
164
+ // If we find a client but haven't initialized state, initialize now
165
+ if (!this.traceClient) {
166
+ console.log(`[Judgeval Handler] Found TraceClient in context mid-run (ID: ${client.traceId}). Initializing run state.`);
167
+ this.initializeRunState(client);
168
+ }
169
+ return this.traceClient;
170
+ }
171
+ else {
172
+ // No client found, and it's not the root start - likely context issue
173
+ console.warn(`[Judgeval Handler] handleChainStart called for non-root chain ('${name}') but no TraceClient found in context.`);
174
+ return undefined;
175
+ }
33
176
  }
34
- return client;
35
177
  }
178
+ // --- Callback Handlers (Adapted to Python logic) ---
36
179
  handleRetrieverStart(serialized, query, runId, parentRunId, tags, metadata, name, options) {
37
180
  return __awaiter(this, void 0, void 0, function* () {
181
+ // Ensure client exists, but don't create it here
182
+ this.traceClient = this.tracer.getCurrentTrace();
183
+ if (!this.traceClient) {
184
+ console.warn(`[Judgeval Handler] handleRetrieverStart: No TraceClient found.`);
185
+ return;
186
+ }
38
187
  let name_ = "RETRIEVER_CALL";
39
- if (serialized === null || serialized === void 0 ? void 0 : serialized.name) {
188
+ if (name) {
189
+ name_ = `RETRIEVER_${name.toUpperCase()}`;
190
+ }
191
+ else if (serialized === null || serialized === void 0 ? void 0 : serialized.name) {
40
192
  name_ = `RETRIEVER_${serialized.name.toUpperCase()}`;
41
193
  }
42
- const traceClient = this.getTraceClient();
43
- if (!traceClient)
44
- return;
45
- traceClient.startSpan(name_, { spanType: "retriever" });
46
- traceClient.recordInput({
194
+ this.startSpan(name_, "retriever");
195
+ this.traceClient.recordInput({
47
196
  query,
48
197
  tags,
49
198
  metadata,
@@ -53,6 +202,10 @@ class JudgevalLanggraphCallbackHandler extends base_1.BaseCallbackHandler {
53
202
  }
54
203
  handleRetrieverEnd(documents, runId, parentRunId, tags, options) {
55
204
  return __awaiter(this, void 0, void 0, function* () {
205
+ // Use existing client
206
+ if (!this.traceClient || !this.traceClient.getCurrentSpanId())
207
+ return;
208
+ // ... record output (docSummary)
56
209
  const docSummary = documents.map((doc, i) => ({
57
210
  index: i,
58
211
  page_content: doc.pageContent.length > 100
@@ -60,157 +213,257 @@ class JudgevalLanggraphCallbackHandler extends base_1.BaseCallbackHandler {
60
213
  : doc.pageContent,
61
214
  metadata: doc.metadata,
62
215
  }));
63
- const traceClient = this.getTraceClient();
64
- if (!traceClient)
65
- return;
66
- traceClient.recordOutput({
67
- document_count: documents.length,
68
- documents: docSummary,
69
- });
70
- traceClient.endSpan();
216
+ this.traceClient.recordOutput({ document_count: documents.length, documents: docSummary });
217
+ this.endSpan("RetrieverEnd");
71
218
  });
72
219
  }
73
220
  handleRetrieverError(error, runId, parentRunId, tags, options) {
74
221
  return __awaiter(this, void 0, void 0, function* () {
75
- const traceClient = this.getTraceClient();
76
- if (!traceClient)
222
+ console.error(`[Judgeval Handler] Retriever error: ${error}`);
223
+ if (!this.traceClient || !this.traceClient.getCurrentSpanId())
77
224
  return;
78
- traceClient.recordError(error);
225
+ this.traceClient.recordError(error);
226
+ this.endSpan("RetrieverError");
79
227
  });
80
228
  }
81
- handleChainStart(serialized, inputs, runId, parentRunId, tags, metadata, name, runName, runType, options) {
229
+ handleChainStart(serialized, inputs, runId, parentRunId, tags, metadata, runType, name, options) {
82
230
  return __awaiter(this, void 0, void 0, function* () {
83
- let traceClient = this.getTraceClient();
84
- if (!traceClient) {
85
- console.warn("No trace client found");
231
+ var _a;
232
+ console.log(`[Judgeval Handler] handleChainStart: Name=${name}, Type=${runType}, Node=${metadata === null || metadata === void 0 ? void 0 : metadata.langgraph_node}, RunID=${runId}`);
233
+ // Initialize client and root span if this is the LangGraph start
234
+ // Otherwise, ensure client exists from context
235
+ const client = this.getOrCreateRootTraceClient(name, runType);
236
+ if (!client)
237
+ return; // If no client (monitoring off or context issue), do nothing
238
+ // Now handle node detection (if not the root start event itself)
239
+ const isLangGraphRootStartEvent = (name === 'LangGraph' || runType === 'Graph') && this.rootSpanStarted;
240
+ const nodeName = metadata === null || metadata === void 0 ? void 0 : metadata.langgraph_node;
241
+ // Don't process the root start event as a node start
242
+ if (isLangGraphRootStartEvent && nodeName === undefined) { // Check nodeName too
243
+ console.log(`[Judgeval Handler] Skipping node processing for root start event.`);
86
244
  return;
87
245
  }
88
- traceClient.startSpan(name !== null && name !== void 0 ? name : "unknown_chain", { spanType: "chain" });
89
- traceClient.recordInput(inputs);
246
+ // If it's a node and different from the previous one
247
+ if (nodeName && nodeName !== this.previousNode) {
248
+ console.log(`[Judgeval Handler] New node detected: ${nodeName}`);
249
+ // Start a span for the node
250
+ this.startSpan(nodeName, "node");
251
+ // Update tracking (like Python)
252
+ this.executedNodes.push(nodeName);
253
+ // Update node:tool tracking context
254
+ this.previousNode = nodeName;
255
+ // Record input for the node span (like Python)
256
+ (_a = this.traceClient) === null || _a === void 0 ? void 0 : _a.recordInput({
257
+ args: inputs,
258
+ kwargs: { tags, metadata, runType, name: nodeName, options }
259
+ });
260
+ }
261
+ else if (nodeName && nodeName === this.previousNode) {
262
+ // It's a chain start within the *same* node, log but don't start new node span
263
+ console.log(`[Judgeval Handler] Chain start ('${name}') within existing node context ('${nodeName}').`);
264
+ }
265
+ else {
266
+ // It's some other chain, maybe log it?
267
+ console.log(`[Judgeval Handler] Generic chain start ('${name}') detected. Node context: '${this.previousNode}'.`);
268
+ }
90
269
  });
91
270
  }
92
- handleChainEnd(outputs, runId, parentRunId, tags, options) {
271
+ handleChainEnd(outputs, runId, parentRunId, tags, metadata, // Need metadata
272
+ name, options) {
93
273
  return __awaiter(this, void 0, void 0, function* () {
94
- const traceClient = this.getTraceClient();
95
- if (!traceClient)
274
+ var _a, _b, _c;
275
+ const currentSpanId = (_a = this.traceClient) === null || _a === void 0 ? void 0 : _a.getCurrentSpanId();
276
+ const nodeNameFromMetadata = metadata === null || metadata === void 0 ? void 0 : metadata.langgraph_node;
277
+ console.log(`[Judgeval Handler] handleChainEnd: RunID=${runId}, Node=${nodeNameFromMetadata}, CurrentSpanID=${currentSpanId}`);
278
+ if (!this.traceClient || !currentSpanId) {
279
+ console.warn(`[Judgeval Handler] handleChainEnd called but no active span. RunID=${runId}`);
96
280
  return;
97
- traceClient.recordOutput(outputs);
98
- traceClient.endSpan();
281
+ }
282
+ // Always record output
283
+ this.traceClient.recordOutput(outputs);
284
+ // Check if this marks the end of a graph step (node)
285
+ const isGraphStepEnd = tags === null || tags === void 0 ? void 0 : tags.some(tag => tag.includes("graph:step"));
286
+ if (isGraphStepEnd) {
287
+ console.log(`[Judgeval Handler] Graph step end detected for span: ${currentSpanId}. Ending span as 'node'.`);
288
+ // Assume the current span *is* the node span
289
+ this.endSpan(`NodeEnd: ${(_b = this.previousNode) !== null && _b !== void 0 ? _b : 'unknown'}`); // Use previousNode hint
290
+ }
291
+ // Check for graph finish signal AFTER potentially ending the node span
292
+ const isEndSignal = outputs === "__end__";
293
+ const isGraphFinishTag = tags === null || tags === void 0 ? void 0 : tags.some(tag => tag.includes(":graph:finish") || tag.includes(":__end__"));
294
+ if (isEndSignal || isGraphFinishTag) {
295
+ console.log(`[Judgeval Handler] Graph finished signal detected.`);
296
+ this.finished = true;
297
+ // End the root span if it's currently active
298
+ const currentSpanIdAfterNodeEnd = (_c = this.traceClient) === null || _c === void 0 ? void 0 : _c.getCurrentSpanId();
299
+ if (this.rootSpanStarted && !currentSpanIdAfterNodeEnd) {
300
+ console.log(`[Judgeval Handler] Graph finished signal and span stack is empty. Save should occur.`);
301
+ }
302
+ }
99
303
  });
100
304
  }
101
- handleChainError(error, runId, parentRunId, tags, options) {
305
+ handleChainError(error, runId, parentRunId, tags, metadata, name, options) {
102
306
  return __awaiter(this, void 0, void 0, function* () {
103
- console.log(`Chain error: ${error}`);
104
- const traceClient = this.getTraceClient();
105
- if (!traceClient)
307
+ var _a, _b;
308
+ console.error(`[Judgeval Handler] Chain error: ${error}`);
309
+ const currentSpanId = (_a = this.traceClient) === null || _a === void 0 ? void 0 : _a.getCurrentSpanId();
310
+ console.log(`[Judgeval Handler] ChainError occurred during span: ${currentSpanId}`);
311
+ if (!this.traceClient || !currentSpanId)
106
312
  return;
107
- traceClient.recordError(error);
108
- traceClient.endSpan();
313
+ this.traceClient.recordError(error);
314
+ // Check if the error occurred within a node span we are tracking
315
+ // Need a robust way to know if the current span is a node span started by us
316
+ // For now, assume if it's a graph step error, end the current span as node error
317
+ const isGraphStepError = tags === null || tags === void 0 ? void 0 : tags.some(tag => tag.includes("graph:step"));
318
+ if (isGraphStepError) {
319
+ console.log(`[Judgeval Handler] Ending current span ${currentSpanId} as NodeError due to graph:step tag.`);
320
+ this.endSpan(`NodeError: ${(_b = this.previousNode) !== null && _b !== void 0 ? _b : 'unknown'}`);
321
+ }
322
+ // Don't end generic chain errors otherwise, might pop root span too early.
109
323
  });
110
324
  }
111
- handleToolStart(serialized, inputStr, runId, parentRunId, tags, metadata, name, runType, runName, options) {
325
+ handleToolStart(serialized, inputStr, runId, parentRunId, tags, metadata, name, options) {
112
326
  return __awaiter(this, void 0, void 0, function* () {
113
- const traceClient = this.getTraceClient();
114
- if (!traceClient)
327
+ var _a;
328
+ const toolName = (_a = name !== null && name !== void 0 ? name : serialized === null || serialized === void 0 ? void 0 : serialized.name) !== null && _a !== void 0 ? _a : "unknown_tool";
329
+ console.log(`[Judgeval Handler] handleToolStart: Name=${toolName}, RunID=${runId}`);
330
+ // Ensure client exists
331
+ this.traceClient = this.tracer.getCurrentTrace();
332
+ if (!this.traceClient) {
333
+ console.warn(`[Judgeval Handler] handleToolStart: No TraceClient found.`);
115
334
  return;
116
- // Python SDK doesn't handle name None case
117
- traceClient.startSpan(name !== null && name !== void 0 ? name : "unknown_tool", { spanType: "tool" });
118
- if (name) {
119
- this.executedTools.push(name);
120
- this.executedNodeTools.push(this.previousNode ? `${this.previousNode}:${name}` : name);
121
335
  }
122
- traceClient.recordInput({
336
+ // this.previousNode should be set by the last handleChainStart for the node
337
+ console.log(`[Judgeval Handler] Starting tool span: ${toolName} (Parent Node Hint: ${this.previousNode})`);
338
+ this.startSpan(toolName, "tool");
339
+ this.executedTools.push(toolName);
340
+ const nodeTool = this.previousNode ? `${this.previousNode}:${toolName}` : toolName;
341
+ this.executedNodeTools.push(nodeTool);
342
+ this.traceClient.recordInput({
123
343
  args: inputStr,
124
- kwargs: options,
344
+ kwargs: { tags, metadata, options }
125
345
  });
126
346
  });
127
347
  }
128
- handleToolEnd(output, runId, parentRunId, options) {
348
+ handleToolEnd(output, runId, parentRunId, tags, options) {
129
349
  return __awaiter(this, void 0, void 0, function* () {
130
- const traceClient = this.getTraceClient();
131
- if (!traceClient)
350
+ var _a;
351
+ const currentSpanId = (_a = this.traceClient) === null || _a === void 0 ? void 0 : _a.getCurrentSpanId();
352
+ console.log(`[Judgeval Handler] handleToolEnd: RunID=${runId}, CurrentSpanID=${currentSpanId}`);
353
+ if (!this.traceClient || !currentSpanId)
132
354
  return;
133
- traceClient.recordOutput(output);
134
- traceClient.endSpan();
355
+ this.traceClient.recordOutput(output);
356
+ this.endSpan("ToolEnd"); // End specifically for tool
135
357
  });
136
358
  }
137
- handleToolError(error, runId, parentRunId, options) {
359
+ handleToolError(error, runId, parentRunId, tags, options) {
138
360
  return __awaiter(this, void 0, void 0, function* () {
139
- console.log(`Tool error: ${error}`);
140
- const traceClient = this.getTraceClient();
141
- if (!traceClient)
361
+ var _a;
362
+ console.error(`[Judgeval Handler] Tool error: ${error}`);
363
+ const currentSpanId = (_a = this.traceClient) === null || _a === void 0 ? void 0 : _a.getCurrentSpanId();
364
+ if (!this.traceClient || !currentSpanId)
142
365
  return;
143
- traceClient.recordError(error);
144
- traceClient.endSpan();
366
+ this.traceClient.recordError(error);
367
+ this.endSpan("ToolError"); // End specifically for tool error
145
368
  });
146
369
  }
147
- handleAgentAction(action, runId, parentRunId, tags, options) {
148
- return __awaiter(this, void 0, void 0, function* () {
149
- console.log(`Agent action: ${action}`);
150
- });
370
+ // AgentAction / AgentFinish remain no-op for span management
371
+ handleAgentAction( /* ... */) {
372
+ return __awaiter(this, void 0, void 0, function* () { });
151
373
  }
152
- handleAgentFinish(finish, runId, parentRunId, tags, options) {
153
- return __awaiter(this, void 0, void 0, function* () {
154
- console.log(`Agent finish: ${finish}`);
155
- });
374
+ handleAgentFinish( /* ... */) {
375
+ return __awaiter(this, void 0, void 0, function* () { });
156
376
  }
157
- handleLLMStart(serialized, prompts, runId, parentRunId, extraParams, tags, metadata, runName, options) {
377
+ handleLLMStart(serialized, prompts, runId, parentRunId, extraParams, tags, metadata, name, options) {
158
378
  return __awaiter(this, void 0, void 0, function* () {
159
- const name = "LLM call";
160
- const traceClient = this.getTraceClient();
161
- if (!traceClient)
379
+ const llmName = name !== null && name !== void 0 ? name : "LLM call";
380
+ // Ensure client exists
381
+ this.traceClient = this.tracer.getCurrentTrace();
382
+ if (!this.traceClient) {
383
+ console.warn(`[Judgeval Handler] handleLLMStart: No TraceClient found.`);
162
384
  return;
163
- traceClient.startSpan(name, { spanType: "llm" });
164
- traceClient.recordInput({
385
+ }
386
+ console.log(`[Judgeval Handler] Starting LLM span: ${llmName}`);
387
+ this.startSpan(llmName, "llm");
388
+ this.traceClient.recordInput({
165
389
  args: prompts,
166
- kwargs: Object.assign({ extra_params: extraParams, tags: tags, metadata: metadata }, options),
390
+ kwargs: Object.assign({ extra_params: extraParams, tags: tags, metadata: metadata, serialized_id: serialized === null || serialized === void 0 ? void 0 : serialized.id }, options),
167
391
  });
168
392
  });
169
393
  }
170
- // Also called on chat model end
171
394
  handleLLMEnd(output, runId, parentRunId, tags, options) {
172
395
  return __awaiter(this, void 0, void 0, function* () {
173
- const traceClient = this.getTraceClient();
174
- if (!traceClient)
396
+ if (!this.traceClient || !this.traceClient.getCurrentSpanId())
175
397
  return;
176
- traceClient.recordOutput(output.generations[0][0].text);
177
- traceClient.endSpan();
398
+ // ... extract textOutput ...
399
+ let textOutput = "No text output found";
400
+ try {
401
+ if (output.generations && output.generations.length > 0 && output.generations[0].length > 0) {
402
+ const firstGen = output.generations[0][0];
403
+ if (firstGen.text) {
404
+ textOutput = firstGen.text;
405
+ }
406
+ else if ('message' in firstGen && firstGen.message && typeof firstGen.message === 'object' && firstGen.message !== null && 'content' in firstGen.message) {
407
+ const messageContent = firstGen.message.content;
408
+ textOutput = typeof messageContent === 'string'
409
+ ? messageContent
410
+ : JSON.stringify(messageContent);
411
+ }
412
+ }
413
+ else if (output.llmOutput) {
414
+ textOutput = JSON.stringify(output.llmOutput);
415
+ }
416
+ }
417
+ catch (e) {
418
+ console.error("[Judgeval Handler] Error extracting LLM output text:", e);
419
+ textOutput = `Error extracting output: ${e instanceof Error ? e.message : String(e)}`;
420
+ }
421
+ this.traceClient.recordOutput(textOutput);
422
+ console.log(`[Judgeval Handler] Ending LLM span: ${this.traceClient.getCurrentSpanId()}`);
423
+ this.endSpan("LLMEnd"); // End specifically for LLM
178
424
  });
179
425
  }
180
426
  handleLLMError(error, runId, parentRunId, tags, options) {
181
427
  return __awaiter(this, void 0, void 0, function* () {
182
- console.log(`LLM error: ${error}`);
183
- const traceClient = this.getTraceClient();
184
- if (!traceClient)
428
+ var _a;
429
+ console.error(`[Judgeval Handler] LLM error: ${error}`);
430
+ const currentSpanId = (_a = this.traceClient) === null || _a === void 0 ? void 0 : _a.getCurrentSpanId();
431
+ if (!this.traceClient || !currentSpanId)
185
432
  return;
186
- traceClient.recordError(error);
187
- traceClient.endSpan();
433
+ this.traceClient.recordError(error);
434
+ this.endSpan("LLMError"); // End specifically for LLM error
188
435
  });
189
436
  }
190
- // Why is there no handleChatModelEnd?
191
- handleChatModelStart(serialized, messages, runId, parentRunId, extraParams, tags, metadata, name, runType, runName, options) {
437
+ handleChatModelStart(serialized, messages, runId, parentRunId, extraParams, tags, metadata, name, options) {
192
438
  return __awaiter(this, void 0, void 0, function* () {
193
- let name_ = "LLM call";
194
- if (serialized.id.includes("openai")) {
195
- name_ = "OPENAI_API_CALL";
439
+ var _a, _b;
440
+ // Ensure client exists
441
+ this.traceClient = this.tracer.getCurrentTrace();
442
+ if (!this.traceClient) {
443
+ console.warn(`[Judgeval Handler] handleChatModelStart: No TraceClient found.`);
444
+ return;
445
+ }
446
+ let modelName = "LLM call";
447
+ const serializedId = (_b = (_a = serialized === null || serialized === void 0 ? void 0 : serialized.id) === null || _a === void 0 ? void 0 : _a.join("::")) !== null && _b !== void 0 ? _b : "";
448
+ if (name) {
449
+ modelName = name;
196
450
  }
197
- else if (serialized.id.includes("anthropic")) {
198
- name_ = "ANTHROPIC_API_CALL";
451
+ else if (serializedId.includes("openai")) {
452
+ modelName = "OPENAI_API_CALL";
199
453
  }
200
- else if (serialized.id.includes("together")) {
201
- name_ = "TOGETHER_API_CALL";
454
+ else if (serializedId.includes("anthropic")) {
455
+ modelName = "ANTHROPIC_API_CALL";
202
456
  }
203
- else {
204
- name_ = "LLM call";
457
+ else if (serializedId.includes("together")) {
458
+ modelName = "TOGETHER_API_CALL";
205
459
  }
206
- const traceClient = this.getTraceClient();
207
- if (!traceClient)
208
- return;
209
- traceClient.startSpan(name_, { spanType: "llm" });
210
- traceClient.recordInput({
211
- args: messages,
212
- kwargs: Object.assign({ extra_params: extraParams, tags: tags, metadata: metadata }, options),
460
+ console.log(`[Judgeval Handler] Starting ChatModel span: ${modelName}`);
461
+ this.startSpan(modelName, "llm");
462
+ this.traceClient.recordInput({
463
+ args: JSON.stringify(messages.map(msgList => msgList.map(msg => msg.toDict()))),
464
+ kwargs: Object.assign({ extra_params: extraParams, tags: tags, metadata: metadata, serialized_id: serializedId }, options),
213
465
  });
466
+ // Note: handleLLMEnd will end this span
214
467
  });
215
468
  }
216
469
  }
@@ -1 +1 @@
1
- {"version":3,"file":"langgraph.js","sourceRoot":"","sources":["../../../../src/common/integrations/langgraph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"langgraph.js","sourceRoot":"","sources":["../../../../src/common/integrations/langgraph.ts"],"names":[],"mappings":"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"}