@inspectr/mcplab 1.15.0 → 1.16.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 (47) hide show
  1. package/README.md +0 -35
  2. package/dist/app/assets/index-BSGuUMv-.js +254 -0
  3. package/dist/app/assets/index-Bekohuot.css +1 -0
  4. package/dist/app/index.html +2 -2
  5. package/dist/app-server/app-context.d.ts +0 -22
  6. package/dist/app-server/app-context.d.ts.map +1 -1
  7. package/dist/app-server/evals-routes.d.ts.map +1 -1
  8. package/dist/app-server/evals-routes.js +1 -38
  9. package/dist/app-server/evals-routes.js.map +1 -1
  10. package/dist/app-server/libraries-store.d.ts.map +1 -1
  11. package/dist/app-server/libraries-store.js +2 -3
  12. package/dist/app-server/libraries-store.js.map +1 -1
  13. package/dist/app-server/result-assistant-domain.js +1 -2
  14. package/dist/app-server/result-assistant-domain.js.map +1 -1
  15. package/dist/app-server/result-assistant.d.ts.map +1 -1
  16. package/dist/app-server/result-assistant.js +7 -1
  17. package/dist/app-server/result-assistant.js.map +1 -1
  18. package/dist/app-server/router.d.ts.map +1 -1
  19. package/dist/app-server/router.js +0 -24
  20. package/dist/app-server/router.js.map +1 -1
  21. package/dist/app-server/runs-routes.d.ts +15 -4
  22. package/dist/app-server/runs-routes.d.ts.map +1 -1
  23. package/dist/app-server/runs-routes.js +176 -133
  24. package/dist/app-server/runs-routes.js.map +1 -1
  25. package/dist/app-server/runs-store.d.ts +22 -16
  26. package/dist/app-server/scenario-assistant-domain.d.ts +0 -16
  27. package/dist/app-server/scenario-assistant-domain.d.ts.map +1 -1
  28. package/dist/app-server/scenario-assistant-domain.js +5 -8
  29. package/dist/app-server/scenario-assistant-domain.js.map +1 -1
  30. package/dist/app-server/scenario-assistant.d.ts.map +1 -1
  31. package/dist/app-server/scenario-assistant.js +7 -1
  32. package/dist/app-server/scenario-assistant.js.map +1 -1
  33. package/dist/app-server/snapshots-routes.d.ts +1 -13
  34. package/dist/app-server/snapshots-routes.d.ts.map +1 -1
  35. package/dist/app-server/snapshots-routes.js +9 -79
  36. package/dist/app-server/snapshots-routes.js.map +1 -1
  37. package/dist/app-server/types.d.ts +0 -2
  38. package/dist/app-server/types.d.ts.map +1 -1
  39. package/dist/cli.js +79 -288
  40. package/dist/cli.js.map +1 -1
  41. package/dist/interactive-helpers.d.ts +0 -1
  42. package/dist/interactive-helpers.d.ts.map +1 -1
  43. package/dist/interactive-helpers.js +0 -3
  44. package/dist/interactive-helpers.js.map +1 -1
  45. package/package.json +4 -4
  46. package/dist/app/assets/index-BH8cCzoo.css +0 -1
  47. package/dist/app/assets/index-C2W0NrXX.js +0 -250
@@ -21,7 +21,6 @@ import { handleOAuthDebuggerRoutes } from './oauth-debugger.js';
21
21
  import { handleOAuthRuntimeRoutes } from './oauth-runtime-routes.js';
22
22
  import { handleScenarioAssistantRoutes } from './scenario-assistant.js';
23
23
  import { handleResultAssistantRoutes } from './result-assistant.js';
24
- import { handleSnapshotsRoutes } from './snapshots-routes.js';
25
24
  import { handleEvalsRoutes } from './evals-routes.js';
26
25
  import { handleRunsRoutes } from './runs-routes.js';
27
26
  import { fetchProviderModels } from './provider-models.js';
@@ -30,7 +29,6 @@ import { preloadResultAssistantTools, continueResultAssistantTurn, executeResult
30
29
  import { discoverMcpToolsForServers, runToolAnalysisJob } from './tool-analysis-domain.js';
31
30
  import { cleanupOAuthDebuggerSessions, oauthDebuggerSessionView, createOAuthDebuggerSession, startOrResumeOAuthDebuggerSession, submitManualCallbackToSession, submitBrowserCallbackToSession, stopOAuthDebuggerSession, oauthDebuggerExportMarkdown, oauthDebuggerExportRawTrace } from './oauth-debugger-domain.js';
32
31
  import { OAuthSessionManager } from './oauth-session-manager.js';
33
- import { applySnapshotPolicyToRunResult, buildSnapshotFromRun, compareRunToSnapshot, listSnapshots, loadSnapshot, saveSnapshot } from '../snapshot.js';
34
32
  const pkgVersion = JSON.parse(readFileSync(new URL('../../package.json', import.meta.url), 'utf8'))
35
33
  ?.version;
36
34
  const mcpServerPkgVersion = (() => {
@@ -79,13 +77,11 @@ export async function startAppServer(options) {
79
77
  workspaceRoot,
80
78
  evalsDir: resolve(options.evalsDir),
81
79
  runsDir: resolve(options.runsDir),
82
- snapshotsDir: resolve(options.snapshotsDir),
83
80
  toolAnalysisResultsDir: resolve(options.toolAnalysisResultsDir),
84
81
  librariesDir: resolve(options.librariesDir)
85
82
  };
86
83
  mkdirSync(settings.evalsDir, { recursive: true });
87
84
  mkdirSync(settings.runsDir, { recursive: true });
88
- mkdirSync(settings.snapshotsDir, { recursive: true });
89
85
  mkdirSync(settings.toolAnalysisResultsDir, { recursive: true });
90
86
  mkdirSync(settings.librariesDir, { recursive: true });
91
87
  mkdirSync(join(settings.librariesDir, 'test-cases'), { recursive: true });
@@ -139,11 +135,6 @@ export async function startAppServer(options) {
139
135
  continueAssistantTurn,
140
136
  executeAssistantToolCall,
141
137
  summarizeToolResultForAssistant,
142
- listSnapshots,
143
- buildSnapshotFromRun,
144
- saveSnapshot,
145
- loadSnapshot,
146
- compareRunToSnapshot,
147
138
  getRunResults,
148
139
  decodeEvalId,
149
140
  readConfigRecord,
@@ -155,7 +146,6 @@ export async function startAppServer(options) {
155
146
  selectScenarioIds,
156
147
  expandConfigForAgents,
157
148
  resolveRunSelectedAgents,
158
- applySnapshotPolicyToRunResult,
159
149
  chatWithAgent,
160
150
  pkgVersion
161
151
  };
@@ -232,10 +222,6 @@ export async function startAppServer(options) {
232
222
  settings.runsDir = resolve(String(body.runsDir));
233
223
  mkdirSync(settings.runsDir, { recursive: true });
234
224
  }
235
- if (body.snapshotsDir) {
236
- settings.snapshotsDir = resolve(String(body.snapshotsDir));
237
- mkdirSync(settings.snapshotsDir, { recursive: true });
238
- }
239
225
  if (body.librariesDir) {
240
226
  settings.librariesDir = resolve(String(body.librariesDir));
241
227
  mkdirSync(settings.librariesDir, { recursive: true });
@@ -334,16 +320,6 @@ export async function startAppServer(options) {
334
320
  })) {
335
321
  return;
336
322
  }
337
- if (await handleSnapshotsRoutes({
338
- req,
339
- res,
340
- pathname,
341
- method,
342
- settings,
343
- deps: routeDeps
344
- })) {
345
- return;
346
- }
347
323
  if (await handleEvalsRoutes({
348
324
  req,
349
325
  res,
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/app-server/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/app-server/router.ts"],"names":[],"mappings":"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"}
@@ -16,9 +16,6 @@ export type RunsRouteDeps = Pick<
16
16
  | 'selectScenarioIds'
17
17
  | 'expandConfigForAgents'
18
18
  | 'resolveRunSelectedAgents'
19
- | 'loadSnapshot'
20
- | 'compareRunToSnapshot'
21
- | 'applySnapshotPolicyToRunResult'
22
19
  | 'readLibraries'
23
20
  | 'pickDefaultAssistantAgentName'
24
21
  | 'pkgVersion'
@@ -29,9 +26,10 @@ type RunParams = {
29
26
  scenarioId?: string;
30
27
  scenarioIds?: string[];
31
28
  requestedAgents?: string[];
32
- applySnapshotEval: boolean;
33
29
  runNote?: string;
34
30
  oauthServerNames?: string[];
31
+ serverOverrideAll?: string[];
32
+ scenarioServerOverrides?: Record<string, string[]>;
35
33
  };
36
34
  type RunJob = {
37
35
  id: string;
@@ -42,6 +40,19 @@ type RunJob = {
42
40
  runParams: RunParams;
43
41
  blockedAuthServers?: string[];
44
42
  };
43
+ export declare function mergeLibraryEntriesIntoConfig(
44
+ config: EvalConfig,
45
+ libraryAgents: EvalConfig['agents'],
46
+ libraryServers: EvalConfig['servers']
47
+ ): EvalConfig;
48
+ export declare function applyLibraryEntries(
49
+ loaded: {
50
+ config: EvalConfig;
51
+ hash: string;
52
+ },
53
+ libraryAgents: EvalConfig['agents'],
54
+ libraryServers: EvalConfig['servers']
55
+ ): void;
45
56
  export declare function mergeLibraryAgentsIntoConfig(
46
57
  config: EvalConfig,
47
58
  libraryAgents: EvalConfig['agents']
@@ -1 +1 @@
1
- {"version":3,"file":"runs-routes.d.ts","sourceRoot":"","sources":["../../src/app-server/runs-routes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGjE,OAAO,EAML,KAAK,UAAU,EAEhB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC5F,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,4BAA4B,CAAC;AAEpC,MAAM,MAAM,aAAa,GAAG,IAAI,CAC9B,YAAY,EACV,WAAW,GACX,QAAQ,GACR,aAAa,GACb,cAAc,GACd,kBAAkB,GAClB,UAAU,GACV,eAAe,GACf,4BAA4B,GAC5B,mBAAmB,GACnB,uBAAuB,GACvB,0BAA0B,GAC1B,cAAc,GACd,sBAAsB,GACtB,gCAAgC,GAChC,eAAe,GACf,+BAA+B,GAC/B,YAAY,CACf,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,KAAK,MAAM,GAAG;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,QAAQ,GAAG,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IAClF,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAC7B,eAAe,EAAE,eAAe,CAAC;IACjC,SAAS,EAAE,SAAS,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B,CAAC;AAEF,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,UAAU,CAAC,QAAQ,CAAC,GAClC,UAAU,CAEZ;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC5C,aAAa,EAAE,UAAU,CAAC,QAAQ,CAAC,GAClC,IAAI,CAGN;AA0BD,wBAAsB,gBAAgB,CAAC,MAAM,EAAE;IAC7C,GAAG,EAAE,eAAe,CAAC;IACrB,GAAG,EAAE,cAAc,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,aAAa,EAAE,aAAa,CAAC;IAC7B,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,IAAI,EAAE,aAAa,CAAC;CACrB,GAAG,OAAO,CAAC,OAAO,CAAC,CAqgBnB"}
1
+ {"version":3,"file":"runs-routes.d.ts","sourceRoot":"","sources":["../../src/app-server/runs-routes.ts"],"names":[],"mappings":"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"}
@@ -2,19 +2,39 @@ import { randomUUID } from 'node:crypto';
2
2
  import { existsSync, mkdtempSync, rmSync, writeFileSync } from 'node:fs';
3
3
  import { tmpdir } from 'node:os';
4
4
  import { isAbsolute, join, relative, resolve } from 'node:path';
5
- import { McpClientManager, loadConfig, hashConfig, runAll, renderSummaryMarkdown } from '@inspectr/mcplab-core';
5
+ import { McpClientManager, loadConfig, hashConfig, runAll, renderSummaryMarkdown, applyRuntimeServerOverrides } from '@inspectr/mcplab-core';
6
6
  import { renderReport } from '@inspectr/mcplab-reporting';
7
7
  import { OAuthAuthorizationRequiredError } from './oauth-session-manager.js';
8
+ import { selectScenarioIds } from './runs-store.js';
9
+ import { readLibraries as readLibrariesFromStore } from './libraries-store.js';
10
+ export function mergeLibraryEntriesIntoConfig(config, libraryAgents, libraryServers) {
11
+ return {
12
+ ...config,
13
+ agents: { ...libraryAgents, ...config.agents },
14
+ servers: { ...libraryServers, ...config.servers }
15
+ };
16
+ }
17
+ export function applyLibraryEntries(loaded, libraryAgents, libraryServers) {
18
+ loaded.config = mergeLibraryEntriesIntoConfig(loaded.config, libraryAgents, libraryServers);
19
+ loaded.hash = hashConfig(loaded.config);
20
+ }
21
+ function filterScenarioOverridesToSelectedScenarios(selectedConfig, scenarioServerOverrides) {
22
+ if (!scenarioServerOverrides)
23
+ return undefined;
24
+ const selectedIds = new Set(selectedConfig.scenarios.map((scenario) => scenario.id));
25
+ const filtered = Object.fromEntries(Object.entries(scenarioServerOverrides).filter(([scenarioId]) => selectedIds.has(scenarioId)));
26
+ return Object.keys(filtered).length > 0 ? filtered : undefined;
27
+ }
28
+ // Backward-compatible exports used by existing tests/imports.
8
29
  export function mergeLibraryAgentsIntoConfig(config, libraryAgents) {
9
- return { ...config, agents: { ...libraryAgents, ...config.agents } };
30
+ return mergeLibraryEntriesIntoConfig(config, libraryAgents, {});
10
31
  }
11
32
  export function applyLibraryAgents(loaded, libraryAgents) {
12
- loaded.config = mergeLibraryAgentsIntoConfig(loaded.config, libraryAgents);
13
- loaded.hash = hashConfig(loaded.config);
33
+ applyLibraryEntries(loaded, libraryAgents, {});
14
34
  }
15
35
  export async function handleRunsRoutes(params) {
16
36
  const { req, res, pathname, method, settings, jobs, runQueueState, oauthSessionManager, deps } = params;
17
- const { parseBody, asJson, addJobEvent, sendSseEvent, ensureInsideRoot, listRuns, getRunResults, getScenarioRunTraceRecords, selectScenarioIds, expandConfigForAgents, resolveRunSelectedAgents, loadSnapshot, compareRunToSnapshot, applySnapshotPolicyToRunResult, readLibraries, pickDefaultAssistantAgentName, pkgVersion } = deps;
37
+ const { parseBody, asJson, addJobEvent, sendSseEvent, ensureInsideRoot, listRuns, getRunResults, getScenarioRunTraceRecords, selectScenarioIds, expandConfigForAgents, resolveRunSelectedAgents, readLibraries, pickDefaultAssistantAgentName, pkgVersion } = deps;
18
38
  if (pathname === '/api/runs' && method === 'GET') {
19
39
  const requestUrl = new URL(req.url ?? '/api/runs', 'http://localhost');
20
40
  const since = requestUrl.searchParams.get('since') ?? undefined;
@@ -109,7 +129,9 @@ export async function handleRunsRoutes(params) {
109
129
  runsPerScenario: j.runParams.runsPerScenario,
110
130
  scenarioIds: j.runParams.scenarioIds ?? null,
111
131
  agents: j.runParams.requestedAgents ?? null,
112
- runNote: j.runParams.runNote ?? null
132
+ runNote: j.runParams.runNote ?? null,
133
+ serverOverrideAll: j.runParams.serverOverrideAll ?? null,
134
+ scenarioServerOverrides: j.runParams.scenarioServerOverrides ?? null
113
135
  }
114
136
  }));
115
137
  asJson(res, 200, {
@@ -122,7 +144,9 @@ export async function handleRunsRoutes(params) {
122
144
  runsPerScenario: activeJob.runParams.runsPerScenario,
123
145
  scenarioIds: activeJob.runParams.scenarioIds ?? null,
124
146
  agents: activeJob.runParams.requestedAgents ?? null,
125
- runNote: activeJob.runParams.runNote ?? null
147
+ runNote: activeJob.runParams.runNote ?? null,
148
+ serverOverrideAll: activeJob.runParams.serverOverrideAll ?? null,
149
+ scenarioServerOverrides: activeJob.runParams.scenarioServerOverrides ?? null
126
150
  }
127
151
  }
128
152
  : null,
@@ -182,9 +206,45 @@ export async function handleRunsRoutes(params) {
182
206
  const requestedAgents = Array.isArray(body.agents)
183
207
  ? body.agents.map((agent) => String(agent).trim()).filter(Boolean)
184
208
  : undefined;
185
- const applySnapshotEval = body.applySnapshotEval !== false;
186
209
  const runNoteRaw = typeof body.runNote === 'string' ? body.runNote.trim() : '';
187
210
  const runNote = runNoteRaw ? runNoteRaw.slice(0, 500) : undefined;
211
+ const serverOverrideAll = Array.isArray(body.serverOverrideAll)
212
+ ? body.serverOverrideAll.map((id) => String(id).trim()).filter(Boolean)
213
+ : undefined;
214
+ if (Array.isArray(body.serverOverrideAll) &&
215
+ (!serverOverrideAll || serverOverrideAll.length === 0)) {
216
+ asJson(res, 400, { error: 'serverOverrideAll must include at least one server id' });
217
+ return true;
218
+ }
219
+ if (body.scenarioServerOverrides !== undefined &&
220
+ (typeof body.scenarioServerOverrides !== 'object' ||
221
+ body.scenarioServerOverrides === null ||
222
+ Array.isArray(body.scenarioServerOverrides))) {
223
+ asJson(res, 400, {
224
+ error: 'scenarioServerOverrides must be an object of scenarioId -> string[]'
225
+ });
226
+ return true;
227
+ }
228
+ let scenarioServerOverrides;
229
+ if (body.scenarioServerOverrides && typeof body.scenarioServerOverrides === 'object') {
230
+ const normalizedEntries = [];
231
+ for (const [rawScenarioId, rawServerIds] of Object.entries(body.scenarioServerOverrides)) {
232
+ const scenarioOverrideId = String(rawScenarioId).trim();
233
+ if (!scenarioOverrideId)
234
+ continue;
235
+ if (!Array.isArray(rawServerIds)) {
236
+ asJson(res, 400, {
237
+ error: `scenarioServerOverrides.${scenarioOverrideId} must be an array of server ids`
238
+ });
239
+ return true;
240
+ }
241
+ normalizedEntries.push([
242
+ scenarioOverrideId,
243
+ rawServerIds.map((id) => String(id).trim()).filter(Boolean)
244
+ ]);
245
+ }
246
+ scenarioServerOverrides = Object.fromEntries(normalizedEntries);
247
+ }
188
248
  if (!configPathRaw) {
189
249
  asJson(res, 400, { error: 'configPath is required' });
190
250
  return true;
@@ -200,17 +260,27 @@ export async function handleRunsRoutes(params) {
200
260
  asJson(res, 404, { error: `Config not found: ${configPath}` });
201
261
  return true;
202
262
  }
203
- // Eagerly cache OAuth server names to avoid re-parsing config in advanceQueue
204
- let oauthServerNames;
205
263
  try {
206
- const loaded = loadConfig(configPath);
207
- oauthServerNames = Object.entries(loaded.config.servers ?? {})
208
- .filter(([, v]) => v.auth?.type === 'oauth_authorization_code')
209
- .map(([name]) => name);
264
+ const loaded = loadConfig(configPath, { bundleRoot: settings.librariesDir });
265
+ const libraries = readLibraries(settings.librariesDir);
266
+ applyLibraryEntries(loaded, libraries.agents, libraries.servers);
267
+ const selected = scenarioIds?.length
268
+ ? deps.selectScenarioIds(loaded.config, scenarioIds)
269
+ : scenarioId
270
+ ? deps.selectScenarioIds(loaded.config, [scenarioId])
271
+ : loaded.config;
272
+ const filteredScenarioOverrides = filterScenarioOverridesToSelectedScenarios(selected, scenarioServerOverrides);
273
+ applyRuntimeServerOverrides(selected, {
274
+ serverOverrideAll,
275
+ scenarioServerOverrides: filteredScenarioOverrides
276
+ });
210
277
  }
211
- catch {
212
- // Will be resolved lazily in advanceQueue if needed
278
+ catch (error) {
279
+ asJson(res, 400, { error: error instanceof Error ? error.message : String(error) });
280
+ return true;
213
281
  }
282
+ // Resolve lazily in advanceQueue so runtime overrides are always reflected.
283
+ const oauthServerNames = undefined;
214
284
  const jobId = `run-${Date.now()}-${randomUUID().slice(0, 8)}`;
215
285
  const runParamsObj = {
216
286
  configPath,
@@ -218,9 +288,10 @@ export async function handleRunsRoutes(params) {
218
288
  scenarioId,
219
289
  scenarioIds,
220
290
  requestedAgents,
221
- applySnapshotEval,
222
291
  runNote,
223
- oauthServerNames
292
+ oauthServerNames,
293
+ serverOverrideAll,
294
+ scenarioServerOverrides
224
295
  };
225
296
  const job = {
226
297
  id: jobId,
@@ -244,6 +315,8 @@ export async function handleRunsRoutes(params) {
244
315
  scenarioIds: scenarioIds ?? null,
245
316
  agents: requestedAgents ?? null,
246
317
  runNote: runNote ?? null,
318
+ serverOverrideAll: serverOverrideAll ?? null,
319
+ scenarioServerOverrides: scenarioServerOverrides ?? null,
247
320
  position: runQueueState.queue.length
248
321
  }
249
322
  });
@@ -568,19 +641,39 @@ function toCoreExtractRules(extractRules) {
568
641
  }
569
642
  return rules;
570
643
  }
571
- function resolveOAuthServersForJob(job) {
572
- if (job.runParams.oauthServerNames !== undefined) {
644
+ function resolveOAuthServersForJob(job, librariesDir) {
645
+ if (job.runParams.oauthServerNames !== undefined)
573
646
  return job.runParams.oauthServerNames;
574
- }
575
647
  try {
576
- const loaded = loadConfig(job.runParams.configPath);
577
- const names = Object.entries(loaded.config.servers ?? {})
578
- .filter(([, v]) => v.auth?.type === 'oauth_authorization_code')
579
- .map(([name]) => name);
648
+ const loaded = loadConfig(job.runParams.configPath, { bundleRoot: librariesDir });
649
+ const libraries = readLibrariesFromStore(librariesDir);
650
+ applyLibraryEntries(loaded, libraries.agents, libraries.servers);
651
+ const selected = job.runParams.scenarioIds?.length
652
+ ? selectScenarioIds(loaded.config, job.runParams.scenarioIds)
653
+ : job.runParams.scenarioId
654
+ ? selectScenarioIds(loaded.config, [job.runParams.scenarioId])
655
+ : loaded.config;
656
+ const filteredScenarioOverrides = filterScenarioOverridesToSelectedScenarios(selected, job.runParams.scenarioServerOverrides);
657
+ const withOverrides = applyRuntimeServerOverrides(selected, {
658
+ serverOverrideAll: job.runParams.serverOverrideAll,
659
+ scenarioServerOverrides: filteredScenarioOverrides
660
+ });
661
+ const effectiveServers = new Set(withOverrides.scenarios.flatMap((scenario) => scenario.servers));
662
+ const names = Array.from(effectiveServers).filter((name) => {
663
+ const config = withOverrides.servers?.[name];
664
+ return config?.auth?.type === 'oauth_authorization_code';
665
+ });
580
666
  job.runParams.oauthServerNames = names;
581
667
  return names;
582
668
  }
583
- catch {
669
+ catch (error) {
670
+ const message = error instanceof Error ? error.message : String(error);
671
+ if (message.includes('Unknown server refs') ||
672
+ message.includes('Unknown scenarios in scenarioServerOverrides') ||
673
+ message.includes('serverOverrideAll must include at least one server id')) {
674
+ throw error;
675
+ }
676
+ console.warn(`[mcplab] Failed to resolve OAuth servers for queued job '${job.id}': ${message}`);
584
677
  return [];
585
678
  }
586
679
  }
@@ -599,7 +692,25 @@ async function advanceQueue(jobs, runQueueState, settings, oauthSessionManager,
599
692
  continue;
600
693
  }
601
694
  // Pre-check OAuth before starting
602
- const oauthServers = resolveOAuthServersForJob(nextJob);
695
+ let oauthServers = [];
696
+ try {
697
+ oauthServers = resolveOAuthServersForJob(nextJob, settings.librariesDir);
698
+ }
699
+ catch (error) {
700
+ runQueueState.queue.shift();
701
+ nextJob.status = 'error';
702
+ deps.addJobEvent(nextJob, {
703
+ type: 'error',
704
+ ts: new Date().toISOString(),
705
+ payload: {
706
+ message: error instanceof Error ? error.message : String(error)
707
+ }
708
+ });
709
+ for (const client of nextJob.clients)
710
+ client.end();
711
+ nextJob.clients.clear();
712
+ continue;
713
+ }
603
714
  if (oauthServers.length > 0) {
604
715
  const authStatus = oauthSessionManager.checkServersAuthStatus(oauthServers);
605
716
  const needsAuth = authStatus.filter((s) => s.status === 'auth_required');
@@ -634,7 +745,9 @@ async function advanceQueue(jobs, runQueueState, settings, oauthSessionManager,
634
745
  scenarioId: nextJob.runParams.scenarioId ?? null,
635
746
  scenarioIds: nextJob.runParams.scenarioIds ?? null,
636
747
  agents: nextJob.runParams.requestedAgents ?? null,
637
- runNote: nextJob.runParams.runNote ?? null
748
+ runNote: nextJob.runParams.runNote ?? null,
749
+ serverOverrideAll: nextJob.runParams.serverOverrideAll ?? null,
750
+ scenarioServerOverrides: nextJob.runParams.scenarioServerOverrides ?? null
638
751
  }
639
752
  });
640
753
  void executeRunJob(nextJob, settings, jobs, runQueueState, oauthSessionManager, deps);
@@ -646,8 +759,8 @@ async function advanceQueue(jobs, runQueueState, settings, oauthSessionManager,
646
759
  }
647
760
  }
648
761
  async function executeRunJob(job, settings, jobs, runQueueState, oauthSessionManager, deps) {
649
- const { addJobEvent, selectScenarioIds, expandConfigForAgents, resolveRunSelectedAgents, loadSnapshot, compareRunToSnapshot, applySnapshotPolicyToRunResult, readLibraries, pkgVersion } = deps;
650
- const { configPath, runsPerScenario, scenarioId, scenarioIds, requestedAgents, applySnapshotEval, runNote } = job.runParams;
762
+ const { addJobEvent, selectScenarioIds, expandConfigForAgents, resolveRunSelectedAgents, readLibraries, pkgVersion } = deps;
763
+ const { configPath, runsPerScenario, scenarioId, scenarioIds, requestedAgents, runNote, serverOverrideAll, scenarioServerOverrides } = job.runParams;
651
764
  try {
652
765
  addJobEvent(job, {
653
766
  type: 'log',
@@ -655,8 +768,8 @@ async function executeRunJob(job, settings, jobs, runQueueState, oauthSessionMan
655
768
  payload: { message: `Loading MCP Evaluation config: ${configPath}` }
656
769
  });
657
770
  const loaded = loadConfig(configPath, { bundleRoot: settings.librariesDir });
658
- const { agents: libraryAgents } = readLibraries(settings.librariesDir);
659
- applyLibraryAgents(loaded, libraryAgents);
771
+ const { agents: libraryAgents, servers: libraryServers } = readLibraries(settings.librariesDir);
772
+ applyLibraryEntries(loaded, libraryAgents, libraryServers);
660
773
  addJobEvent(job, {
661
774
  type: 'log',
662
775
  ts: new Date().toISOString(),
@@ -690,7 +803,30 @@ async function executeRunJob(job, settings, jobs, runQueueState, oauthSessionMan
690
803
  message: `Selected ${selectedBaseScenarios.scenarios.length} base scenario(s)`
691
804
  }
692
805
  });
693
- const resolvedAgents = resolveRunSelectedAgents(selectedBaseScenarios, requestedAgents);
806
+ const filteredScenarioOverrides = filterScenarioOverridesToSelectedScenarios(selectedBaseScenarios, scenarioServerOverrides);
807
+ const runtimeOverriddenConfig = applyRuntimeServerOverrides(selectedBaseScenarios, {
808
+ serverOverrideAll,
809
+ scenarioServerOverrides: filteredScenarioOverrides
810
+ });
811
+ const effectiveConfigHash = hashConfig(runtimeOverriddenConfig);
812
+ addJobEvent(job, {
813
+ type: 'log',
814
+ ts: new Date().toISOString(),
815
+ payload: {
816
+ message: `Applied runtime server overrides: global=${serverOverrideAll?.length ?? 0} scenario-specific=${Object.keys(filteredScenarioOverrides ?? {}).length}`
817
+ }
818
+ });
819
+ const effectiveScenarioServers = runtimeOverriddenConfig.scenarios
820
+ .map((scenario) => `${scenario.id}=[${scenario.servers.join(', ')}]`)
821
+ .join('; ');
822
+ addJobEvent(job, {
823
+ type: 'log',
824
+ ts: new Date().toISOString(),
825
+ payload: {
826
+ message: `Effective MCP servers per scenario: ${effectiveScenarioServers || '(none)'}`
827
+ }
828
+ });
829
+ const resolvedAgents = resolveRunSelectedAgents(runtimeOverriddenConfig, requestedAgents);
694
830
  const resolvedAgentList = Array.isArray(resolvedAgents) ? resolvedAgents : [];
695
831
  addJobEvent(job, {
696
832
  type: 'log',
@@ -701,7 +837,7 @@ async function executeRunJob(job, settings, jobs, runQueueState, oauthSessionMan
701
837
  : `Using resolved default agents: ${resolvedAgentList.join(', ')}`
702
838
  }
703
839
  });
704
- const expandedConfig = expandConfigForAgents(selectedBaseScenarios, resolvedAgents);
840
+ const expandedConfig = expandConfigForAgents(runtimeOverriddenConfig, resolvedAgents);
705
841
  addJobEvent(job, {
706
842
  type: 'log',
707
843
  ts: new Date().toISOString(),
@@ -709,9 +845,8 @@ async function executeRunJob(job, settings, jobs, runQueueState, oauthSessionMan
709
845
  message: `Expanded to ${expandedConfig.scenarios.length} executable scenario run(s) across selected agents`
710
846
  }
711
847
  });
712
- const oauthServers = Object.entries(expandedConfig.servers)
713
- .filter(([, serverConfig]) => serverConfig.auth?.type === 'oauth_authorization_code')
714
- .map(([serverName]) => serverName);
848
+ const usedServerNames = new Set(expandedConfig.scenarios.flatMap((scenario) => scenario.servers));
849
+ const oauthServers = Array.from(usedServerNames).filter((serverName) => expandedConfig.servers[serverName]?.auth?.type === 'oauth_authorization_code');
715
850
  const mcpServerAuthHeaders = oauthServers.length > 0
716
851
  ? await oauthSessionManager.getAuthHeadersForServers(oauthServers)
717
852
  : undefined;
@@ -745,7 +880,7 @@ async function executeRunJob(job, settings, jobs, runQueueState, oauthSessionMan
745
880
  runsPerScenario,
746
881
  scenarioId,
747
882
  runNote,
748
- configHash: loaded.hash,
883
+ configHash: effectiveConfigHash,
749
884
  cliVersion: pkgVersion,
750
885
  runsDir: settings.runsDir,
751
886
  mcpServerAuthHeaders,
@@ -774,97 +909,6 @@ async function executeRunJob(job, settings, jobs, runQueueState, oauthSessionMan
774
909
  message: `Evaluation execution finished (run id: ${results.metadata.run_id})`
775
910
  }
776
911
  });
777
- if (applySnapshotEval && expandedConfig.snapshot_eval?.enabled) {
778
- addJobEvent(job, {
779
- type: 'log',
780
- ts: new Date().toISOString(),
781
- payload: { message: 'Applying snapshot evaluation policy ...' }
782
- });
783
- const policy = expandedConfig.snapshot_eval;
784
- const enabledScenarioIds = new Set(selectedBaseScenarios.scenarios
785
- .filter((scenario) => scenario.snapshot_eval?.enabled !== false)
786
- .map((scenario) => scenario.id));
787
- const scenarioBaselineMap = new Map();
788
- for (const scenario of selectedBaseScenarios.scenarios) {
789
- if (scenario.snapshot_eval?.enabled === false)
790
- continue;
791
- const baselineId = scenario.snapshot_eval?.baseline_snapshot_id ?? policy.baseline_snapshot_id;
792
- if (baselineId)
793
- scenarioBaselineMap.set(scenario.id, baselineId);
794
- }
795
- const scenariosWithoutBaseline = selectedBaseScenarios.scenarios
796
- .filter((scenario) => scenario.snapshot_eval?.enabled !== false)
797
- .filter((scenario) => !(scenario.snapshot_eval?.baseline_snapshot_id ?? policy.baseline_snapshot_id))
798
- .map((scenario) => scenario.id);
799
- if (scenariosWithoutBaseline.length > 0) {
800
- addJobEvent(job, {
801
- type: 'log',
802
- ts: new Date().toISOString(),
803
- payload: {
804
- message: `Snapshot eval enabled but no baseline configured for scenarios: ${scenariosWithoutBaseline.join(', ')}`
805
- }
806
- });
807
- }
808
- const comparisons = [];
809
- const scenarioIdsByBaseline = new Map();
810
- for (const [scenarioIdItem, baselineId] of scenarioBaselineMap) {
811
- const list = scenarioIdsByBaseline.get(baselineId) ?? [];
812
- list.push(scenarioIdItem);
813
- scenarioIdsByBaseline.set(baselineId, list);
814
- }
815
- for (const [baselineId, scenarioIdsForBaseline] of scenarioIdsByBaseline) {
816
- addJobEvent(job, {
817
- type: 'log',
818
- ts: new Date().toISOString(),
819
- payload: {
820
- message: `Comparing ${scenarioIdsForBaseline.length} scenario(s) to snapshot baseline '${baselineId}'`
821
- }
822
- });
823
- const snapshot = loadSnapshot(baselineId, settings.snapshotsDir);
824
- const fullComparison = compareRunToSnapshot(results, snapshot);
825
- comparisons.push({
826
- ...fullComparison,
827
- scenario_results: fullComparison.scenario_results.filter((row) => scenarioIdsForBaseline.includes(row.scenario_id))
828
- });
829
- }
830
- if (comparisons.length > 0) {
831
- applySnapshotPolicyToRunResult({ results, comparisons, policy, enabledScenarioIds });
832
- addJobEvent(job, {
833
- type: 'log',
834
- ts: new Date().toISOString(),
835
- payload: {
836
- message: `Snapshot evaluation applied (${comparisons.length} baseline comparison group(s))`
837
- }
838
- });
839
- }
840
- else {
841
- addJobEvent(job, {
842
- type: 'log',
843
- ts: new Date().toISOString(),
844
- payload: {
845
- message: 'Snapshot evaluation enabled, but no baseline comparisons were applied'
846
- }
847
- });
848
- }
849
- }
850
- else if (applySnapshotEval) {
851
- addJobEvent(job, {
852
- type: 'log',
853
- ts: new Date().toISOString(),
854
- payload: {
855
- message: 'Snapshot evaluation requested, but config snapshot evaluation is disabled'
856
- }
857
- });
858
- }
859
- else {
860
- addJobEvent(job, {
861
- type: 'log',
862
- ts: new Date().toISOString(),
863
- payload: {
864
- message: 'Snapshot evaluation skipped for this run (disabled in run request)'
865
- }
866
- });
867
- }
868
912
  addJobEvent(job, {
869
913
  type: 'log',
870
914
  ts: new Date().toISOString(),
@@ -886,8 +930,7 @@ async function executeRunJob(job, settings, jobs, runQueueState, oauthSessionMan
886
930
  payload: {
887
931
  runId: results.metadata.run_id,
888
932
  runDir,
889
- summary: results.summary,
890
- snapshotEval: results.metadata.snapshot_eval ?? null
933
+ summary: results.summary
891
934
  }
892
935
  });
893
936
  job.status = 'completed';
@@ -945,9 +988,9 @@ function formatRunProgressMessage(event) {
945
988
  case 'run_started':
946
989
  return `Run initialized (id: ${event.runId}, ${event.totalScenarioRuns} scenario run(s))`;
947
990
  case 'mcp_connect_started':
948
- return `Connecting to ${event.serverCount} MCP server(s) ...`;
991
+ return `Connecting to ${event.serverCount} MCP server(s): ${event.serverNames.join(', ')} ...`;
949
992
  case 'mcp_connect_finished':
950
- return `Connected to ${event.serverCount} MCP server(s)`;
993
+ return `Connected to ${event.serverCount} MCP server(s): ${event.serverNames.join(', ')}`;
951
994
  case 'scenario_run_started':
952
995
  return `Scenario ${event.scenarioRunIndex}/${event.totalScenarioRuns} started: ${event.scenarioId} [agent=${event.agentName}, run=${event.runIndex + 1}/${event.runsPerScenario}]`;
953
996
  case 'scenario_run_finished':