judgeval 0.2.8 → 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.
- package/dist/cjs/common/integrations/langgraph.js +360 -107
- package/dist/cjs/common/integrations/langgraph.js.map +1 -1
- package/dist/cjs/common/token-costs.js +95 -0
- package/dist/cjs/common/token-costs.js.map +1 -0
- package/dist/cjs/data/example.js +24 -11
- package/dist/cjs/data/example.js.map +1 -1
- package/dist/cjs/data/result.js +5 -5
- package/dist/cjs/data/result.js.map +1 -1
- package/dist/cjs/judges/index.js +20 -0
- package/dist/cjs/judges/index.js.map +1 -1
- package/dist/cjs/judgment-client.js +103 -41
- package/dist/cjs/judgment-client.js.map +1 -1
- package/dist/cjs/run-evaluation.js +89 -7
- package/dist/cjs/run-evaluation.js.map +1 -1
- package/dist/cjs/scorers/api-scorer.js +5 -0
- package/dist/cjs/scorers/api-scorer.js.map +1 -1
- package/dist/cjs/scorers/base-scorer.js +48 -0
- package/dist/cjs/scorers/base-scorer.js.map +1 -1
- package/dist/cjs/scorers/metrics/answer-correctness/answer-correctness.js +59 -107
- package/dist/cjs/scorers/metrics/answer-correctness/answer-correctness.js.map +1 -1
- package/dist/cjs/scorers/metrics/answer-relevancy/answer-relevancy.js +16 -27
- package/dist/cjs/scorers/metrics/answer-relevancy/answer-relevancy.js.map +1 -1
- package/dist/cjs/scorers/metrics/faithfulness/faithfulness.js +10 -22
- package/dist/cjs/scorers/metrics/faithfulness/faithfulness.js.map +1 -1
- package/dist/cjs/scorers/metrics/hallucination/hallucination.js +11 -15
- package/dist/cjs/scorers/metrics/hallucination/hallucination.js.map +1 -1
- package/dist/cjs/scorers/metrics/instruction-adherence/instruction-adherence.js +11 -15
- package/dist/cjs/scorers/metrics/instruction-adherence/instruction-adherence.js.map +1 -1
- package/dist/esm/common/integrations/langgraph.js +338 -108
- package/dist/esm/common/integrations/langgraph.js.map +1 -1
- package/dist/esm/common/token-costs.js +91 -0
- package/dist/esm/common/token-costs.js.map +1 -0
- package/dist/esm/data/example.js +24 -11
- package/dist/esm/data/example.js.map +1 -1
- package/dist/esm/data/result.js +5 -5
- package/dist/esm/data/result.js.map +1 -1
- package/dist/esm/judges/index.js +20 -0
- package/dist/esm/judges/index.js.map +1 -1
- package/dist/esm/judgment-client.js +103 -41
- package/dist/esm/judgment-client.js.map +1 -1
- package/dist/esm/run-evaluation.js +89 -7
- package/dist/esm/run-evaluation.js.map +1 -1
- package/dist/esm/scorers/api-scorer.js +5 -0
- package/dist/esm/scorers/api-scorer.js.map +1 -1
- package/dist/esm/scorers/base-scorer.js +48 -0
- package/dist/esm/scorers/base-scorer.js.map +1 -1
- package/dist/esm/scorers/metrics/answer-correctness/answer-correctness.js +57 -100
- package/dist/esm/scorers/metrics/answer-correctness/answer-correctness.js.map +1 -1
- package/dist/esm/scorers/metrics/answer-relevancy/answer-relevancy.js +15 -26
- package/dist/esm/scorers/metrics/answer-relevancy/answer-relevancy.js.map +1 -1
- package/dist/esm/scorers/metrics/faithfulness/faithfulness.js +10 -22
- package/dist/esm/scorers/metrics/faithfulness/faithfulness.js.map +1 -1
- package/dist/esm/scorers/metrics/hallucination/hallucination.js +11 -15
- package/dist/esm/scorers/metrics/hallucination/hallucination.js.map +1 -1
- package/dist/esm/scorers/metrics/instruction-adherence/instruction-adherence.js +11 -15
- package/dist/esm/scorers/metrics/instruction-adherence/instruction-adherence.js.map +1 -1
- package/dist/types/common/integrations/langgraph.d.ts +19 -12
- package/dist/types/common/token-costs.d.ts +36 -0
- package/dist/types/judgment-client.d.ts +17 -3
- package/dist/types/scorers/api-scorer.d.ts +5 -0
- package/dist/types/scorers/base-scorer.d.ts +19 -0
- package/dist/types/scorers/metrics/answer-correctness/answer-correctness.d.ts +8 -27
- package/dist/types/scorers/metrics/answer-relevancy/answer-relevancy.d.ts +1 -5
- package/dist/types/scorers/metrics/faithfulness/faithfulness.d.ts +0 -4
- package/dist/types/scorers/metrics/hallucination/hallucination.d.ts +0 -4
- package/dist/types/scorers/metrics/instruction-adherence/instruction-adherence.d.ts +0 -4
- 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
|
-
|
|
16
|
-
//
|
|
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}`);
|
|
54
|
+
console.log(`[Judgeval Handler] Initialized. Monitoring Enabled: ${this.tracer.enableMonitoring}`);
|
|
55
|
+
// traceClient will be initialized in handleChainStart if needed
|
|
26
56
|
}
|
|
27
|
-
|
|
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
|
-
|
|
31
|
-
if (
|
|
32
|
-
console.
|
|
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 (
|
|
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
|
-
|
|
43
|
-
|
|
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
|
-
|
|
64
|
-
|
|
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
|
-
|
|
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,
|
|
229
|
+
handleChainStart(serialized, inputs, runId, parentRunId, tags, metadata, runType, name, options) {
|
|
82
230
|
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
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
|
-
|
|
89
|
-
|
|
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,
|
|
271
|
+
handleChainEnd(outputs, runId, parentRunId, tags, metadata, // Need metadata
|
|
272
|
+
name, options) {
|
|
93
273
|
return __awaiter(this, void 0, void 0, function* () {
|
|
94
|
-
|
|
95
|
-
|
|
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
|
-
|
|
98
|
-
|
|
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
|
-
|
|
104
|
-
|
|
105
|
-
|
|
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
|
-
|
|
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,
|
|
325
|
+
handleToolStart(serialized, inputStr, runId, parentRunId, tags, metadata, name, options) {
|
|
112
326
|
return __awaiter(this, void 0, void 0, function* () {
|
|
113
|
-
|
|
114
|
-
|
|
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
|
-
|
|
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
|
-
|
|
131
|
-
|
|
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
|
-
|
|
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
|
-
|
|
140
|
-
|
|
141
|
-
|
|
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
|
-
|
|
366
|
+
this.traceClient.recordError(error);
|
|
367
|
+
this.endSpan("ToolError"); // End specifically for tool error
|
|
145
368
|
});
|
|
146
369
|
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
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(
|
|
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,
|
|
377
|
+
handleLLMStart(serialized, prompts, runId, parentRunId, extraParams, tags, metadata, name, options) {
|
|
158
378
|
return __awaiter(this, void 0, void 0, function* () {
|
|
159
|
-
const
|
|
160
|
-
|
|
161
|
-
|
|
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
|
-
|
|
164
|
-
|
|
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
|
-
|
|
174
|
-
if (!traceClient)
|
|
396
|
+
if (!this.traceClient || !this.traceClient.getCurrentSpanId())
|
|
175
397
|
return;
|
|
176
|
-
|
|
177
|
-
|
|
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
|
-
|
|
183
|
-
|
|
184
|
-
|
|
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
|
-
|
|
433
|
+
this.traceClient.recordError(error);
|
|
434
|
+
this.endSpan("LLMError"); // End specifically for LLM error
|
|
188
435
|
});
|
|
189
436
|
}
|
|
190
|
-
|
|
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
|
-
|
|
194
|
-
|
|
195
|
-
|
|
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 (
|
|
198
|
-
|
|
451
|
+
else if (serializedId.includes("openai")) {
|
|
452
|
+
modelName = "OPENAI_API_CALL";
|
|
199
453
|
}
|
|
200
|
-
else if (
|
|
201
|
-
|
|
454
|
+
else if (serializedId.includes("anthropic")) {
|
|
455
|
+
modelName = "ANTHROPIC_API_CALL";
|
|
202
456
|
}
|
|
203
|
-
else {
|
|
204
|
-
|
|
457
|
+
else if (serializedId.includes("together")) {
|
|
458
|
+
modelName = "TOGETHER_API_CALL";
|
|
205
459
|
}
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
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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"}
|