@inspectr/mcplab 1.7.0 → 1.9.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 (79) hide show
  1. package/README.md +14 -1
  2. package/dist/app/assets/index-BLsLqeX3.js +249 -0
  3. package/dist/app/assets/index-D80zV1LL.css +1 -0
  4. package/dist/app/icons/claude-color.svg +1 -0
  5. package/dist/app/icons/openai.svg +1 -0
  6. package/dist/app/index.html +2 -2
  7. package/dist/app-server/app-context.d.ts +129 -75
  8. package/dist/app-server/assistant-common.d.ts +2 -0
  9. package/dist/app-server/assistant-common.d.ts.map +1 -1
  10. package/dist/app-server/assistant-common.js +2 -1
  11. package/dist/app-server/assistant-common.js.map +1 -1
  12. package/dist/app-server/config-store.d.ts +2 -0
  13. package/dist/app-server/config-store.d.ts.map +1 -1
  14. package/dist/app-server/config-store.js +10 -5
  15. package/dist/app-server/config-store.js.map +1 -1
  16. package/dist/app-server/oauth-debugger-domain.d.ts +202 -174
  17. package/dist/app-server/oauth-debugger-domain.d.ts.map +1 -1
  18. package/dist/app-server/oauth-debugger-domain.js +53 -4
  19. package/dist/app-server/oauth-debugger-domain.js.map +1 -1
  20. package/dist/app-server/oauth-runtime-domain.d.ts +53 -42
  21. package/dist/app-server/oauth-runtime-domain.d.ts.map +1 -1
  22. package/dist/app-server/oauth-runtime-domain.js +1 -3
  23. package/dist/app-server/oauth-runtime-domain.js.map +1 -1
  24. package/dist/app-server/oauth-runtime-routes.d.ts +13 -11
  25. package/dist/app-server/oauth-runtime-routes.d.ts.map +1 -1
  26. package/dist/app-server/oauth-runtime-routes.js +27 -1
  27. package/dist/app-server/oauth-runtime-routes.js.map +1 -1
  28. package/dist/app-server/oauth-session-manager.d.ts +57 -0
  29. package/dist/app-server/oauth-session-manager.d.ts.map +1 -0
  30. package/dist/app-server/oauth-session-manager.js +338 -0
  31. package/dist/app-server/oauth-session-manager.js.map +1 -0
  32. package/dist/app-server/result-assistant-domain.d.ts +5 -3
  33. package/dist/app-server/result-assistant-domain.d.ts.map +1 -1
  34. package/dist/app-server/result-assistant-domain.js +38 -44
  35. package/dist/app-server/result-assistant-domain.js.map +1 -1
  36. package/dist/app-server/result-assistant-tools.d.ts +11 -0
  37. package/dist/app-server/result-assistant-tools.d.ts.map +1 -0
  38. package/dist/app-server/result-assistant-tools.js +27 -0
  39. package/dist/app-server/result-assistant-tools.js.map +1 -0
  40. package/dist/app-server/result-assistant.d.ts.map +1 -1
  41. package/dist/app-server/result-assistant.js +24 -27
  42. package/dist/app-server/result-assistant.js.map +1 -1
  43. package/dist/app-server/router.d.ts.map +1 -1
  44. package/dist/app-server/router.js +36 -8
  45. package/dist/app-server/router.js.map +1 -1
  46. package/dist/app-server/runs-routes.d.ts +54 -30
  47. package/dist/app-server/runs-routes.d.ts.map +1 -1
  48. package/dist/app-server/runs-routes.js +207 -87
  49. package/dist/app-server/runs-routes.js.map +1 -1
  50. package/dist/app-server/scenario-assistant-domain.d.ts +19 -3
  51. package/dist/app-server/scenario-assistant-domain.d.ts.map +1 -1
  52. package/dist/app-server/scenario-assistant-domain.js +272 -6
  53. package/dist/app-server/scenario-assistant-domain.js.map +1 -1
  54. package/dist/app-server/scenario-assistant.d.ts +2 -0
  55. package/dist/app-server/scenario-assistant.d.ts.map +1 -1
  56. package/dist/app-server/scenario-assistant.js +60 -3
  57. package/dist/app-server/scenario-assistant.js.map +1 -1
  58. package/dist/app-server/tool-analysis-domain.d.ts +179 -165
  59. package/dist/app-server/tool-analysis-domain.d.ts.map +1 -1
  60. package/dist/app-server/tool-analysis-domain.js +21 -9
  61. package/dist/app-server/tool-analysis-domain.js.map +1 -1
  62. package/dist/app-server/tool-analysis.d.ts +21 -12
  63. package/dist/app-server/tool-analysis.d.ts.map +1 -1
  64. package/dist/app-server/tool-analysis.js +23 -20
  65. package/dist/app-server/tool-analysis.js.map +1 -1
  66. package/dist/app-server/types.d.ts +7 -0
  67. package/dist/app-server/types.d.ts.map +1 -1
  68. package/dist/cli.js +186 -103
  69. package/dist/cli.js.map +1 -1
  70. package/dist/eval-config-files.d.ts +13 -0
  71. package/dist/eval-config-files.d.ts.map +1 -0
  72. package/dist/eval-config-files.js +89 -0
  73. package/dist/eval-config-files.js.map +1 -0
  74. package/dist/run-interactive.d.ts.map +1 -1
  75. package/dist/run-interactive.js +14 -10
  76. package/dist/run-interactive.js.map +1 -1
  77. package/package.json +4 -4
  78. package/dist/app/assets/index-CYs1291A.css +0 -1
  79. package/dist/app/assets/index-Fe4npghI.js +0 -249
@@ -0,0 +1,338 @@
1
+ import { readLibraries } from './libraries-store.js';
2
+ import { createOAuthRuntimeSession, oauthRuntimeSessionView } from './oauth-runtime-domain.js';
3
+ const DEFAULT_REFRESH_SKEW_MS = 60_000;
4
+ export class OAuthAuthorizationRequiredError extends Error {
5
+ details;
6
+ constructor(details) {
7
+ const first = details[0]?.message || 'OAuth authorization required';
8
+ super(first);
9
+ this.name = 'OAuthAuthorizationRequiredError';
10
+ this.details = details;
11
+ }
12
+ }
13
+ function parseExpiresAt(tokenResponse) {
14
+ if (!tokenResponse)
15
+ return undefined;
16
+ const raw = tokenResponse.expires_in;
17
+ if (typeof raw === 'number' && Number.isFinite(raw) && raw > 0) {
18
+ return Date.now() + raw * 1000;
19
+ }
20
+ if (typeof raw === 'string') {
21
+ const parsed = Number(raw);
22
+ if (Number.isFinite(parsed) && parsed > 0) {
23
+ return Date.now() + parsed * 1000;
24
+ }
25
+ }
26
+ return undefined;
27
+ }
28
+ function bearer(token) {
29
+ return { authorization: `Bearer ${token}` };
30
+ }
31
+ function tokenExpiryView(state) {
32
+ if (!state.expiresAt)
33
+ return {};
34
+ return {
35
+ tokenExpiresAt: new Date(state.expiresAt).toISOString(),
36
+ tokenExpiresInSeconds: Math.max(0, Math.floor((state.expiresAt - Date.now()) / 1000))
37
+ };
38
+ }
39
+ export class OAuthSessionManager {
40
+ params;
41
+ states = new Map();
42
+ constructor(params) {
43
+ this.params = params;
44
+ }
45
+ setLibrariesDir(next) {
46
+ this.params.librariesDir = next;
47
+ }
48
+ get refreshSkewMs() {
49
+ return this.params.refreshSkewMs ?? DEFAULT_REFRESH_SKEW_MS;
50
+ }
51
+ getServerConfig(serverName) {
52
+ const libraries = readLibraries(this.params.librariesDir);
53
+ return libraries.servers[serverName];
54
+ }
55
+ getState(serverName) {
56
+ const existing = this.states.get(serverName);
57
+ if (existing)
58
+ return existing;
59
+ const created = { serverName };
60
+ this.states.set(serverName, created);
61
+ return created;
62
+ }
63
+ updateStateFromTokenPayload(state, tokenResponse) {
64
+ const accessToken = typeof tokenResponse.access_token === 'string' ? tokenResponse.access_token : undefined;
65
+ if (!accessToken)
66
+ return;
67
+ state.accessToken = accessToken;
68
+ if (typeof tokenResponse.refresh_token === 'string' && tokenResponse.refresh_token.trim()) {
69
+ state.refreshToken = tokenResponse.refresh_token;
70
+ }
71
+ if (typeof tokenResponse.token_type === 'string' && tokenResponse.token_type.trim()) {
72
+ state.tokenType = tokenResponse.token_type;
73
+ }
74
+ if (typeof tokenResponse.scope === 'string') {
75
+ state.scope = tokenResponse.scope;
76
+ }
77
+ const expiresAt = parseExpiresAt(tokenResponse);
78
+ if (expiresAt) {
79
+ state.expiresAt = expiresAt;
80
+ }
81
+ else {
82
+ delete state.expiresAt;
83
+ }
84
+ }
85
+ syncStateFromRuntimeSession(state) {
86
+ const runtimeSessionId = state.runtimeSessionId;
87
+ if (!runtimeSessionId)
88
+ return;
89
+ const runtimeSession = this.params.runtimeSessions.get(runtimeSessionId);
90
+ if (!runtimeSession || runtimeSession.serverName !== state.serverName) {
91
+ delete state.runtimeSessionId;
92
+ return;
93
+ }
94
+ const debuggerSession = this.params.oauthDebuggerSessions.get(runtimeSession.oauthDebuggerSessionId);
95
+ if (!debuggerSession)
96
+ return;
97
+ const tokenResponse = debuggerSession.context.tokenResponse;
98
+ if (tokenResponse &&
99
+ typeof tokenResponse === 'object' &&
100
+ (!state.accessToken ||
101
+ state.runtimeTokenSyncedFromSessionId !== runtimeSessionId ||
102
+ (debuggerSession.updatedAt ?? 0) > (state.runtimeTokenSyncedFromDebuggerUpdatedAt ?? 0))) {
103
+ this.updateStateFromTokenPayload(state, tokenResponse);
104
+ state.runtimeTokenSyncedFromSessionId = runtimeSessionId;
105
+ state.runtimeTokenSyncedFromDebuggerUpdatedAt = debuggerSession.updatedAt;
106
+ }
107
+ const tokenEndpoint = debuggerSession.context.authServerMetadata?.token_endpoint;
108
+ if (typeof tokenEndpoint === 'string' && tokenEndpoint.trim()) {
109
+ state.tokenEndpoint = tokenEndpoint;
110
+ }
111
+ const resolvedClient = debuggerSession.context.resolvedClient;
112
+ if (resolvedClient?.clientId) {
113
+ state.clientId = resolvedClient.clientId;
114
+ state.clientSecret = resolvedClient.clientSecret;
115
+ const authMethod = resolvedClient.tokenEndpointAuthMethod;
116
+ if (authMethod === 'client_secret_post' || authMethod === 'client_secret_basic') {
117
+ state.tokenEndpointAuthMethod = authMethod;
118
+ }
119
+ }
120
+ }
121
+ tokenExpiredOrNearExpiry(state) {
122
+ if (!state.accessToken)
123
+ return true;
124
+ if (!state.expiresAt)
125
+ return false;
126
+ return state.expiresAt <= Date.now() + this.refreshSkewMs;
127
+ }
128
+ async refreshIfNeeded(serverName) {
129
+ const state = this.getState(serverName);
130
+ this.syncStateFromRuntimeSession(state);
131
+ if (!this.tokenExpiredOrNearExpiry(state))
132
+ return true;
133
+ if (!state.accessToken)
134
+ return false;
135
+ if (!state.refreshToken)
136
+ return false;
137
+ if (!state.tokenEndpoint || !state.clientId)
138
+ return false;
139
+ if (state.refreshPromise)
140
+ return state.refreshPromise;
141
+ state.refreshPromise = (async () => {
142
+ try {
143
+ const form = new URLSearchParams({
144
+ grant_type: 'refresh_token',
145
+ refresh_token: state.refreshToken,
146
+ client_id: state.clientId
147
+ });
148
+ const headers = {
149
+ accept: 'application/json',
150
+ 'content-type': 'application/x-www-form-urlencoded'
151
+ };
152
+ if (state.clientSecret) {
153
+ const method = state.tokenEndpointAuthMethod ?? 'client_secret_basic';
154
+ if (method === 'client_secret_post') {
155
+ form.set('client_secret', state.clientSecret);
156
+ }
157
+ else {
158
+ headers.authorization = `Basic ${Buffer.from(`${state.clientId}:${state.clientSecret}`, 'utf8').toString('base64')}`;
159
+ }
160
+ }
161
+ const response = await fetch(state.tokenEndpoint, {
162
+ method: 'POST',
163
+ headers,
164
+ body: form.toString()
165
+ });
166
+ const text = await response.text();
167
+ let json;
168
+ try {
169
+ json = text ? JSON.parse(text) : undefined;
170
+ }
171
+ catch {
172
+ json = undefined;
173
+ }
174
+ if (!response.ok || !json)
175
+ return false;
176
+ this.updateStateFromTokenPayload(state, json);
177
+ return Boolean(state.accessToken);
178
+ }
179
+ catch {
180
+ return false;
181
+ }
182
+ finally {
183
+ state.refreshPromise = undefined;
184
+ }
185
+ })();
186
+ return state.refreshPromise;
187
+ }
188
+ getExistingRuntimeView(state) {
189
+ if (!state.runtimeSessionId)
190
+ return undefined;
191
+ const runtimeSession = this.params.runtimeSessions.get(state.runtimeSessionId);
192
+ if (!runtimeSession || runtimeSession.serverName !== state.serverName) {
193
+ delete state.runtimeSessionId;
194
+ return undefined;
195
+ }
196
+ return oauthRuntimeSessionView({
197
+ runtimeSession,
198
+ oauthDebuggerSessions: this.params.oauthDebuggerSessions
199
+ });
200
+ }
201
+ async ensureServerAuthorized(serverName, hostHeader) {
202
+ const serverConfig = this.getServerConfig(serverName);
203
+ if (!serverConfig) {
204
+ return {
205
+ serverName,
206
+ status: 'auth_required',
207
+ debugState: 'auth_required',
208
+ message: `Server '${serverName}' not found in libraries`
209
+ };
210
+ }
211
+ if (serverConfig.auth?.type !== 'oauth_authorization_code') {
212
+ return { serverName, status: 'not_oauth', debugState: 'not_oauth' };
213
+ }
214
+ const state = this.getState(serverName);
215
+ if (state.ensurePromise)
216
+ return state.ensurePromise;
217
+ state.ensurePromise = (async () => {
218
+ this.syncStateFromRuntimeSession(state);
219
+ if (state.accessToken) {
220
+ const wasNearExpiry = this.tokenExpiredOrNearExpiry(state);
221
+ const refreshed = wasNearExpiry ? await this.refreshIfNeeded(serverName) : true;
222
+ if (refreshed && state.accessToken && !this.tokenExpiredOrNearExpiry(state)) {
223
+ return {
224
+ serverName,
225
+ status: 'ready',
226
+ debugState: wasNearExpiry ? 'refreshed' : 'reused',
227
+ ...tokenExpiryView(state)
228
+ };
229
+ }
230
+ }
231
+ const existing = this.getExistingRuntimeView(state);
232
+ if (existing && existing.status !== 'error' && existing.status !== 'stopped') {
233
+ if (existing.status === 'completed' && existing.hasAccessToken) {
234
+ this.syncStateFromRuntimeSession(state);
235
+ if (state.accessToken) {
236
+ const wasNearExpiry = this.tokenExpiredOrNearExpiry(state);
237
+ const refreshed = wasNearExpiry ? await this.refreshIfNeeded(serverName) : true;
238
+ if (refreshed && state.accessToken) {
239
+ return {
240
+ serverName,
241
+ status: 'ready',
242
+ debugState: wasNearExpiry ? 'refreshed' : 'reused',
243
+ ...tokenExpiryView(state)
244
+ };
245
+ }
246
+ }
247
+ }
248
+ return {
249
+ serverName,
250
+ status: 'auth_required',
251
+ debugState: 'auth_required',
252
+ runtimeSessionId: existing.id,
253
+ authorizationUrl: existing.authorizationUrl,
254
+ authorizeLaunchUrl: existing.authorizeLaunchUrl,
255
+ message: `OAuth login required for server '${serverName}'.`
256
+ };
257
+ }
258
+ const created = await createOAuthRuntimeSession({
259
+ serverName,
260
+ hostHeader,
261
+ librariesDir: this.params.librariesDir,
262
+ runtimeSessions: this.params.runtimeSessions,
263
+ oauthDebuggerSessions: this.params.oauthDebuggerSessions
264
+ });
265
+ state.runtimeSessionId = created.id;
266
+ return {
267
+ serverName,
268
+ status: 'auth_required',
269
+ debugState: 'auth_required',
270
+ runtimeSessionId: created.id,
271
+ authorizationUrl: created.authorizationUrl,
272
+ authorizeLaunchUrl: created.authorizeLaunchUrl,
273
+ message: `OAuth login required for server '${serverName}'.`
274
+ };
275
+ })();
276
+ try {
277
+ return await state.ensurePromise;
278
+ }
279
+ finally {
280
+ state.ensurePromise = undefined;
281
+ }
282
+ }
283
+ async ensureServersAuthorized(serverNames, hostHeader) {
284
+ const uniqueNames = Array.from(new Set(serverNames.filter(Boolean)));
285
+ const servers = [];
286
+ for (const serverName of uniqueNames) {
287
+ servers.push(await this.ensureServerAuthorized(serverName, hostHeader));
288
+ }
289
+ return {
290
+ servers,
291
+ allReady: servers.every((server) => server.status === 'ready' || server.status === 'not_oauth')
292
+ };
293
+ }
294
+ async getAuthHeadersForServers(serverNames, hostHeader) {
295
+ const uniqueNames = Array.from(new Set(serverNames.filter(Boolean)));
296
+ const headers = {};
297
+ const authRequired = [];
298
+ for (const serverName of uniqueNames) {
299
+ const result = await this.ensureServerAuthorized(serverName, hostHeader);
300
+ if (result.status === 'not_oauth')
301
+ continue;
302
+ if (result.status === 'auth_required') {
303
+ authRequired.push({
304
+ serverName,
305
+ runtimeSessionId: result.runtimeSessionId,
306
+ authorizationUrl: result.authorizationUrl,
307
+ authorizeLaunchUrl: result.authorizeLaunchUrl,
308
+ message: result.message || `OAuth login required for server '${serverName}'.`
309
+ });
310
+ continue;
311
+ }
312
+ const state = this.getState(serverName);
313
+ this.syncStateFromRuntimeSession(state);
314
+ if (!state.accessToken) {
315
+ authRequired.push({
316
+ serverName,
317
+ runtimeSessionId: state.runtimeSessionId,
318
+ message: `OAuth login required for server '${serverName}'.`
319
+ });
320
+ continue;
321
+ }
322
+ headers[serverName] = bearer(state.accessToken);
323
+ }
324
+ if (authRequired.length > 0) {
325
+ throw new OAuthAuthorizationRequiredError(authRequired);
326
+ }
327
+ return headers;
328
+ }
329
+ noteRuntimeSession(serverName, runtimeSessionId) {
330
+ const state = this.getState(serverName);
331
+ if (state.runtimeSessionId !== runtimeSessionId) {
332
+ delete state.runtimeTokenSyncedFromSessionId;
333
+ delete state.runtimeTokenSyncedFromDebuggerUpdatedAt;
334
+ }
335
+ state.runtimeSessionId = runtimeSessionId;
336
+ }
337
+ }
338
+ //# sourceMappingURL=oauth-session-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-session-manager.js","sourceRoot":"","sources":["../../src/app-server/oauth-session-manager.ts"],"names":[],"mappings":"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"}
@@ -23,12 +23,13 @@ interface ResultAssistantChatMessage {
23
23
  }
24
24
  export interface ResultAssistantSession {
25
25
  id: string;
26
- runId: string;
26
+ scope: 'run' | 'all_runs';
27
+ runId: string | null;
27
28
  createdAt: number;
28
29
  lastTouchedAt: number;
29
30
  selectedAssistantAgentName: string;
30
31
  agentConfig: AgentConfig;
31
- resultSummary: ResultsJson;
32
+ resultSummary: ResultsJson | null;
32
33
  referenceReportsForRun: Array<{
33
34
  path: string;
34
35
  relativePath: string;
@@ -57,7 +58,8 @@ export declare function cleanupResultAssistantSessions(
57
58
  export declare function touchResultAssistantSession(session: ResultAssistantSession): void;
58
59
  export declare function resultAssistantSessionView(session: ResultAssistantSession): {
59
60
  id: string;
60
- runId: string;
61
+ scope: 'run' | 'all_runs';
62
+ runId: string | null;
61
63
  createdAt: string;
62
64
  updatedAt: string;
63
65
  selectedAssistantAgentName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"result-assistant-domain.d.ts","sourceRoot":"","sources":["../../src/app-server/result-assistant-domain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"result-assistant-domain.d.ts","sourceRoot":"","sources":["../../src/app-server/result-assistant-domain.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,10 @@
1
1
  import { chatWithAgent } from '@inspectr/mcplab-core';
2
- import { cleanupSessionsByTtl, makeAssistantToolPublicName, newAssistantEntityId, touchSession, truncateJson } from './assistant-common.js';
2
+ import { cleanupSessionsByTtl, makeAssistantToolPublicName, formatAssistantToolName, newAssistantEntityId, touchSession, truncateJson } from './assistant-common.js';
3
+ import { isResultAssistantAllowedTool } from './result-assistant-tools.js';
3
4
  const RESULT_ASSISTANT_SESSION_TTL_MS = 30 * 60 * 1000;
4
5
  const RESULT_ASSISTANT_TOOL_RESULT_PREVIEW_CHARS = 4000;
5
6
  const RESULT_ASSISTANT_MAX_PENDING_TOOL_CALLS = 3;
6
7
  const RESULT_ASSISTANT_MCP_SERVER_NAME = 'mcplab';
7
- const RESULT_ASSISTANT_ALLOWED_TOOLS = new Set([
8
- 'mcplab_write_markdown_report',
9
- 'mcplab_list_markdown_reports',
10
- 'mcplab_read_markdown_report',
11
- 'mcplab_list_runs',
12
- 'mcplab_read_run_artifact',
13
- 'mcplab_grep_run_artifact',
14
- 'mcplab_trace_stats',
15
- 'mcplab_trace_get_final_answers',
16
- 'mcplab_trace_get_conversation',
17
- 'mcplab_trace_list_events',
18
- 'mcplab_trace_search',
19
- 'mcplab_list_tool_analysis_results',
20
- 'mcplab_read_tool_analysis_result',
21
- 'mcplab_list_library',
22
- 'mcplab_get_library_item'
23
- ]);
24
8
  export function cleanupResultAssistantSessions(sessions, now = Date.now()) {
25
9
  cleanupSessionsByTtl(sessions, RESULT_ASSISTANT_SESSION_TTL_MS, now);
26
10
  }
@@ -30,6 +14,7 @@ export function touchResultAssistantSession(session) {
30
14
  export function resultAssistantSessionView(session) {
31
15
  return {
32
16
  id: session.id,
17
+ scope: session.scope,
33
18
  runId: session.runId,
34
19
  createdAt: new Date(session.createdAt).toISOString(),
35
20
  updatedAt: new Date(session.lastTouchedAt).toISOString(),
@@ -37,7 +22,7 @@ export function resultAssistantSessionView(session) {
37
22
  model: session.agentConfig.model,
38
23
  provider: session.agentConfig.provider,
39
24
  messages: session.chatMessages,
40
- pendingToolCalls: session.pendingToolCalls.filter((call) => call.status === 'pending')
25
+ pendingToolCalls: session.pendingToolCalls
41
26
  };
42
27
  }
43
28
  export async function preloadResultAssistantTools(session, mcpServerUrl) {
@@ -50,7 +35,7 @@ export async function preloadResultAssistantTools(session, mcpServerUrl) {
50
35
  const discovered = await session.mcp.listTools(RESULT_ASSISTANT_MCP_SERVER_NAME);
51
36
  const usedNames = new Set();
52
37
  for (const tool of discovered) {
53
- if (!RESULT_ASSISTANT_ALLOWED_TOOLS.has(tool.name))
38
+ if (!isResultAssistantAllowedTool(tool.name))
54
39
  continue;
55
40
  const publicName = makeAssistantToolPublicName(RESULT_ASSISTANT_MCP_SERVER_NAME, tool.name, usedNames);
56
41
  session.toolPublicMap.set(publicName, {
@@ -85,11 +70,12 @@ export async function continueResultAssistantTurn(session) {
85
70
  status: 'pending',
86
71
  createdAt: new Date().toISOString()
87
72
  };
73
+ const toolRequestText = `I need to call '${formatAssistantToolName(pending.publicToolName)}' to help with this request.`;
88
74
  session.pendingToolCalls.push(pending);
89
75
  session.chatMessages.push({
90
76
  id: newAssistantEntityId('msg'),
91
77
  role: 'assistant',
92
- text: modelOutput.text,
78
+ text: toolRequestText,
93
79
  createdAt: new Date().toISOString(),
94
80
  pendingToolCallId: pending.id,
95
81
  toolRequestServer: pending.server,
@@ -98,13 +84,13 @@ export async function continueResultAssistantTurn(session) {
98
84
  });
99
85
  session.llmMessages.push({
100
86
  role: 'assistant',
101
- content: modelOutput.text,
87
+ content: toolRequestText,
102
88
  tool_calls: [{ id: pending.id, name: pending.publicToolName, arguments: pending.arguments }]
103
89
  });
104
90
  touchResultAssistantSession(session);
105
91
  return {
106
92
  session: resultAssistantSessionView(session),
107
- response: { type: 'tool_call_request', text: modelOutput.text, pendingToolCall: pending }
93
+ response: { type: 'tool_call_request', text: toolRequestText, pendingToolCall: pending }
108
94
  };
109
95
  }
110
96
  session.chatMessages.push({
@@ -146,16 +132,16 @@ export function summarizeToolResultForResultAssistant(result) {
146
132
  function resultAssistantSystemPrompt(session) {
147
133
  if (session.systemPromptCache)
148
134
  return session.systemPromptCache;
149
- const totalScenarioCount = session.resultSummary.scenarios.length;
150
135
  const scenarioLimit = 30;
136
+ const totalScenarioCount = session.resultSummary?.scenarios.length ?? 0;
151
137
  const omittedScenarioCount = Math.max(0, totalScenarioCount - scenarioLimit);
152
- const scenarioSummaries = session.resultSummary.scenarios.slice(0, scenarioLimit).map((sc) => ({
138
+ const scenarioSummaries = session.resultSummary?.scenarios.slice(0, scenarioLimit).map((sc) => ({
153
139
  scenario_id: sc.scenario_id,
154
140
  agent: sc.agent,
155
141
  pass_rate: sc.pass_rate,
156
142
  run_count: sc.runs.length,
157
143
  sample_failures: sc.runs.flatMap((r) => r.failures).slice(0, 5)
158
- }));
144
+ })) ?? [];
159
145
  const toolLines = session.tools.map((tool) => {
160
146
  const mapping = session.toolPublicMap.get(tool.name);
161
147
  const schemaText = tool.inputSchema ? truncateJson(tool.inputSchema, 500) : '{}';
@@ -166,25 +152,32 @@ function resultAssistantSystemPrompt(session) {
166
152
  'Help the user understand MCP evaluation run results, failures, tool behavior, and snapshot drift.',
167
153
  'Be concise and practical.',
168
154
  'You may call MCPLab MCP tools for grounded follow-up actions (e.g. write a markdown report) when useful, but only when it improves the answer.',
155
+ 'Tool selection policy: prefer search_* tools first for retrieval; fall back to list_* tools when the query is unknown, broad, or full coverage is required.',
169
156
  'If you need a tool, request exactly one tool call and wait for approval.',
170
157
  'Respond in plain text. If you need to call a tool, use the available tools directly.',
171
- omittedScenarioCount > 0
172
- ? `Important: Only the first ${scenarioLimit} of ${totalScenarioCount} scenarios are included in the prompt context. If the user asks about coverage/completeness, mention that ${omittedScenarioCount} scenario(s) are omitted and suggest using tools to inspect full results.`
173
- : 'All scenarios are included in the prompt context.',
174
- `Run result context: ${JSON.stringify({
175
- run_id: session.resultSummary.metadata.run_id,
176
- timestamp: session.resultSummary.metadata.timestamp,
177
- run_note: session.resultSummary.metadata.run_note ?? null,
178
- config_hash: session.resultSummary.metadata.config_hash,
179
- summary: session.resultSummary.summary,
180
- snapshot_eval: session.resultSummary.metadata.snapshot_eval ?? null,
181
- scenario_count_total: totalScenarioCount,
182
- scenario_count_included: scenarioSummaries.length,
183
- scenario_count_omitted: omittedScenarioCount,
184
- scenarios: scenarioSummaries,
185
- linked_custom_reports: session.referenceReportsForRun.slice(0, 20)
186
- })}`,
187
- 'For custom markdown reports linked to this run, prefer mcplab_list_markdown_reports with run_id set to the current run id, then mcplab_read_markdown_report for selected files.',
158
+ session.scope === 'all_runs'
159
+ ? 'Scope: all historical runs. Use mcplab_search_runs to list or filter runs (no query needed for full listing). Then inspect specific runs via mcplab_read_run_artifact / trace tools.'
160
+ : omittedScenarioCount > 0
161
+ ? `Important: Only the first ${scenarioLimit} of ${totalScenarioCount} scenarios are included in the prompt context. If the user asks about coverage/completeness, mention that ${omittedScenarioCount} scenario(s) are omitted and suggest using tools to inspect full results.`
162
+ : 'All scenarios are included in the prompt context.',
163
+ session.scope === 'all_runs'
164
+ ? 'Run result context: none preloaded. You can inspect any run from history using available tools.'
165
+ : `Run result context: ${JSON.stringify({
166
+ run_id: session.resultSummary?.metadata.run_id,
167
+ timestamp: session.resultSummary?.metadata.timestamp,
168
+ run_note: session.resultSummary?.metadata.run_note ?? null,
169
+ config_hash: session.resultSummary?.metadata.config_hash,
170
+ summary: session.resultSummary?.summary,
171
+ snapshot_eval: session.resultSummary?.metadata.snapshot_eval ?? null,
172
+ scenario_count_total: totalScenarioCount,
173
+ scenario_count_included: scenarioSummaries.length,
174
+ scenario_count_omitted: omittedScenarioCount,
175
+ scenarios: scenarioSummaries,
176
+ linked_custom_reports: session.referenceReportsForRun.slice(0, 20)
177
+ })}`,
178
+ session.scope === 'all_runs'
179
+ ? 'For custom markdown reports across runs, use mcplab_search_markdown_reports (no query needed for full listing, or filter by run_id/name). Then read selected files with mcplab_read_markdown_report.'
180
+ : 'For custom markdown reports linked to this run, use mcplab_search_markdown_reports with run_id set to the current run id. Then read selected files with mcplab_read_markdown_report.',
188
181
  toolLines.length > 0
189
182
  ? `Available MCPLab MCP tools:\n${toolLines.join('\n')}`
190
183
  : 'No MCPLab MCP tools available.'
@@ -201,7 +194,8 @@ async function resultAssistantChatModel(session) {
201
194
  });
202
195
  if (response.tool_calls && response.tool_calls.length > 0) {
203
196
  const [first] = response.tool_calls;
204
- const baseText = response.content?.trim() || `I need to call '${first.name}' to help with this request.`;
197
+ const baseText = response.content?.trim() ||
198
+ `I need to call '${formatAssistantToolName(first.name)}' to help with this request.`;
205
199
  return {
206
200
  type: 'tool_call_request',
207
201
  text: baseText,
@@ -1 +1 @@
1
- {"version":3,"file":"result-assistant-domain.js","sourceRoot":"","sources":["../../src/app-server/result-assistant-domain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"result-assistant-domain.js","sourceRoot":"","sources":["../../src/app-server/result-assistant-domain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export type ResultAssistantToolRole = 'search' | 'list' | 'read' | 'analysis' | 'catalog' | 'write';
2
+ export interface ResultAssistantToolCapability {
3
+ name: string;
4
+ role: ResultAssistantToolRole;
5
+ readOnly: boolean;
6
+ search: boolean;
7
+ }
8
+ export declare const RESULT_ASSISTANT_TOOL_CAPABILITIES: ResultAssistantToolCapability[];
9
+ export declare function isResultAssistantAllowedTool(name: string): boolean;
10
+ export declare function isResultAssistantAutoApprovedTool(name: string): boolean;
11
+ //# sourceMappingURL=result-assistant-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-assistant-tools.d.ts","sourceRoot":"","sources":["../../src/app-server/result-assistant-tools.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;AAEpG,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,uBAAuB,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,eAAO,MAAM,kCAAkC,EAAE,6BAA6B,EAkB7E,CAAC;AAMF,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElE;AAED,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvE"}