@inspectr/mcplab-core 1.22.1 → 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.
Files changed (92) hide show
  1. package/dist/abort.d.ts +1 -1
  2. package/dist/agent.d.ts +72 -87
  3. package/dist/agent.d.ts.map +1 -1
  4. package/dist/agent.js +9 -2
  5. package/dist/agent.js.map +1 -1
  6. package/dist/artifacts.d.ts +9 -0
  7. package/dist/artifacts.d.ts.map +1 -0
  8. package/dist/artifacts.js +22 -0
  9. package/dist/artifacts.js.map +1 -0
  10. package/dist/assistant-tools.d.ts +1 -1
  11. package/dist/attachments.d.ts +4 -9
  12. package/dist/browser-provider-store.d.ts +5 -0
  13. package/dist/browser-provider-store.d.ts.map +1 -0
  14. package/dist/browser-provider-store.js +42 -0
  15. package/dist/browser-provider-store.js.map +1 -0
  16. package/dist/browser-providers.d.ts +48 -0
  17. package/dist/browser-providers.d.ts.map +1 -0
  18. package/dist/browser-providers.js +198 -0
  19. package/dist/browser-providers.js.map +1 -0
  20. package/dist/browser.d.ts +3 -7
  21. package/dist/browser.d.ts.map +1 -1
  22. package/dist/browser.js +1 -0
  23. package/dist/browser.js.map +1 -1
  24. package/dist/check-counts.d.ts +3 -5
  25. package/dist/check-counts.d.ts.map +1 -1
  26. package/dist/check-counts.js +11 -2
  27. package/dist/check-counts.js.map +1 -1
  28. package/dist/config-values.d.ts +1 -1
  29. package/dist/config.d.ts +21 -33
  30. package/dist/config.d.ts.map +1 -1
  31. package/dist/config.js +51 -42
  32. package/dist/config.js.map +1 -1
  33. package/dist/default-browser-providers.d.ts +13 -0
  34. package/dist/default-browser-providers.d.ts.map +1 -0
  35. package/dist/default-browser-providers.js +99 -0
  36. package/dist/default-browser-providers.js.map +1 -0
  37. package/dist/eval.d.ts +23 -53
  38. package/dist/eval.d.ts.map +1 -1
  39. package/dist/eval.js +38 -6
  40. package/dist/eval.js.map +1 -1
  41. package/dist/evaluation-config-store.d.ts +20 -17
  42. package/dist/index.d.ts +17 -50
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +10 -2
  45. package/dist/index.js.map +1 -1
  46. package/dist/langsmith-tracing.d.ts +32 -21
  47. package/dist/langsmith-tracing.js.map +1 -1
  48. package/dist/mcp.d.ts +63 -69
  49. package/dist/mcp.d.ts.map +1 -1
  50. package/dist/mcp.js +34 -5
  51. package/dist/mcp.js.map +1 -1
  52. package/dist/queue-contract.d.ts +93 -27
  53. package/dist/queue-contract.d.ts.map +1 -1
  54. package/dist/queue-contract.js +31 -1
  55. package/dist/queue-contract.js.map +1 -1
  56. package/dist/result-metrics.d.ts +3 -0
  57. package/dist/result-metrics.d.ts.map +1 -0
  58. package/dist/result-metrics.js +6 -0
  59. package/dist/result-metrics.js.map +1 -0
  60. package/dist/results-query.d.ts +51 -60
  61. package/dist/results-query.d.ts.map +1 -1
  62. package/dist/results-query.js +23 -47
  63. package/dist/results-query.js.map +1 -1
  64. package/dist/results.d.ts +20 -18
  65. package/dist/results.d.ts.map +1 -1
  66. package/dist/results.js +26 -7
  67. package/dist/results.js.map +1 -1
  68. package/dist/run-directory-snapshots.d.ts +12 -0
  69. package/dist/run-directory-snapshots.d.ts.map +1 -0
  70. package/dist/run-directory-snapshots.js +56 -0
  71. package/dist/run-directory-snapshots.js.map +1 -0
  72. package/dist/runner.d.ts +109 -121
  73. package/dist/runner.d.ts.map +1 -1
  74. package/dist/runner.js +123 -66
  75. package/dist/runner.js.map +1 -1
  76. package/dist/runtime-overrides.d.ts +4 -7
  77. package/dist/scenario-builder.d.ts +15 -15
  78. package/dist/scenario-observation.d.ts +22 -0
  79. package/dist/scenario-observation.d.ts.map +1 -0
  80. package/dist/scenario-observation.js +70 -0
  81. package/dist/scenario-observation.js.map +1 -0
  82. package/dist/test-case-store.d.ts +26 -26
  83. package/dist/tool-definition-token-estimates.d.ts +13 -16
  84. package/dist/trace-token-estimates.d.ts +5 -11
  85. package/dist/trace.d.ts +4 -4
  86. package/dist/trace.d.ts.map +1 -1
  87. package/dist/trace.js.map +1 -1
  88. package/dist/types.d.ts +353 -338
  89. package/dist/types.d.ts.map +1 -1
  90. package/dist/types.js +3 -1
  91. package/dist/types.js.map +1 -1
  92. 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 { buildNotEvaluatedCheckResults, evaluateScenarioWithAgentChecks, extractValues, normalizeToolConstraintAliases } from './eval.js';
9
- import { aggregateResults, renderSummaryMarkdown } from './results.js';
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 {
@@ -143,10 +153,16 @@ export async function runAll(config, options) {
143
153
  agent,
144
154
  mcp,
145
155
  requestId,
146
- resolveServerRequestHeaders: (serverNames) => options.resolveMcpServerAuthHeaders?.(serverNames, { signal: options.signal }) ??
147
- Promise.resolve({}),
156
+ resolveServerRequestHeaders: async (serverNames) => {
157
+ const [clientCredentialsHeaders, externalHeaders] = await Promise.all([
158
+ mcp.getRequestHeadersForServers(serverNames, runSignal),
159
+ options.resolveMcpServerAuthHeaders?.(serverNames, { signal: runSignal }) ??
160
+ Promise.resolve({})
161
+ ]);
162
+ return { ...clientCredentialsHeaders, ...externalHeaders };
163
+ },
148
164
  maxTurns: agent.max_turns,
149
- signal: options.signal,
165
+ signal: runSignal,
150
166
  trace: scenarioTrace,
151
167
  onProgress: async (event) => {
152
168
  await emitProgress({
@@ -157,42 +173,30 @@ export async function runAll(config, options) {
157
173
  });
158
174
  }
159
175
  });
160
- const evalResult = await evaluateScenarioWithAgentChecks(runResult.finalText, runResult.toolSequence, (effectiveScenarioEval = normalizeToolConstraintAliases(scenario.eval, runResult.availableToolNames)), {
161
- toolCalls: runResult.toolCalls,
162
- availableToolNames: runResult.availableToolNames,
163
- scenarioPrompt: scenario.prompt,
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
+ },
164
190
  judgeAgentAssertions: options.evaluationJudge
165
- ? async (input) => {
166
- return judgeAgentAssertions({
167
- assertions: input.assertions,
168
- context: input.context,
169
- finalText: runResult.finalText,
170
- judge: options.evaluationJudge,
171
- signal: options.signal
172
- });
173
- }
191
+ ? async (input) => judgeAgentAssertions({
192
+ assertions: input.assertions,
193
+ context: input.context,
194
+ finalText: runResult.finalText,
195
+ judge: options.evaluationJudge,
196
+ signal: runSignal
197
+ })
174
198
  : undefined
175
199
  });
176
- const extracted = extractValues(runResult.finalText, scenario.extract?.map((rule) => ({ name: rule.name, regex: rule.regex })) ?? []);
177
- const toolUsage = {};
178
- for (const tool of runResult.toolSequence) {
179
- toolUsage[tool] = (toolUsage[tool] ?? 0) + 1;
180
- }
181
- const scenarioRun = {
182
- run_index: runIndex,
183
- request_id: requestId,
184
- pass: evalResult.pass,
185
- failures: evalResult.failures,
186
- check_results: evalResult.check_results,
187
- tool_calls: runResult.toolSequence,
188
- tool_call_count: runResult.toolSequence.length,
189
- tool_sequence: runResult.toolSequence,
190
- tool_usage: toolUsage,
191
- tool_durations_ms: runResult.toolDurationsMs,
192
- run_duration_ms: Math.max(0, Date.parse(runResult.traceEndedAt) - Date.parse(runResult.traceStartedAt)),
193
- final_text: runResult.finalText,
194
- extracted
195
- };
196
200
  runs.push(scenarioRun);
197
201
  const traceRecord = {
198
202
  type: 'scenario_run',
@@ -205,7 +209,8 @@ export async function runAll(config, options) {
205
209
  model: runResult.traceModel,
206
210
  ts_start: runResult.traceStartedAt,
207
211
  ts_end: runResult.traceEndedAt,
208
- pass: evalResult.pass,
212
+ pass: scenarioRun.pass,
213
+ outcome: scenarioRun.outcome,
209
214
  messages: enrichTraceMessagesWithEstimatedTokens(runResult.traceMessages, runResult.traceModel),
210
215
  metrics: {
211
216
  tool_call_count: runResult.toolSequence.length,
@@ -216,7 +221,7 @@ export async function runAll(config, options) {
216
221
  await scenarioTrace.end({
217
222
  outputs: {
218
223
  finalText: runResult.finalText,
219
- pass: evalResult.pass,
224
+ pass: scenarioRun.pass,
220
225
  messages: toLangSmithMessages(runResult.traceMessages),
221
226
  metrics: traceRecord.metrics
222
227
  }
@@ -229,28 +234,67 @@ export async function runAll(config, options) {
229
234
  totalScenarioRuns,
230
235
  runIndex,
231
236
  runsPerScenario: options.runsPerScenario,
232
- pass: evalResult.pass,
237
+ pass: scenarioRun.pass,
238
+ outcome: scenarioRun.outcome,
233
239
  toolCallCount: runResult.toolSequence.length
234
240
  });
235
241
  }
236
242
  catch (scenarioErr) {
237
- if (options.signal?.aborted || isAbortError(scenarioErr)) {
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) {
238
266
  await scenarioTrace.end({
239
267
  error: String(scenarioErr?.message ?? scenarioErr),
240
268
  outputs: { pass: false }
241
269
  });
242
270
  throw scenarioErr;
243
271
  }
244
- const errorMessage = scenarioErr?.message ?? String(scenarioErr);
245
- console.error(`Scenario '${scenario.id}' run ${runIndex} failed: ${errorMessage}`);
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
+ }
246
289
  const tsEnd = new Date().toISOString();
247
- const errorRun = {
290
+ const unsuccessfulRun = {
248
291
  run_index: runIndex,
249
292
  request_id: requestId,
250
293
  pass: false,
251
- error: errorMessage,
252
- failures: [`Scenario error: ${errorMessage}`],
253
- check_results: buildNotEvaluatedCheckResults(scenario.eval),
294
+ outcome,
295
+ ...(stopped ? { stop_reason: errorMessage } : { error: errorMessage }),
296
+ failures: stopped ? [] : [`Scenario error: ${errorMessage}`],
297
+ check_results: buildNotExecutedCheckResults(scenario.eval),
254
298
  tool_calls: [],
255
299
  tool_call_count: 0,
256
300
  tool_sequence: [],
@@ -260,8 +304,8 @@ export async function runAll(config, options) {
260
304
  final_text: '',
261
305
  extracted: {}
262
306
  };
263
- runs.push(errorRun);
264
- const errorTrace = {
307
+ runs.push(unsuccessfulRun);
308
+ const unsuccessfulTrace = {
265
309
  type: 'scenario_run',
266
310
  trace_version: 3,
267
311
  run_index: runIndex,
@@ -273,11 +317,17 @@ export async function runAll(config, options) {
273
317
  ts_start: tsStart,
274
318
  ts_end: tsEnd,
275
319
  pass: false,
320
+ outcome,
276
321
  error: errorMessage,
277
322
  messages: []
278
323
  };
279
- trace.write(errorTrace);
280
- await scenarioTrace.end({ error: errorMessage, outputs: { pass: false } });
324
+ trace.write(unsuccessfulTrace);
325
+ if (!traceEnded) {
326
+ await scenarioTrace.end({
327
+ error: errorMessage,
328
+ outputs: { pass: false, ...(stopped ? { stopped: true } : {}) }
329
+ });
330
+ }
281
331
  await emitProgress({
282
332
  type: 'scenario_run_finished',
283
333
  scenarioId: scenario.id,
@@ -287,19 +337,24 @@ export async function runAll(config, options) {
287
337
  runIndex,
288
338
  runsPerScenario: options.runsPerScenario,
289
339
  pass: false,
340
+ outcome,
290
341
  toolCallCount: 0
291
342
  });
343
+ if (stopped)
344
+ break;
292
345
  }
293
346
  }
294
- scenarioRuns.push({
295
- scenario_id: scenario.id,
296
- scenario_name: scenario.name,
297
- agent: scenario.agent,
298
- provider: agent.provider,
299
- model: agent.model,
300
- eval: effectiveScenarioEval,
301
- runs
302
- });
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
+ }
303
358
  }
304
359
  const traceExport = await traceExporter.flush();
305
360
  traceExporterFlushed = true;
@@ -312,12 +367,12 @@ export async function runAll(config, options) {
312
367
  cliVersion: options.cliVersion,
313
368
  langsmithTraceUrls: traceExport.traceUrls,
314
369
  mcpServerVersions,
370
+ executionSource: 'mcplab',
315
371
  scenarioRuns
316
372
  });
317
- const resultsPath = join(runDir, 'results.json');
318
- writeFileSync(resultsPath, `${JSON.stringify(results, null, 2)}\n`, 'utf8');
319
- const summaryPath = join(runDir, 'summary.md');
320
- writeFileSync(summaryPath, renderSummaryMarkdown(results), 'utf8');
373
+ if (options.persistArtifacts !== false) {
374
+ persistEvaluationArtifacts({ runDir, results });
375
+ }
321
376
  await emitProgress({ type: 'run_finished', runId, totalScenarioRuns });
322
377
  return { runDir, results };
323
378
  }
@@ -391,7 +446,7 @@ export function mapJudgeBatchResults(params) {
391
446
  };
392
447
  });
393
448
  }
394
- async function judgeAgentAssertions(params) {
449
+ export async function judgeAgentAssertions(params) {
395
450
  const batch = buildJudgeBatchPayload(params.finalText, params.assertions, params.context);
396
451
  const system = [
397
452
  'You evaluate whether a final answer satisfies a set of semantic checks.',
@@ -426,6 +481,8 @@ async function judgeAgentAssertions(params) {
426
481
  });
427
482
  }
428
483
  function buildJudgeCheckMetadata(judgeName, judgeAgent, checkId) {
484
+ if (!isLlmAgent(judgeAgent))
485
+ throw new Error('Browser agents cannot be evaluation judges.');
429
486
  return {
430
487
  check_id: checkId,
431
488
  judge_agent: judgeName,
@@ -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
- serverOverrideAll?: string[];
4
- scenarioServerOverrides?: Record<string, string[]>;
3
+ serverOverrideAll?: string[];
4
+ scenarioServerOverrides?: Record<string, string[]>;
5
5
  }
6
- export declare function applyRuntimeServerOverrides(
7
- config: EvalConfig,
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
- 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
- }>;
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
- 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
- }>;
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
- id: string;
19
- path: string;
20
- testCase: SourceScenario;
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
- librariesDir: string;
25
- knownServerIds: Iterable<string>;
26
- testCase: TestCaseCreateInput;
24
+ librariesDir: string;
25
+ knownServerIds: Iterable<string>;
26
+ testCase: TestCaseCreateInput;
27
27
  }): CreatedTestCaseFile;
28
28
  export declare function readTestCaseFile(params: {
29
- librariesDir: string;
30
- filePath: string;
29
+ librariesDir: string;
30
+ filePath: string;
31
31
  }): CreatedTestCaseFile;
32
32
  export declare function updateTestCaseFile(params: {
33
- librariesDir: string;
34
- knownServerIds: Iterable<string>;
35
- filePath: string;
36
- testCase: TestCaseCreateInput;
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