@inspectr/mcplab 1.17.0 → 1.19.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.
@@ -16,8 +16,8 @@
16
16
  <meta name="twitter:card" content="summary_large_image" />
17
17
  <meta name="twitter:site" content="@Inspectr" />
18
18
  <meta name="twitter:image" content="" />
19
- <script type="module" crossorigin src="/assets/index-17cleCWQ.js"></script>
20
- <link rel="stylesheet" crossorigin href="/assets/index-Bekohuot.css">
19
+ <script type="module" crossorigin src="/assets/index-DHV4p_lQ.js"></script>
20
+ <link rel="stylesheet" crossorigin href="/assets/index-Csj6VJTb.css">
21
21
  </head>
22
22
 
23
23
  <body>
@@ -61,6 +61,7 @@ export interface RunQueueState {
61
61
  activeJobId: string | null;
62
62
  queue: string[];
63
63
  isAdvancingQueue: boolean;
64
+ clients: Set<ServerResponse>;
64
65
  }
65
66
  export interface HttpDeps {
66
67
  parseBody: typeof parseBody;
@@ -1 +1 @@
1
- {"version":3,"file":"app-context.d.ts","sourceRoot":"","sources":["../../src/app-server/app-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-context.d.ts","sourceRoot":"","sources":["../../src/app-server/app-context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/app-server/router.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,gBAAgB,EAAoC,MAAM,YAAY,CAAC;AAsIrF,wBAAsB,cAAc,CAAC,OAAO,EAAE,gBAAgB,iBA6W7D"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/app-server/router.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,gBAAgB,EAAoC,MAAM,YAAY,CAAC;AAsIrF,wBAAsB,cAAc,CAAC,OAAO,EAAE,gBAAgB,iBAsX7D"}
@@ -100,7 +100,12 @@ export async function startAppServer(options) {
100
100
  });
101
101
  const assistantSessions = new Map();
102
102
  const resultAssistantSessions = new Map();
103
- const runQueueState = { activeJobId: null, queue: [], isAdvancingQueue: false };
103
+ const runQueueState = {
104
+ activeJobId: null,
105
+ queue: [],
106
+ isAdvancingQueue: false,
107
+ clients: new Set()
108
+ };
104
109
  const routeDeps = {
105
110
  parseBody,
106
111
  asHtml,
@@ -369,6 +374,10 @@ export async function startAppServer(options) {
369
374
  server.listen(options.port, options.host, () => resolveReady());
370
375
  });
371
376
  server.on('close', () => {
377
+ for (const client of runQueueState.clients) {
378
+ client.end();
379
+ }
380
+ runQueueState.clients.clear();
372
381
  devMcp?.stop();
373
382
  });
374
383
  const url = `http://${options.host}:${options.port}`;
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runs-routes.d.ts","sourceRoot":"","sources":["../../src/app-server/runs-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runs-routes.d.ts","sourceRoot":"","sources":["../../src/app-server/runs-routes.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,53 @@ export function mergeLibraryAgentsIntoConfig(config, libraryAgents) {
32
32
  export function applyLibraryAgents(loaded, libraryAgents) {
33
33
  applyLibraryEntries(loaded, libraryAgents, {});
34
34
  }
35
+ function toQueueEntry(job) {
36
+ return {
37
+ jobId: job.id,
38
+ status: job.status,
39
+ blockedReason: job.status === 'blocked_auth' ? 'oauth_required' : undefined,
40
+ requiredServers: job.status === 'blocked_auth' ? job.blockedAuthServers ?? [] : undefined,
41
+ runParams: {
42
+ configPath: job.runParams.configPath,
43
+ runsPerScenario: job.runParams.runsPerScenario,
44
+ scenarioIds: job.runParams.scenarioIds ?? null,
45
+ agents: job.runParams.requestedAgents ?? null,
46
+ runNote: job.runParams.runNote ?? null,
47
+ serverOverrideAll: job.runParams.serverOverrideAll ?? null,
48
+ scenarioServerOverrides: job.runParams.scenarioServerOverrides ?? null
49
+ }
50
+ };
51
+ }
52
+ function buildQueueState(jobs, runQueueState) {
53
+ const activeJob = runQueueState.activeJobId ? jobs.get(runQueueState.activeJobId) : null;
54
+ const queuedEntries = runQueueState.queue
55
+ .map((id) => jobs.get(id))
56
+ .filter((j) => !!j && (j.status === 'queued' || j.status === 'blocked_auth'))
57
+ .map((job) => toQueueEntry(job));
58
+ return {
59
+ active: activeJob ? toQueueEntry(activeJob) : null,
60
+ queued: queuedEntries
61
+ };
62
+ }
63
+ function emitQueueEvent(jobs, runQueueState, deps) {
64
+ const event = {
65
+ type: 'queue_event',
66
+ ts: new Date().toISOString(),
67
+ payload: { event: buildQueueState(jobs, runQueueState) }
68
+ };
69
+ for (const client of Array.from(runQueueState.clients)) {
70
+ if (client.destroyed || client.writableEnded) {
71
+ runQueueState.clients.delete(client);
72
+ continue;
73
+ }
74
+ try {
75
+ deps.sendSseEvent(client, event);
76
+ }
77
+ catch {
78
+ runQueueState.clients.delete(client);
79
+ }
80
+ }
81
+ }
35
82
  export async function handleRunsRoutes(params) {
36
83
  const { req, res, pathname, method, settings, jobs, runQueueState, oauthSessionManager, deps } = params;
37
84
  const { parseBody, asJson, addJobEvent, sendSseEvent, ensureInsideRoot, listRuns, getRunResults, getScenarioRunTraceRecords, selectScenarioIds, expandConfigForAgents, resolveRunSelectedAgents, readLibraries, pickDefaultAssistantAgentName, pkgVersion } = deps;
@@ -157,6 +204,10 @@ export async function handleRunsRoutes(params) {
157
204
  for (const client of job.clients)
158
205
  client.end();
159
206
  job.clients.clear();
207
+ void advanceQueue(jobs, runQueueState, settings, oauthSessionManager, deps, {
208
+ emitWhenIdle: true,
209
+ hostHeader: req.headers.host
210
+ });
160
211
  asJson(res, 200, { ok: true, status: 'stopped' });
161
212
  return true;
162
213
  }
@@ -170,42 +221,25 @@ export async function handleRunsRoutes(params) {
170
221
  return true;
171
222
  }
172
223
  if (pathname === '/api/runs/queue' && method === 'GET') {
173
- const activeJob = runQueueState.activeJobId ? jobs.get(runQueueState.activeJobId) : null;
174
- const queuedEntries = runQueueState.queue
175
- .map((id) => jobs.get(id))
176
- .filter((j) => !!j && (j.status === 'queued' || j.status === 'blocked_auth'))
177
- .map((j) => ({
178
- jobId: j.id,
179
- status: j.status,
180
- blockedReason: j.status === 'blocked_auth' ? 'oauth_required' : undefined,
181
- requiredServers: j.status === 'blocked_auth' ? j.blockedAuthServers ?? [] : undefined,
182
- runParams: {
183
- configPath: j.runParams.configPath,
184
- runsPerScenario: j.runParams.runsPerScenario,
185
- scenarioIds: j.runParams.scenarioIds ?? null,
186
- agents: j.runParams.requestedAgents ?? null,
187
- runNote: j.runParams.runNote ?? null,
188
- serverOverrideAll: j.runParams.serverOverrideAll ?? null,
189
- scenarioServerOverrides: j.runParams.scenarioServerOverrides ?? null
190
- }
191
- }));
192
- asJson(res, 200, {
193
- active: activeJob
194
- ? {
195
- jobId: activeJob.id,
196
- status: activeJob.status,
197
- runParams: {
198
- configPath: activeJob.runParams.configPath,
199
- runsPerScenario: activeJob.runParams.runsPerScenario,
200
- scenarioIds: activeJob.runParams.scenarioIds ?? null,
201
- agents: activeJob.runParams.requestedAgents ?? null,
202
- runNote: activeJob.runParams.runNote ?? null,
203
- serverOverrideAll: activeJob.runParams.serverOverrideAll ?? null,
204
- scenarioServerOverrides: activeJob.runParams.scenarioServerOverrides ?? null
205
- }
206
- }
207
- : null,
208
- queued: queuedEntries
224
+ asJson(res, 200, buildQueueState(jobs, runQueueState));
225
+ return true;
226
+ }
227
+ if (pathname === '/api/runs/queue/events' && method === 'GET') {
228
+ res.statusCode = 200;
229
+ res.setHeader('content-type', 'text/event-stream');
230
+ res.setHeader('cache-control', 'no-cache');
231
+ res.setHeader('connection', 'keep-alive');
232
+ if ('flushHeaders' in res && typeof res.flushHeaders === 'function') {
233
+ res.flushHeaders();
234
+ }
235
+ sendSseEvent(res, {
236
+ type: 'queue_event',
237
+ ts: new Date().toISOString(),
238
+ payload: { event: buildQueueState(jobs, runQueueState) }
239
+ });
240
+ runQueueState.clients.add(res);
241
+ req.on('close', () => {
242
+ runQueueState.clients.delete(res);
209
243
  });
210
244
  return true;
211
245
  }
@@ -226,7 +260,6 @@ export async function handleRunsRoutes(params) {
226
260
  asJson(res, 404, { error: 'Job is not queued' });
227
261
  return true;
228
262
  }
229
- const wasBlocked = job.status === 'blocked_auth';
230
263
  const idx = runQueueState.queue.indexOf(jobId);
231
264
  if (idx !== -1)
232
265
  runQueueState.queue.splice(idx, 1);
@@ -239,14 +272,18 @@ export async function handleRunsRoutes(params) {
239
272
  for (const client of job.clients)
240
273
  client.end();
241
274
  job.clients.clear();
242
- if (wasBlocked) {
243
- void advanceQueue(jobs, runQueueState, settings, oauthSessionManager, deps);
244
- }
275
+ void advanceQueue(jobs, runQueueState, settings, oauthSessionManager, deps, {
276
+ emitWhenIdle: true,
277
+ hostHeader: req.headers.host
278
+ });
245
279
  asJson(res, 200, { ok: true, jobId, status: 'stopped' });
246
280
  return true;
247
281
  }
248
282
  if (pathname === '/api/runs/queue/resume' && method === 'POST') {
249
- void advanceQueue(jobs, runQueueState, settings, oauthSessionManager, deps);
283
+ void advanceQueue(jobs, runQueueState, settings, oauthSessionManager, deps, {
284
+ emitWhenIdle: true,
285
+ hostHeader: req.headers.host
286
+ });
250
287
  asJson(res, 200, { ok: true });
251
288
  return true;
252
289
  }
@@ -375,13 +412,16 @@ export async function handleRunsRoutes(params) {
375
412
  position: runQueueState.queue.length
376
413
  }
377
414
  });
415
+ emitQueueEvent(jobs, runQueueState, deps);
378
416
  asJson(res, 202, { jobId, queued: true, position: runQueueState.queue.length });
379
417
  }
380
418
  else {
381
419
  // No active job — add to queue and let advanceQueue handle start (with OAuth pre-check)
382
420
  runQueueState.queue.push(jobId);
383
421
  asJson(res, 202, { jobId });
384
- void advanceQueue(jobs, runQueueState, settings, oauthSessionManager, deps);
422
+ void advanceQueue(jobs, runQueueState, settings, oauthSessionManager, deps, {
423
+ hostHeader: req.headers.host
424
+ });
385
425
  }
386
426
  return true;
387
427
  }
@@ -732,18 +772,26 @@ function resolveOAuthServersForJob(job, librariesDir) {
732
772
  return [];
733
773
  }
734
774
  }
735
- async function advanceQueue(jobs, runQueueState, settings, oauthSessionManager, deps) {
736
- if (runQueueState.activeJobId)
775
+ async function advanceQueue(jobs, runQueueState, settings, oauthSessionManager, deps, options) {
776
+ if (runQueueState.activeJobId) {
777
+ if (options?.emitWhenIdle)
778
+ emitQueueEvent(jobs, runQueueState, deps);
737
779
  return;
738
- if (runQueueState.isAdvancingQueue)
780
+ }
781
+ if (runQueueState.isAdvancingQueue) {
782
+ if (options?.emitWhenIdle)
783
+ emitQueueEvent(jobs, runQueueState, deps);
739
784
  return;
785
+ }
740
786
  runQueueState.isAdvancingQueue = true;
787
+ let queueMutated = false;
741
788
  try {
742
789
  while (runQueueState.queue.length > 0) {
743
790
  const nextId = runQueueState.queue[0]; // peek — do not shift yet
744
791
  const nextJob = jobs.get(nextId);
745
792
  if (!nextJob || (nextJob.status !== 'queued' && nextJob.status !== 'blocked_auth')) {
746
793
  runQueueState.queue.shift();
794
+ queueMutated = true;
747
795
  continue;
748
796
  }
749
797
  // Pre-check OAuth before starting
@@ -764,27 +812,52 @@ async function advanceQueue(jobs, runQueueState, settings, oauthSessionManager,
764
812
  for (const client of nextJob.clients)
765
813
  client.end();
766
814
  nextJob.clients.clear();
815
+ queueMutated = true;
767
816
  continue;
768
817
  }
769
818
  if (oauthServers.length > 0) {
770
- const authStatus = oauthSessionManager.checkServersAuthStatus(oauthServers);
771
- const needsAuth = authStatus.filter((s) => s.status === 'auth_required');
819
+ const ensureResult = await oauthSessionManager.ensureServersAuthorized(oauthServers, options?.hostHeader);
820
+ const needsAuth = ensureResult.servers.filter((s) => s.status === 'auth_required');
772
821
  if (needsAuth.length > 0) {
773
- const needsAuthNames = needsAuth.map((s) => s.name);
822
+ const needsAuthNames = needsAuth.map((s) => s.serverName);
823
+ const wasBlocked = nextJob.status === 'blocked_auth';
824
+ const prevBlockedServers = nextJob.blockedAuthServers ?? [];
825
+ const prevKey = [...prevBlockedServers].sort().join('|');
826
+ const nextKey = [...needsAuthNames].sort().join('|');
827
+ const blockedSetChanged = prevKey !== nextKey;
774
828
  nextJob.blockedAuthServers = needsAuthNames; // always refresh to current missing subset
775
- if (nextJob.status !== 'blocked_auth') {
829
+ if (!wasBlocked) {
776
830
  nextJob.status = 'blocked_auth';
777
831
  }
832
+ if (!wasBlocked || blockedSetChanged) {
833
+ deps.addJobEvent(nextJob, {
834
+ type: 'oauth_required',
835
+ ts: new Date().toISOString(),
836
+ payload: {
837
+ jobId: nextJob.id,
838
+ servers: needsAuthNames,
839
+ message: `OAuth login required for server(s): ${needsAuthNames.join(', ')}.`
840
+ }
841
+ });
842
+ }
843
+ queueMutated = true;
844
+ emitQueueEvent(jobs, runQueueState, deps);
845
+ return; // pause — frontend must call /api/runs/queue/resume after auth
846
+ }
847
+ const readyServers = ensureResult.servers
848
+ .filter((s) => s.status === 'ready')
849
+ .map((s) => {
850
+ const mode = s.debugState ?? 'unknown';
851
+ return `${s.serverName} (${mode})`;
852
+ });
853
+ if (readyServers.length > 0) {
778
854
  deps.addJobEvent(nextJob, {
779
- type: 'oauth_required',
855
+ type: 'log',
780
856
  ts: new Date().toISOString(),
781
857
  payload: {
782
- jobId: nextJob.id,
783
- servers: needsAuthNames,
784
- message: `OAuth login required for server(s): ${needsAuthNames.join(', ')}.`
858
+ message: `OAuth credentials ready for queued run: ${readyServers.join(', ')}`
785
859
  }
786
860
  });
787
- return; // pause — frontend must call /api/runs/queue/resume after auth
788
861
  }
789
862
  }
790
863
  // OAuth ready (or not required) — start the job
@@ -805,9 +878,14 @@ async function advanceQueue(jobs, runQueueState, settings, oauthSessionManager,
805
878
  scenarioServerOverrides: nextJob.runParams.scenarioServerOverrides ?? null
806
879
  }
807
880
  });
881
+ queueMutated = true;
882
+ emitQueueEvent(jobs, runQueueState, deps);
808
883
  void executeRunJob(nextJob, settings, jobs, runQueueState, oauthSessionManager, deps);
809
884
  return;
810
885
  }
886
+ if (queueMutated || options?.emitWhenIdle) {
887
+ emitQueueEvent(jobs, runQueueState, deps);
888
+ }
811
889
  }
812
890
  finally {
813
891
  runQueueState.isAdvancingQueue = false;
@@ -902,8 +980,9 @@ async function executeRunJob(job, settings, jobs, runQueueState, oauthSessionMan
902
980
  });
903
981
  const usedServerNames = new Set(expandedConfig.scenarios.flatMap((scenario) => scenario.servers));
904
982
  const oauthServers = Array.from(usedServerNames).filter((serverName) => expandedConfig.servers[serverName]?.auth?.type === 'oauth_authorization_code');
983
+ const oauthServerSet = new Set(oauthServers);
905
984
  const mcpServerAuthHeaders = oauthServers.length > 0
906
- ? await oauthSessionManager.getAuthHeadersForServers(oauthServers)
985
+ ? await oauthSessionManager.getAuthHeadersForServers(oauthServers, undefined)
907
986
  : undefined;
908
987
  if (oauthServers.length > 0) {
909
988
  addJobEvent(job, {
@@ -939,6 +1018,16 @@ async function executeRunJob(job, settings, jobs, runQueueState, oauthSessionMan
939
1018
  cliVersion: pkgVersion,
940
1019
  runsDir: settings.runsDir,
941
1020
  mcpServerAuthHeaders,
1021
+ resolveMcpServerAuthHeaders: oauthServers.length > 0
1022
+ ? async (serverNames, options) => {
1023
+ if (options?.signal?.aborted)
1024
+ return {};
1025
+ const namesToRefresh = serverNames.filter((name) => oauthServerSet.has(name));
1026
+ if (namesToRefresh.length === 0)
1027
+ return {};
1028
+ return oauthSessionManager.getAuthHeadersForServers(namesToRefresh);
1029
+ }
1030
+ : undefined,
942
1031
  signal: job.abortController.signal,
943
1032
  onProgress: async (event) => {
944
1033
  const message = formatRunProgressMessage(event);
@@ -1014,6 +1103,27 @@ async function executeRunJob(job, settings, jobs, runQueueState, oauthSessionMan
1014
1103
  }
1015
1104
  }
1016
1105
  catch (error) {
1106
+ if (error instanceof OAuthAuthorizationRequiredError) {
1107
+ const blockedServers = Array.from(new Set(error.details.map((detail) => detail.serverName).filter(Boolean)));
1108
+ const aborted = job.abortController.signal.aborted || job.status === 'stopped';
1109
+ if (!aborted && blockedServers.length > 0) {
1110
+ job.blockedAuthServers = blockedServers;
1111
+ job.status = 'blocked_auth';
1112
+ if (!runQueueState.queue.includes(job.id)) {
1113
+ runQueueState.queue.unshift(job.id);
1114
+ }
1115
+ addJobEvent(job, {
1116
+ type: 'oauth_required',
1117
+ ts: new Date().toISOString(),
1118
+ payload: {
1119
+ jobId: job.id,
1120
+ servers: blockedServers,
1121
+ message: `OAuth login required for server(s): ${blockedServers.join(', ')}.`
1122
+ }
1123
+ });
1124
+ return;
1125
+ }
1126
+ }
1017
1127
  const normalizedError = error instanceof OAuthAuthorizationRequiredError
1018
1128
  ? new Error(error.details[0]?.message || error.message)
1019
1129
  : error;
@@ -1033,10 +1143,16 @@ async function executeRunJob(job, settings, jobs, runQueueState, oauthSessionMan
1033
1143
  }
1034
1144
  finally {
1035
1145
  runQueueState.activeJobId = null;
1036
- for (const client of job.clients)
1037
- client.end();
1038
- job.clients.clear();
1039
- advanceQueue(jobs, runQueueState, settings, oauthSessionManager, deps);
1146
+ if (job.status !== 'blocked_auth') {
1147
+ for (const client of job.clients)
1148
+ client.end();
1149
+ job.clients.clear();
1150
+ }
1151
+ void advanceQueue(jobs, runQueueState, settings, oauthSessionManager, deps, {
1152
+ emitWhenIdle: true
1153
+ }).catch((error) => {
1154
+ console.warn(`[mcplab] Failed to advance run queue after job '${job.id}': ${error instanceof Error ? error.message : String(error)}`);
1155
+ });
1040
1156
  pruneOldJobs(jobs, runQueueState);
1041
1157
  }
1042
1158
  }