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