@inspectr/mcplab-core 1.22.2 → 1.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/abort.d.ts +1 -1
- package/dist/agent.d.ts +72 -87
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +9 -2
- package/dist/agent.js.map +1 -1
- package/dist/artifacts.d.ts +9 -0
- package/dist/artifacts.d.ts.map +1 -0
- package/dist/artifacts.js +22 -0
- package/dist/artifacts.js.map +1 -0
- package/dist/assistant-tools.d.ts +1 -1
- package/dist/attachments.d.ts +4 -9
- package/dist/browser-provider-store.d.ts +5 -0
- package/dist/browser-provider-store.d.ts.map +1 -0
- package/dist/browser-provider-store.js +42 -0
- package/dist/browser-provider-store.js.map +1 -0
- package/dist/browser-providers.d.ts +48 -0
- package/dist/browser-providers.d.ts.map +1 -0
- package/dist/browser-providers.js +198 -0
- package/dist/browser-providers.js.map +1 -0
- package/dist/browser.d.ts +3 -7
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +1 -0
- package/dist/browser.js.map +1 -1
- package/dist/check-counts.d.ts +3 -5
- package/dist/check-counts.d.ts.map +1 -1
- package/dist/check-counts.js +11 -2
- package/dist/check-counts.js.map +1 -1
- package/dist/config-values.d.ts +1 -1
- package/dist/config.d.ts +21 -33
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +48 -42
- package/dist/config.js.map +1 -1
- package/dist/default-browser-providers.d.ts +13 -0
- package/dist/default-browser-providers.d.ts.map +1 -0
- package/dist/default-browser-providers.js +99 -0
- package/dist/default-browser-providers.js.map +1 -0
- package/dist/eval.d.ts +23 -53
- package/dist/eval.d.ts.map +1 -1
- package/dist/eval.js +38 -6
- package/dist/eval.js.map +1 -1
- package/dist/evaluation-config-store.d.ts +20 -17
- package/dist/index.d.ts +17 -50
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -2
- package/dist/index.js.map +1 -1
- package/dist/langsmith-tracing.d.ts +32 -21
- package/dist/langsmith-tracing.js.map +1 -1
- package/dist/mcp.d.ts +63 -79
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js.map +1 -1
- package/dist/queue-contract.d.ts +93 -27
- package/dist/queue-contract.d.ts.map +1 -1
- package/dist/queue-contract.js +31 -1
- package/dist/queue-contract.js.map +1 -1
- package/dist/result-metrics.d.ts +3 -0
- package/dist/result-metrics.d.ts.map +1 -0
- package/dist/result-metrics.js +6 -0
- package/dist/result-metrics.js.map +1 -0
- package/dist/results-query.d.ts +51 -60
- package/dist/results-query.d.ts.map +1 -1
- package/dist/results-query.js +23 -47
- package/dist/results-query.js.map +1 -1
- package/dist/results.d.ts +20 -18
- package/dist/results.d.ts.map +1 -1
- package/dist/results.js +26 -7
- package/dist/results.js.map +1 -1
- package/dist/run-directory-snapshots.d.ts +12 -0
- package/dist/run-directory-snapshots.d.ts.map +1 -0
- package/dist/run-directory-snapshots.js +56 -0
- package/dist/run-directory-snapshots.js.map +1 -0
- package/dist/runner.d.ts +109 -121
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +117 -66
- package/dist/runner.js.map +1 -1
- package/dist/runtime-overrides.d.ts +4 -7
- package/dist/scenario-builder.d.ts +15 -15
- package/dist/scenario-observation.d.ts +22 -0
- package/dist/scenario-observation.d.ts.map +1 -0
- package/dist/scenario-observation.js +70 -0
- package/dist/scenario-observation.js.map +1 -0
- package/dist/test-case-store.d.ts +26 -26
- package/dist/tool-definition-token-estimates.d.ts +13 -16
- package/dist/trace-token-estimates.d.ts +5 -11
- package/dist/trace.d.ts +4 -4
- package/dist/trace.d.ts.map +1 -1
- package/dist/trace.js.map +1 -1
- package/dist/types.d.ts +46 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +3 -1
- package/dist/types.js.map +1 -1
- package/package.json +3 -3
package/dist/runner.js
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { mkdirSync, writeFileSync } from 'node:fs';
|
|
2
2
|
import { isAbsolute, join, resolve } from 'node:path';
|
|
3
3
|
import { stringify as stringifyYaml } from 'yaml';
|
|
4
|
+
import { isLlmAgent } from './types.js';
|
|
4
5
|
import { isAbortError, throwIfAborted } from './abort.js';
|
|
5
6
|
import { TraceWriter } from './trace.js';
|
|
6
7
|
import { McpClientManager } from './mcp.js';
|
|
7
8
|
import { buildBatchJudgeResponseFormat, chatWithAgent, runAgentScenario } from './agent.js';
|
|
8
|
-
import {
|
|
9
|
-
import { aggregateResults
|
|
9
|
+
import { buildNotExecutedCheckResults, normalizeToolConstraintAliases } from './eval.js';
|
|
10
|
+
import { aggregateResults } from './results.js';
|
|
11
|
+
import { evaluateScenarioObservation } from './scenario-observation.js';
|
|
12
|
+
import { persistEvaluationArtifacts } from './artifacts.js';
|
|
10
13
|
import { enrichTraceMessagesWithEstimatedTokens } from './trace-token-estimates.js';
|
|
11
14
|
import { createLangSmithTraceExporter, toLangSmithMessages } from './langsmith-tracing.js';
|
|
12
15
|
export function buildMcpServerAuthHeaders(options) {
|
|
@@ -92,9 +95,16 @@ export async function runAll(config, options) {
|
|
|
92
95
|
if (!agent) {
|
|
93
96
|
throw new Error(`Agent not found: ${scenario.agent}`);
|
|
94
97
|
}
|
|
98
|
+
if (!isLlmAgent(agent)) {
|
|
99
|
+
throw new Error(`Browser agent '${scenario.agent}' must be dispatched through Rover.`);
|
|
100
|
+
}
|
|
95
101
|
const runs = [];
|
|
96
102
|
let effectiveScenarioEval = scenario.eval;
|
|
103
|
+
const scenarioSignal = options.scenarioSignal?.(scenario, 0) ?? options.signal;
|
|
97
104
|
for (let runIndex = 0; runIndex < options.runsPerScenario; runIndex += 1) {
|
|
105
|
+
const runSignal = options.scenarioSignal?.(scenario, runIndex) ?? scenarioSignal;
|
|
106
|
+
if (runSignal?.aborted && !options.signal?.aborted)
|
|
107
|
+
break;
|
|
98
108
|
throwIfAborted(options.signal);
|
|
99
109
|
let requestId;
|
|
100
110
|
try {
|
|
@@ -145,14 +155,14 @@ export async function runAll(config, options) {
|
|
|
145
155
|
requestId,
|
|
146
156
|
resolveServerRequestHeaders: async (serverNames) => {
|
|
147
157
|
const [clientCredentialsHeaders, externalHeaders] = await Promise.all([
|
|
148
|
-
mcp.getRequestHeadersForServers(serverNames,
|
|
149
|
-
options.resolveMcpServerAuthHeaders?.(serverNames, { signal:
|
|
158
|
+
mcp.getRequestHeadersForServers(serverNames, runSignal),
|
|
159
|
+
options.resolveMcpServerAuthHeaders?.(serverNames, { signal: runSignal }) ??
|
|
150
160
|
Promise.resolve({})
|
|
151
161
|
]);
|
|
152
162
|
return { ...clientCredentialsHeaders, ...externalHeaders };
|
|
153
163
|
},
|
|
154
164
|
maxTurns: agent.max_turns,
|
|
155
|
-
signal:
|
|
165
|
+
signal: runSignal,
|
|
156
166
|
trace: scenarioTrace,
|
|
157
167
|
onProgress: async (event) => {
|
|
158
168
|
await emitProgress({
|
|
@@ -163,42 +173,30 @@ export async function runAll(config, options) {
|
|
|
163
173
|
});
|
|
164
174
|
}
|
|
165
175
|
});
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
176
|
+
effectiveScenarioEval = normalizeToolConstraintAliases(scenario.eval, runResult.availableToolNames);
|
|
177
|
+
const scenarioRun = await evaluateScenarioObservation({
|
|
178
|
+
scenario: { ...scenario, eval: effectiveScenarioEval },
|
|
179
|
+
runIndex,
|
|
180
|
+
observation: {
|
|
181
|
+
finalText: runResult.finalText,
|
|
182
|
+
toolCalls: runResult.toolCalls,
|
|
183
|
+
toolDurationsMs: runResult.toolDurationsMs,
|
|
184
|
+
availableToolNames: runResult.availableToolNames,
|
|
185
|
+
startedAt: runResult.traceStartedAt,
|
|
186
|
+
completedAt: runResult.traceEndedAt,
|
|
187
|
+
requestId,
|
|
188
|
+
executionSource: 'mcplab'
|
|
189
|
+
},
|
|
170
190
|
judgeAgentAssertions: options.evaluationJudge
|
|
171
|
-
? async (input) => {
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
});
|
|
179
|
-
}
|
|
191
|
+
? async (input) => judgeAgentAssertions({
|
|
192
|
+
assertions: input.assertions,
|
|
193
|
+
context: input.context,
|
|
194
|
+
finalText: runResult.finalText,
|
|
195
|
+
judge: options.evaluationJudge,
|
|
196
|
+
signal: runSignal
|
|
197
|
+
})
|
|
180
198
|
: undefined
|
|
181
199
|
});
|
|
182
|
-
const extracted = extractValues(runResult.finalText, scenario.extract?.map((rule) => ({ name: rule.name, regex: rule.regex })) ?? []);
|
|
183
|
-
const toolUsage = {};
|
|
184
|
-
for (const tool of runResult.toolSequence) {
|
|
185
|
-
toolUsage[tool] = (toolUsage[tool] ?? 0) + 1;
|
|
186
|
-
}
|
|
187
|
-
const scenarioRun = {
|
|
188
|
-
run_index: runIndex,
|
|
189
|
-
request_id: requestId,
|
|
190
|
-
pass: evalResult.pass,
|
|
191
|
-
failures: evalResult.failures,
|
|
192
|
-
check_results: evalResult.check_results,
|
|
193
|
-
tool_calls: runResult.toolSequence,
|
|
194
|
-
tool_call_count: runResult.toolSequence.length,
|
|
195
|
-
tool_sequence: runResult.toolSequence,
|
|
196
|
-
tool_usage: toolUsage,
|
|
197
|
-
tool_durations_ms: runResult.toolDurationsMs,
|
|
198
|
-
run_duration_ms: Math.max(0, Date.parse(runResult.traceEndedAt) - Date.parse(runResult.traceStartedAt)),
|
|
199
|
-
final_text: runResult.finalText,
|
|
200
|
-
extracted
|
|
201
|
-
};
|
|
202
200
|
runs.push(scenarioRun);
|
|
203
201
|
const traceRecord = {
|
|
204
202
|
type: 'scenario_run',
|
|
@@ -211,7 +209,8 @@ export async function runAll(config, options) {
|
|
|
211
209
|
model: runResult.traceModel,
|
|
212
210
|
ts_start: runResult.traceStartedAt,
|
|
213
211
|
ts_end: runResult.traceEndedAt,
|
|
214
|
-
pass:
|
|
212
|
+
pass: scenarioRun.pass,
|
|
213
|
+
outcome: scenarioRun.outcome,
|
|
215
214
|
messages: enrichTraceMessagesWithEstimatedTokens(runResult.traceMessages, runResult.traceModel),
|
|
216
215
|
metrics: {
|
|
217
216
|
tool_call_count: runResult.toolSequence.length,
|
|
@@ -222,7 +221,7 @@ export async function runAll(config, options) {
|
|
|
222
221
|
await scenarioTrace.end({
|
|
223
222
|
outputs: {
|
|
224
223
|
finalText: runResult.finalText,
|
|
225
|
-
pass:
|
|
224
|
+
pass: scenarioRun.pass,
|
|
226
225
|
messages: toLangSmithMessages(runResult.traceMessages),
|
|
227
226
|
metrics: traceRecord.metrics
|
|
228
227
|
}
|
|
@@ -235,28 +234,67 @@ export async function runAll(config, options) {
|
|
|
235
234
|
totalScenarioRuns,
|
|
236
235
|
runIndex,
|
|
237
236
|
runsPerScenario: options.runsPerScenario,
|
|
238
|
-
pass:
|
|
237
|
+
pass: scenarioRun.pass,
|
|
238
|
+
outcome: scenarioRun.outcome,
|
|
239
239
|
toolCallCount: runResult.toolSequence.length
|
|
240
240
|
});
|
|
241
241
|
}
|
|
242
242
|
catch (scenarioErr) {
|
|
243
|
-
|
|
243
|
+
const recordedRun = runs.find((run) => run.run_index === runIndex);
|
|
244
|
+
if (recordedRun) {
|
|
245
|
+
// Trace cleanup or progress delivery can fail after evaluation was recorded.
|
|
246
|
+
// Preserve that outcome even if a child stop arrives during cleanup.
|
|
247
|
+
console.error(`Scenario '${scenario.id}' run ${runIndex} cleanup failed: ${String(scenarioErr?.message ?? scenarioErr)}`);
|
|
248
|
+
await emitProgress({
|
|
249
|
+
type: 'scenario_run_finished',
|
|
250
|
+
scenarioId: scenario.id,
|
|
251
|
+
agentName: scenario.agent,
|
|
252
|
+
scenarioRunIndex,
|
|
253
|
+
totalScenarioRuns,
|
|
254
|
+
runIndex,
|
|
255
|
+
runsPerScenario: options.runsPerScenario,
|
|
256
|
+
pass: recordedRun.pass,
|
|
257
|
+
outcome: recordedRun.outcome,
|
|
258
|
+
toolCallCount: recordedRun.tool_call_count
|
|
259
|
+
});
|
|
260
|
+
throwIfAborted(options.signal);
|
|
261
|
+
if (runSignal?.aborted)
|
|
262
|
+
break;
|
|
263
|
+
continue;
|
|
264
|
+
}
|
|
265
|
+
if (options.signal?.aborted) {
|
|
244
266
|
await scenarioTrace.end({
|
|
245
267
|
error: String(scenarioErr?.message ?? scenarioErr),
|
|
246
268
|
outputs: { pass: false }
|
|
247
269
|
});
|
|
248
270
|
throw scenarioErr;
|
|
249
271
|
}
|
|
250
|
-
|
|
251
|
-
|
|
272
|
+
let traceEnded = false;
|
|
273
|
+
if (isAbortError(scenarioErr) && !runSignal?.aborted) {
|
|
274
|
+
await scenarioTrace.end({
|
|
275
|
+
error: String(scenarioErr?.message ?? scenarioErr),
|
|
276
|
+
outputs: { pass: false }
|
|
277
|
+
});
|
|
278
|
+
traceEnded = true;
|
|
279
|
+
// A child stop can arrive while trace cleanup is awaiting. Record it below.
|
|
280
|
+
if (options.signal?.aborted || !runSignal?.aborted)
|
|
281
|
+
throw scenarioErr;
|
|
282
|
+
}
|
|
283
|
+
const stopped = Boolean(runSignal?.aborted);
|
|
284
|
+
const outcome = stopped ? 'stopped' : 'error';
|
|
285
|
+
const errorMessage = String(scenarioErr?.message ?? scenarioErr ?? 'Request aborted');
|
|
286
|
+
if (!stopped) {
|
|
287
|
+
console.error(`Scenario '${scenario.id}' run ${runIndex} failed: ${errorMessage}`);
|
|
288
|
+
}
|
|
252
289
|
const tsEnd = new Date().toISOString();
|
|
253
|
-
const
|
|
290
|
+
const unsuccessfulRun = {
|
|
254
291
|
run_index: runIndex,
|
|
255
292
|
request_id: requestId,
|
|
256
293
|
pass: false,
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
294
|
+
outcome,
|
|
295
|
+
...(stopped ? { stop_reason: errorMessage } : { error: errorMessage }),
|
|
296
|
+
failures: stopped ? [] : [`Scenario error: ${errorMessage}`],
|
|
297
|
+
check_results: buildNotExecutedCheckResults(scenario.eval),
|
|
260
298
|
tool_calls: [],
|
|
261
299
|
tool_call_count: 0,
|
|
262
300
|
tool_sequence: [],
|
|
@@ -266,8 +304,8 @@ export async function runAll(config, options) {
|
|
|
266
304
|
final_text: '',
|
|
267
305
|
extracted: {}
|
|
268
306
|
};
|
|
269
|
-
runs.push(
|
|
270
|
-
const
|
|
307
|
+
runs.push(unsuccessfulRun);
|
|
308
|
+
const unsuccessfulTrace = {
|
|
271
309
|
type: 'scenario_run',
|
|
272
310
|
trace_version: 3,
|
|
273
311
|
run_index: runIndex,
|
|
@@ -279,11 +317,17 @@ export async function runAll(config, options) {
|
|
|
279
317
|
ts_start: tsStart,
|
|
280
318
|
ts_end: tsEnd,
|
|
281
319
|
pass: false,
|
|
320
|
+
outcome,
|
|
282
321
|
error: errorMessage,
|
|
283
322
|
messages: []
|
|
284
323
|
};
|
|
285
|
-
trace.write(
|
|
286
|
-
|
|
324
|
+
trace.write(unsuccessfulTrace);
|
|
325
|
+
if (!traceEnded) {
|
|
326
|
+
await scenarioTrace.end({
|
|
327
|
+
error: errorMessage,
|
|
328
|
+
outputs: { pass: false, ...(stopped ? { stopped: true } : {}) }
|
|
329
|
+
});
|
|
330
|
+
}
|
|
287
331
|
await emitProgress({
|
|
288
332
|
type: 'scenario_run_finished',
|
|
289
333
|
scenarioId: scenario.id,
|
|
@@ -293,19 +337,24 @@ export async function runAll(config, options) {
|
|
|
293
337
|
runIndex,
|
|
294
338
|
runsPerScenario: options.runsPerScenario,
|
|
295
339
|
pass: false,
|
|
340
|
+
outcome,
|
|
296
341
|
toolCallCount: 0
|
|
297
342
|
});
|
|
343
|
+
if (stopped)
|
|
344
|
+
break;
|
|
298
345
|
}
|
|
299
346
|
}
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
347
|
+
if (runs.length > 0) {
|
|
348
|
+
scenarioRuns.push({
|
|
349
|
+
scenario_id: scenario.id,
|
|
350
|
+
scenario_name: scenario.name,
|
|
351
|
+
agent: scenario.agent,
|
|
352
|
+
provider: agent.provider,
|
|
353
|
+
model: agent.model,
|
|
354
|
+
eval: effectiveScenarioEval,
|
|
355
|
+
runs
|
|
356
|
+
});
|
|
357
|
+
}
|
|
309
358
|
}
|
|
310
359
|
const traceExport = await traceExporter.flush();
|
|
311
360
|
traceExporterFlushed = true;
|
|
@@ -318,12 +367,12 @@ export async function runAll(config, options) {
|
|
|
318
367
|
cliVersion: options.cliVersion,
|
|
319
368
|
langsmithTraceUrls: traceExport.traceUrls,
|
|
320
369
|
mcpServerVersions,
|
|
370
|
+
executionSource: 'mcplab',
|
|
321
371
|
scenarioRuns
|
|
322
372
|
});
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
writeFileSync(summaryPath, renderSummaryMarkdown(results), 'utf8');
|
|
373
|
+
if (options.persistArtifacts !== false) {
|
|
374
|
+
persistEvaluationArtifacts({ runDir, results });
|
|
375
|
+
}
|
|
327
376
|
await emitProgress({ type: 'run_finished', runId, totalScenarioRuns });
|
|
328
377
|
return { runDir, results };
|
|
329
378
|
}
|
|
@@ -397,7 +446,7 @@ export function mapJudgeBatchResults(params) {
|
|
|
397
446
|
};
|
|
398
447
|
});
|
|
399
448
|
}
|
|
400
|
-
async function judgeAgentAssertions(params) {
|
|
449
|
+
export async function judgeAgentAssertions(params) {
|
|
401
450
|
const batch = buildJudgeBatchPayload(params.finalText, params.assertions, params.context);
|
|
402
451
|
const system = [
|
|
403
452
|
'You evaluate whether a final answer satisfies a set of semantic checks.',
|
|
@@ -432,6 +481,8 @@ async function judgeAgentAssertions(params) {
|
|
|
432
481
|
});
|
|
433
482
|
}
|
|
434
483
|
function buildJudgeCheckMetadata(judgeName, judgeAgent, checkId) {
|
|
484
|
+
if (!isLlmAgent(judgeAgent))
|
|
485
|
+
throw new Error('Browser agents cannot be evaluation judges.');
|
|
435
486
|
return {
|
|
436
487
|
check_id: checkId,
|
|
437
488
|
judge_agent: judgeName,
|
package/dist/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import type { EvalConfig } from './types.js';
|
|
2
2
|
export interface RuntimeServerOverrides {
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
serverOverrideAll?: string[];
|
|
4
|
+
scenarioServerOverrides?: Record<string, string[]>;
|
|
5
5
|
}
|
|
6
|
-
export declare function applyRuntimeServerOverrides(
|
|
7
|
-
|
|
8
|
-
overrides?: RuntimeServerOverrides
|
|
9
|
-
): EvalConfig;
|
|
10
|
-
//# sourceMappingURL=runtime-overrides.d.ts.map
|
|
6
|
+
export declare function applyRuntimeServerOverrides(config: EvalConfig, overrides?: RuntimeServerOverrides): EvalConfig;
|
|
7
|
+
//# sourceMappingURL=runtime-overrides.d.ts.map
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import type { EvalRules, SourceScenario } from './types.js';
|
|
2
2
|
export type ScenarioBuildInput = {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
3
|
+
id?: string;
|
|
4
|
+
name?: string;
|
|
5
|
+
agent?: string;
|
|
6
|
+
servers: string[];
|
|
7
|
+
prompt: string;
|
|
8
|
+
required_tools?: string[];
|
|
9
|
+
forbidden_tools?: string[];
|
|
10
|
+
tool_sequence?: string[];
|
|
11
|
+
response_regex_patterns?: string[];
|
|
12
|
+
eval?: EvalRules;
|
|
13
|
+
extract_rules?: Array<{
|
|
14
|
+
name: string;
|
|
15
|
+
regex: string;
|
|
16
|
+
}>;
|
|
17
17
|
};
|
|
18
18
|
/** Build the canonical source scenario shape used by draft and persistence flows. */
|
|
19
19
|
export declare function buildScenarioEntry(input: ScenarioBuildInput): SourceScenario;
|
|
20
|
-
//# sourceMappingURL=scenario-builder.d.ts.map
|
|
20
|
+
//# sourceMappingURL=scenario-builder.d.ts.map
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ExecutionSource, RunOutcome, Scenario, ScenarioRunResult, ToolCall } from './types.js';
|
|
2
|
+
import { type EvaluateScenarioWithAgentChecksOptions } from './eval.js';
|
|
3
|
+
export interface ScenarioObservation {
|
|
4
|
+
finalText: string;
|
|
5
|
+
toolCalls?: ToolCall[];
|
|
6
|
+
toolDurationsMs?: number[];
|
|
7
|
+
availableToolNames?: string[];
|
|
8
|
+
startedAt: string;
|
|
9
|
+
completedAt: string;
|
|
10
|
+
requestId?: string;
|
|
11
|
+
executionSource: ExecutionSource;
|
|
12
|
+
client?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface EvaluateScenarioObservationParams {
|
|
15
|
+
scenario: Scenario;
|
|
16
|
+
observation: ScenarioObservation;
|
|
17
|
+
runIndex?: number;
|
|
18
|
+
judgeAgentAssertions?: EvaluateScenarioWithAgentChecksOptions['judgeAgentAssertions'];
|
|
19
|
+
}
|
|
20
|
+
export declare function deriveRunOutcome(run: Pick<ScenarioRunResult, 'pass' | 'error' | 'check_results'>): RunOutcome;
|
|
21
|
+
export declare function evaluateScenarioObservation({ scenario, observation, runIndex, judgeAgentAssertions }: EvaluateScenarioObservationParams): Promise<ScenarioRunResult>;
|
|
22
|
+
//# sourceMappingURL=scenario-observation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scenario-observation.d.ts","sourceRoot":"","sources":["../src/scenario-observation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EACf,UAAU,EACV,QAAQ,EACR,iBAAiB,EACjB,QAAQ,EACT,MAAM,YAAY,CAAC;AACpB,OAAO,EAKL,KAAK,sCAAsC,EAC5C,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,eAAe,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iCAAiC;IAChD,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,mBAAmB,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,sCAAsC,CAAC,sBAAsB,CAAC,CAAC;CACvF;AAED,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,GAAG,eAAe,CAAC,GAC/D,UAAU,CAKZ;AAyBD,wBAAsB,2BAA2B,CAAC,EAChD,QAAQ,EACR,WAAW,EACX,QAAY,EACZ,oBAAoB,EACrB,EAAE,iCAAiC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAkDhE"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { buildNotExecutedCheckResults, buildNotEvaluatedCheckResults, evaluateScenarioWithAgentChecks, extractValues } from './eval.js';
|
|
2
|
+
export function deriveRunOutcome(run) {
|
|
3
|
+
if (run.error)
|
|
4
|
+
return 'error';
|
|
5
|
+
if (run.check_results?.some((check) => check.status === 'failed'))
|
|
6
|
+
return 'failed';
|
|
7
|
+
if (run.check_results?.some((check) => check.status === 'not_executed'))
|
|
8
|
+
return 'incomplete';
|
|
9
|
+
return run.pass ? 'passed' : 'failed';
|
|
10
|
+
}
|
|
11
|
+
function observedRules(rules, hasToolTelemetry) {
|
|
12
|
+
if (!rules || hasToolTelemetry)
|
|
13
|
+
return rules;
|
|
14
|
+
return {
|
|
15
|
+
response_assertions: rules.response_assertions,
|
|
16
|
+
agent_assertions: rules.agent_assertions,
|
|
17
|
+
agent_context: rules.agent_context
|
|
18
|
+
? { ...rules.agent_context, include_tool_sequence: false, include_tool_inputs: false }
|
|
19
|
+
: undefined
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function unobservedToolRules(rules) {
|
|
23
|
+
if (!rules)
|
|
24
|
+
return undefined;
|
|
25
|
+
return {
|
|
26
|
+
tool_constraints: rules.tool_constraints,
|
|
27
|
+
tool_sequence: rules.tool_sequence,
|
|
28
|
+
tool_input_assertions: rules.tool_input_assertions
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export async function evaluateScenarioObservation({ scenario, observation, runIndex = 0, judgeAgentAssertions }) {
|
|
32
|
+
const hasToolTelemetry = observation.toolCalls !== undefined;
|
|
33
|
+
const toolCalls = observation.toolCalls ?? [];
|
|
34
|
+
const toolSequence = toolCalls.map((call) => call.name);
|
|
35
|
+
const evaluated = await evaluateScenarioWithAgentChecks(observation.finalText, toolSequence, observedRules(scenario.eval, hasToolTelemetry), {
|
|
36
|
+
toolCalls,
|
|
37
|
+
availableToolNames: observation.availableToolNames,
|
|
38
|
+
scenarioPrompt: scenario.prompt,
|
|
39
|
+
judgeAgentAssertions
|
|
40
|
+
});
|
|
41
|
+
const unobservedChecks = observation.executionSource === 'rover'
|
|
42
|
+
? buildNotEvaluatedCheckResults(unobservedToolRules(scenario.eval))
|
|
43
|
+
: buildNotExecutedCheckResults(unobservedToolRules(scenario.eval));
|
|
44
|
+
const checkResults = [...evaluated.check_results, ...(hasToolTelemetry ? [] : unobservedChecks)];
|
|
45
|
+
const outcome = evaluated.failures.length
|
|
46
|
+
? 'failed'
|
|
47
|
+
: checkResults.some((check) => check.status === 'not_executed')
|
|
48
|
+
? 'incomplete'
|
|
49
|
+
: 'passed';
|
|
50
|
+
const toolUsage = {};
|
|
51
|
+
for (const tool of toolSequence)
|
|
52
|
+
toolUsage[tool] = (toolUsage[tool] ?? 0) + 1;
|
|
53
|
+
return {
|
|
54
|
+
run_index: runIndex,
|
|
55
|
+
request_id: observation.requestId,
|
|
56
|
+
pass: outcome === 'passed',
|
|
57
|
+
outcome,
|
|
58
|
+
failures: evaluated.failures,
|
|
59
|
+
check_results: checkResults,
|
|
60
|
+
tool_calls: toolSequence,
|
|
61
|
+
tool_call_count: toolSequence.length,
|
|
62
|
+
tool_sequence: toolSequence,
|
|
63
|
+
tool_usage: toolUsage,
|
|
64
|
+
tool_durations_ms: observation.toolDurationsMs ?? [],
|
|
65
|
+
run_duration_ms: Math.max(0, Date.parse(observation.completedAt) - Date.parse(observation.startedAt)),
|
|
66
|
+
final_text: observation.finalText,
|
|
67
|
+
extracted: extractValues(observation.finalText, scenario.extract?.map((rule) => ({ name: rule.name, regex: rule.regex })) ?? [])
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=scenario-observation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scenario-observation.js","sourceRoot":"","sources":["../src/scenario-observation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,38 +1,38 @@
|
|
|
1
1
|
import type { EvalRules, SourceScenario } from './types.js';
|
|
2
2
|
export type TestCaseCreateInput = {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
3
|
+
id: string;
|
|
4
|
+
name?: string;
|
|
5
|
+
servers: string[];
|
|
6
|
+
prompt: string;
|
|
7
|
+
requiredTools?: string[];
|
|
8
|
+
forbiddenTools?: string[];
|
|
9
|
+
toolSequence?: string[];
|
|
10
|
+
responseRegexPatterns?: string[];
|
|
11
|
+
eval?: EvalRules;
|
|
12
|
+
extractRules?: Array<{
|
|
13
|
+
name: string;
|
|
14
|
+
regex: string;
|
|
15
|
+
}>;
|
|
16
16
|
};
|
|
17
17
|
export type CreatedTestCaseFile = {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
id: string;
|
|
19
|
+
path: string;
|
|
20
|
+
testCase: SourceScenario;
|
|
21
21
|
};
|
|
22
22
|
export type UpdatedTestCaseFile = CreatedTestCaseFile;
|
|
23
23
|
export declare function createTestCaseFile(params: {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
librariesDir: string;
|
|
25
|
+
knownServerIds: Iterable<string>;
|
|
26
|
+
testCase: TestCaseCreateInput;
|
|
27
27
|
}): CreatedTestCaseFile;
|
|
28
28
|
export declare function readTestCaseFile(params: {
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
librariesDir: string;
|
|
30
|
+
filePath: string;
|
|
31
31
|
}): CreatedTestCaseFile;
|
|
32
32
|
export declare function updateTestCaseFile(params: {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
librariesDir: string;
|
|
34
|
+
knownServerIds: Iterable<string>;
|
|
35
|
+
filePath: string;
|
|
36
|
+
testCase: TestCaseCreateInput;
|
|
37
37
|
}): UpdatedTestCaseFile;
|
|
38
|
-
//# sourceMappingURL=test-case-store.d.ts.map
|
|
38
|
+
//# sourceMappingURL=test-case-store.d.ts.map
|