sub-agents-mcp 0.14.1 → 0.14.2

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/dist/agents/AgentManager.d.ts +16 -0
  2. package/dist/agents/AgentManager.d.ts.map +1 -1
  3. package/dist/agents/AgentManager.js +68 -43
  4. package/dist/agents/AgentManager.js.map +1 -1
  5. package/dist/agents/AgentName.d.ts +15 -0
  6. package/dist/agents/AgentName.d.ts.map +1 -0
  7. package/dist/agents/AgentName.js +40 -0
  8. package/dist/agents/AgentName.js.map +1 -0
  9. package/dist/config/ServerConfig.d.ts.map +1 -1
  10. package/dist/config/ServerConfig.js +101 -70
  11. package/dist/config/ServerConfig.js.map +1 -1
  12. package/dist/execution/AgentExecutor.d.ts +27 -3
  13. package/dist/execution/AgentExecutor.d.ts.map +1 -1
  14. package/dist/execution/AgentExecutor.js +328 -196
  15. package/dist/execution/AgentExecutor.js.map +1 -1
  16. package/dist/execution/StreamProcessor.d.ts.map +1 -1
  17. package/dist/execution/StreamProcessor.js +17 -16
  18. package/dist/execution/StreamProcessor.js.map +1 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +8 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/resources/AgentResources.d.ts.map +1 -1
  23. package/dist/resources/AgentResources.js +2 -8
  24. package/dist/resources/AgentResources.js.map +1 -1
  25. package/dist/server/McpServer.d.ts.map +1 -1
  26. package/dist/server/McpServer.js +40 -21
  27. package/dist/server/McpServer.js.map +1 -1
  28. package/dist/session/SessionManager.d.ts +11 -1
  29. package/dist/session/SessionManager.d.ts.map +1 -1
  30. package/dist/session/SessionManager.js +118 -28
  31. package/dist/session/SessionManager.js.map +1 -1
  32. package/dist/tools/RunAgentTool.d.ts +32 -9
  33. package/dist/tools/RunAgentTool.d.ts.map +1 -1
  34. package/dist/tools/RunAgentTool.js +281 -190
  35. package/dist/tools/RunAgentTool.js.map +1 -1
  36. package/dist/types/ExecutionParams.d.ts +0 -1
  37. package/dist/types/ExecutionParams.d.ts.map +1 -1
  38. package/dist/types/SessionData.d.ts +6 -1
  39. package/dist/types/SessionData.d.ts.map +1 -1
  40. package/dist/utils/ErrorHandler.d.ts +14 -2
  41. package/dist/utils/ErrorHandler.d.ts.map +1 -1
  42. package/dist/utils/ErrorHandler.js +40 -9
  43. package/dist/utils/ErrorHandler.js.map +1 -1
  44. package/dist/utils/Logger.d.ts.map +1 -1
  45. package/dist/utils/Logger.js +3 -2
  46. package/dist/utils/Logger.js.map +1 -1
  47. package/package.json +10 -14
@@ -1,10 +1,77 @@
1
1
  import { randomUUID } from 'node:crypto';
2
+ import { AGENT_NAME_PATTERN, agentNameProblem } from '../agents/AgentName.js';
2
3
  import { formatSessionHistory } from '../session/SessionHistoryFormatter.js';
3
- import { Logger } from '../utils/Logger.js';
4
+ import { toErrorMessage } from '../utils/ErrorHandler.js';
5
+ import { isLogLevel, Logger } from '../utils/Logger.js';
4
6
  const COMMAND_CODE_MAX_TURNS_EXIT_CODE = 8;
5
7
  const TIMEOUT_EXIT_CODE = 124;
6
8
  const SIGKILL_EXIT_CODE = 137;
7
9
  const SIGTERM_EXIT_CODE = 143;
10
+ const MAX_PROMPT_LENGTH = 50000;
11
+ const MAX_CWD_LENGTH = 1000;
12
+ const MAX_SESSION_ID_LENGTH = 100;
13
+ function validateAgentName(value) {
14
+ if (!value || typeof value !== 'string') {
15
+ throw new Error('Agent parameter is required and must be a string');
16
+ }
17
+ const agentName = value.trim();
18
+ const problem = agentNameProblem(agentName);
19
+ if (problem) {
20
+ throw new Error(`Invalid agent parameter: ${problem}`);
21
+ }
22
+ return agentName;
23
+ }
24
+ function validatePrompt(value) {
25
+ if (!value || typeof value !== 'string') {
26
+ throw new Error('Prompt parameter is required and must be a string');
27
+ }
28
+ const prompt = value.trim();
29
+ if (prompt === '') {
30
+ throw new Error('Invalid prompt parameter: cannot be empty');
31
+ }
32
+ if (prompt.length > MAX_PROMPT_LENGTH) {
33
+ throw new Error('Prompt too long (max 50,000 characters)');
34
+ }
35
+ return prompt;
36
+ }
37
+ function validateCwd(value) {
38
+ if (value === undefined || value === null) {
39
+ throw new Error('CWD parameter is required');
40
+ }
41
+ if (typeof value !== 'string') {
42
+ throw new Error('CWD parameter must be a string');
43
+ }
44
+ const cwd = value.trim();
45
+ if (cwd === '') {
46
+ throw new Error('CWD parameter cannot be empty');
47
+ }
48
+ if (cwd.length > MAX_CWD_LENGTH) {
49
+ throw new Error('Working directory path too long (max 1000 characters)');
50
+ }
51
+ if (cwd.includes('..') || cwd.includes('\0')) {
52
+ throw new Error('Invalid working directory path');
53
+ }
54
+ return cwd;
55
+ }
56
+ function validateSessionId(value) {
57
+ if (value === undefined) {
58
+ return undefined;
59
+ }
60
+ if (typeof value !== 'string') {
61
+ throw new Error('Session ID parameter must be a string if provided');
62
+ }
63
+ const sessionId = value.trim();
64
+ if (sessionId === '') {
65
+ throw new Error('Invalid session ID parameter: cannot be empty');
66
+ }
67
+ if (sessionId.length > MAX_SESSION_ID_LENGTH) {
68
+ throw new Error('Session ID too long (max 100 characters)');
69
+ }
70
+ if (!AGENT_NAME_PATTERN.test(sessionId)) {
71
+ throw new Error('Session ID contains invalid characters (only alphanumeric, underscore, and dash allowed)');
72
+ }
73
+ return value;
74
+ }
8
75
  export class RunAgentTool {
9
76
  agentExecutor;
10
77
  agentManager;
@@ -28,11 +95,6 @@ export class RunAgentTool {
28
95
  type: 'string',
29
96
  description: 'Working directory path for agent execution context. Must be an absolute path to a valid directory.',
30
97
  },
31
- extra_args: {
32
- type: 'array',
33
- items: { type: 'string' },
34
- description: 'Additional configuration parameters for agent execution (optional)',
35
- },
36
98
  session_id: {
37
99
  type: 'string',
38
100
  description: 'Session ID for continuing previous conversation context (optional). If omitted, a new session will be auto-generated and returned in response metadata. Reuse the returned session_id in subsequent calls to maintain context continuity.',
@@ -44,35 +106,159 @@ export class RunAgentTool {
44
106
  this.agentExecutor = agentExecutor;
45
107
  this.agentManager = agentManager;
46
108
  this.sessionManager = sessionManager;
47
- const logLevel = process.env['LOG_LEVEL'] || 'info';
109
+ const envLogLevel = process.env['LOG_LEVEL'];
110
+ const logLevel = isLogLevel(envLogLevel) ? envLogLevel : 'info';
48
111
  this.logger = new Logger(logLevel);
49
112
  }
50
- async execute(params) {
113
+ /** Prunes expired session files without blocking the current request. */
114
+ startBackgroundSessionCleanup(requestId) {
115
+ const sessionManager = this.sessionManager;
116
+ if (!sessionManager) {
117
+ return;
118
+ }
119
+ Promise.resolve()
120
+ .then(() => sessionManager.cleanupOldSessions())
121
+ .catch((error) => {
122
+ this.logger.warn('Session cleanup failed (best-effort)', {
123
+ requestId,
124
+ error: toErrorMessage(error),
125
+ });
126
+ });
127
+ }
128
+ /**
129
+ * Prefixes the request with the stored conversation history when a session is
130
+ * active. History retrieval is best-effort: failures fall back to the raw prompt.
131
+ */
132
+ async buildPromptWithHistory(validatedParams, sessionId, requestId) {
133
+ if (!sessionId || !this.sessionManager) {
134
+ return validatedParams.prompt;
135
+ }
136
+ try {
137
+ // Session history is partitioned by agent name.
138
+ const sessionData = await this.sessionManager.loadSession(sessionId, validatedParams.agent);
139
+ if (!sessionData || sessionData.history.length === 0) {
140
+ this.logger.debug('No session history found', { requestId, sessionId });
141
+ return validatedParams.prompt;
142
+ }
143
+ const historyMarkdown = formatSessionHistory(sessionData);
144
+ this.logger.info('Session history loaded and merged', {
145
+ requestId,
146
+ sessionId,
147
+ historyEntries: sessionData.history.length,
148
+ });
149
+ return `Previous conversation history:\n\n${historyMarkdown}\n\n---\n\nCurrent request:\n${validatedParams.prompt}`;
150
+ }
151
+ catch (error) {
152
+ this.logger.warn('Failed to load session history', {
153
+ requestId,
154
+ sessionId,
155
+ error: toErrorMessage(error),
156
+ });
157
+ return validatedParams.prompt;
158
+ }
159
+ }
160
+ /**
161
+ * Appends the exchange to the session store. Never throws; returns whether the
162
+ * history was actually persisted so the caller can say so in its response.
163
+ */
164
+ async persistSession(validatedParams, sessionId, requestId, result) {
165
+ if (!sessionId || !this.sessionManager) {
166
+ return false;
167
+ }
168
+ try {
169
+ const sessionRequest = {
170
+ agent: validatedParams.agent,
171
+ prompt: validatedParams.prompt,
172
+ cwd: validatedParams.cwd,
173
+ };
174
+ const saveResult = await this.sessionManager.saveSession(sessionId, sessionRequest, {
175
+ stdout: result.stdout,
176
+ stderr: result.stderr,
177
+ exitCode: result.exitCode,
178
+ executionTime: result.executionTime,
179
+ });
180
+ if (!saveResult.saved) {
181
+ this.logger.warn('Failed to save session', {
182
+ requestId,
183
+ sessionId,
184
+ error: saveResult.reason,
185
+ });
186
+ return false;
187
+ }
188
+ this.logger.info('Session saved successfully', { requestId, sessionId });
189
+ return true;
190
+ }
191
+ catch (error) {
192
+ this.logger.warn('Failed to save session', {
193
+ requestId,
194
+ sessionId,
195
+ error: toErrorMessage(error),
196
+ });
197
+ return false;
198
+ }
199
+ }
200
+ /** Runs the agent and records the exchange, returning the formatted MCP response. */
201
+ async runAgent(agentExecutor, context) {
202
+ const { validatedParams, agentDefinition, sessionId, requestId, startTime, signal } = context;
203
+ const executionParams = {
204
+ agent: agentDefinition?.content ?? validatedParams.agent,
205
+ prompt: await this.buildPromptWithHistory(validatedParams, sessionId, requestId),
206
+ cwd: validatedParams.cwd,
207
+ ...(agentDefinition?.filePath !== undefined && {
208
+ agentFilePath: agentDefinition.filePath,
209
+ }),
210
+ };
211
+ const result = await agentExecutor.executeAgent(executionParams, signal);
212
+ this.updateExecutionStats(validatedParams.agent, result.executionTime);
213
+ this.logger.info('Agent execution completed successfully', {
214
+ requestId,
215
+ agent: validatedParams.agent,
216
+ exitCode: result.exitCode,
217
+ executionTime: result.executionTime,
218
+ totalTime: Date.now() - startTime,
219
+ });
220
+ const sessionSaved = await this.persistSession(validatedParams, sessionId, requestId, result);
221
+ return this.formatExecutionResponse(result, {
222
+ agentName: validatedParams.agent,
223
+ requestId,
224
+ sessionId,
225
+ sessionSaved,
226
+ });
227
+ }
228
+ /**
229
+ * Without a session store nothing is persisted, so no session_id is issued —
230
+ * echoing one back would invite the caller to reuse an id that continues nothing.
231
+ */
232
+ resolveSessionId(validatedParams, requestId) {
233
+ if (!this.sessionManager) {
234
+ if (validatedParams.session_id !== undefined) {
235
+ this.logger.warn('session_id was provided but session management is disabled', {
236
+ requestId,
237
+ requestedSessionId: validatedParams.session_id,
238
+ });
239
+ }
240
+ return undefined;
241
+ }
242
+ return validatedParams.session_id || randomUUID();
243
+ }
244
+ async execute(params, signal) {
51
245
  const startTime = Date.now();
52
246
  const requestId = this.generateRequestId();
53
247
  this.logger.info('Run agent tool execution started', {
54
248
  requestId,
55
249
  timestamp: new Date().toISOString(),
56
250
  });
57
- if (this.sessionManager) {
58
- Promise.resolve()
59
- .then(() => this.sessionManager.cleanupOldSessions())
60
- .catch((error) => {
61
- this.logger.warn('Session cleanup failed (best-effort)', {
62
- requestId,
63
- error: error instanceof Error ? error.message : String(error),
64
- });
65
- });
66
- }
251
+ this.startBackgroundSessionCleanup(requestId);
67
252
  try {
68
253
  const validatedParams = this.validateParams(params);
69
- const sessionId = validatedParams.session_id || (this.sessionManager ? randomUUID() : undefined);
254
+ // Without a session store nothing is persisted, so echoing a session_id back
255
+ // would invite the caller to reuse an id that continues nothing.
256
+ const sessionId = this.resolveSessionId(validatedParams, requestId);
70
257
  this.logger.debug('Parameters validated successfully', {
71
258
  requestId,
72
259
  agent: validatedParams.agent,
73
260
  promptLength: validatedParams.prompt.length,
74
261
  cwd: validatedParams.cwd,
75
- extraArgsCount: validatedParams.extra_args?.length || 0,
76
262
  sessionId: sessionId,
77
263
  sessionIdGenerated: !validatedParams.session_id && !!sessionId,
78
264
  });
@@ -84,7 +270,7 @@ export class RunAgentTool {
84
270
  requestId,
85
271
  requestedAgent: validatedParams.agent,
86
272
  });
87
- return this.createErrorResponse(`Agent '${validatedParams.agent}' not found`, await this.getAvailableAgentsList());
273
+ return this.createErrorResponse(`Agent '${validatedParams.agent}' not found`, await this.getAvailableAgentsList(), this.agentManager.getSkippedDefinitions());
88
274
  }
89
275
  this.logger.debug('Agent found and validated', {
90
276
  requestId,
@@ -92,89 +278,16 @@ export class RunAgentTool {
92
278
  agentDescription: agentDefinition.description,
93
279
  });
94
280
  }
95
- if (this.agentExecutor) {
96
- const agentContext = agentDefinition?.content ?? validatedParams.agent;
97
- let promptWithHistory = validatedParams.prompt;
98
- if (sessionId && this.sessionManager) {
99
- try {
100
- // Session history is partitioned by agent name.
101
- const sessionData = await this.sessionManager.loadSession(sessionId, validatedParams.agent);
102
- if (sessionData && sessionData.history.length > 0) {
103
- const historyMarkdown = formatSessionHistory(sessionData);
104
- promptWithHistory = `Previous conversation history:\n\n${historyMarkdown}\n\n---\n\nCurrent request:\n${validatedParams.prompt}`;
105
- this.logger.info('Session history loaded and merged', {
106
- requestId,
107
- sessionId: sessionId,
108
- historyEntries: sessionData.history.length,
109
- });
110
- }
111
- else {
112
- this.logger.debug('No session history found', {
113
- requestId,
114
- sessionId: sessionId,
115
- });
116
- }
117
- }
118
- catch (error) {
119
- this.logger.warn('Failed to load session history', {
120
- requestId,
121
- sessionId: sessionId,
122
- error: error instanceof Error ? error.message : String(error),
123
- });
124
- }
125
- }
126
- const executionParams = {
127
- agent: agentContext,
128
- prompt: promptWithHistory,
129
- ...(validatedParams.cwd !== undefined && { cwd: validatedParams.cwd }),
130
- ...(validatedParams.extra_args !== undefined && {
131
- extra_args: validatedParams.extra_args,
132
- }),
133
- ...(agentDefinition?.filePath !== undefined && {
134
- agentFilePath: agentDefinition.filePath,
135
- }),
136
- };
137
- const result = await this.agentExecutor.executeAgent(executionParams);
138
- this.updateExecutionStats(validatedParams.agent, result.executionTime);
139
- this.logger.info('Agent execution completed successfully', {
281
+ const agentExecutor = this.agentExecutor;
282
+ if (agentExecutor) {
283
+ return await this.runAgent(agentExecutor, {
284
+ validatedParams,
285
+ agentDefinition,
286
+ sessionId,
140
287
  requestId,
141
- agent: validatedParams.agent,
142
- exitCode: result.exitCode,
143
- executionTime: result.executionTime,
144
- totalTime: Date.now() - startTime,
288
+ startTime,
289
+ signal,
145
290
  });
146
- if (sessionId && this.sessionManager) {
147
- try {
148
- const sessionRequest = {
149
- agent: validatedParams.agent,
150
- prompt: validatedParams.prompt,
151
- };
152
- if (validatedParams.cwd !== undefined) {
153
- sessionRequest.cwd = validatedParams.cwd;
154
- }
155
- if (validatedParams.extra_args !== undefined) {
156
- sessionRequest.extra_args = validatedParams.extra_args;
157
- }
158
- await this.sessionManager.saveSession(sessionId, sessionRequest, {
159
- stdout: result.stdout,
160
- stderr: result.stderr,
161
- exitCode: result.exitCode,
162
- executionTime: result.executionTime,
163
- });
164
- this.logger.info('Session saved successfully', {
165
- requestId,
166
- sessionId: sessionId,
167
- });
168
- }
169
- catch (error) {
170
- this.logger.warn('Failed to save session', {
171
- requestId,
172
- sessionId: sessionId,
173
- error: error instanceof Error ? error.message : String(error),
174
- });
175
- }
176
- }
177
- return this.formatExecutionResponse(result, validatedParams.agent, requestId, sessionId);
178
291
  }
179
292
  this.logger.warn('Agent executor not available', { requestId });
180
293
  return {
@@ -200,83 +313,12 @@ export class RunAgentTool {
200
313
  if (!params || typeof params !== 'object') {
201
314
  throw new Error('Invalid parameters: expected object');
202
315
  }
203
- const p = params;
204
- if (!p['agent'] || typeof p['agent'] !== 'string') {
205
- throw new Error('Agent parameter is required and must be a string');
206
- }
207
- const agentName = p['agent'].trim();
208
- if (agentName === '') {
209
- throw new Error('Invalid agent parameter: cannot be empty');
210
- }
211
- if (agentName.length > 100) {
212
- throw new Error('Agent name too long (max 100 characters)');
213
- }
214
- if (!/^[a-zA-Z0-9_-]+$/.test(agentName)) {
215
- throw new Error('Agent name contains invalid characters (only alphanumeric, underscore, and dash allowed)');
216
- }
217
- if (!p['prompt'] || typeof p['prompt'] !== 'string') {
218
- throw new Error('Prompt parameter is required and must be a string');
219
- }
220
- const prompt = p['prompt'].trim();
221
- if (prompt === '') {
222
- throw new Error('Invalid prompt parameter: cannot be empty');
223
- }
224
- if (prompt.length > 50000) {
225
- throw new Error('Prompt too long (max 50,000 characters)');
226
- }
227
- if (p['cwd'] === undefined || p['cwd'] === null) {
228
- throw new Error('CWD parameter is required');
229
- }
230
- if (typeof p['cwd'] !== 'string') {
231
- throw new Error('CWD parameter must be a string');
232
- }
233
- const cwd = p['cwd'].trim();
234
- if (cwd === '') {
235
- throw new Error('CWD parameter cannot be empty');
236
- }
237
- if (cwd.length > 1000) {
238
- throw new Error('Working directory path too long (max 1000 characters)');
239
- }
240
- if (cwd.includes('..') || cwd.includes('\0')) {
241
- throw new Error('Invalid working directory path');
242
- }
243
- if (p['extra_args'] !== undefined) {
244
- if (!Array.isArray(p['extra_args'])) {
245
- throw new Error('Extra args parameter must be an array if provided');
246
- }
247
- if (p['extra_args'].length > 20) {
248
- throw new Error('Too many extra arguments (max 20 allowed)');
249
- }
250
- for (const [index, arg] of p['extra_args'].entries()) {
251
- if (typeof arg !== 'string') {
252
- throw new Error(`Extra argument at index ${index} must be a string`);
253
- }
254
- if (arg.length > 1000) {
255
- throw new Error(`Extra argument at index ${index} too long (max 1000 characters)`);
256
- }
257
- }
258
- }
259
- if (p['session_id'] !== undefined) {
260
- if (typeof p['session_id'] !== 'string') {
261
- throw new Error('Session ID parameter must be a string if provided');
262
- }
263
- const sessionId = p['session_id'].trim();
264
- if (sessionId === '') {
265
- throw new Error('Invalid session ID parameter: cannot be empty');
266
- }
267
- if (sessionId.length > 100) {
268
- throw new Error('Session ID too long (max 100 characters)');
269
- }
270
- if (!/^[a-zA-Z0-9_-]+$/.test(sessionId)) {
271
- throw new Error('Session ID contains invalid characters (only alphanumeric, underscore, and dash allowed)');
272
- }
273
- }
316
+ const p = { ...params };
274
317
  return {
275
- agent: agentName,
276
- prompt: prompt,
277
- cwd: cwd,
278
- extra_args: p['extra_args'],
279
- session_id: p['session_id'],
318
+ agent: validateAgentName(p['agent']),
319
+ prompt: validatePrompt(p['prompt']),
320
+ cwd: validateCwd(p['cwd']),
321
+ session_id: validateSessionId(p['session_id']),
280
322
  };
281
323
  }
282
324
  isRecord(value) {
@@ -285,6 +327,51 @@ export class RunAgentTool {
285
327
  isStringField(value) {
286
328
  return typeof value === 'string';
287
329
  }
330
+ /**
331
+ * Derives the single execution outcome that both `status` and `isError` are
332
+ * built from. Keeping one derivation prevents the two fields from disagreeing.
333
+ */
334
+ resolveOutcome(result) {
335
+ if (this.isAgentError(result.resultJson, result.exitCode)) {
336
+ return 'error';
337
+ }
338
+ const isPartial = this.isPartialResult(result.resultJson) ||
339
+ (result.exitCode === TIMEOUT_EXIT_CODE && result.hasResult === true);
340
+ if (!isPartial) {
341
+ if (result.exitCode === 0) {
342
+ return 'success';
343
+ }
344
+ // Terminated by a signal, but only after a structured result arrived.
345
+ if ((result.exitCode === SIGTERM_EXIT_CODE || result.exitCode === SIGKILL_EXIT_CODE) &&
346
+ result.hasResult === true) {
347
+ return 'success';
348
+ }
349
+ }
350
+ return isPartial ? 'partial' : 'error';
351
+ }
352
+ /**
353
+ * Builds the text shown to the caller. On a non-success outcome the failure
354
+ * reason on stderr must survive even when the agent also produced stdout,
355
+ * otherwise the caller sees partial output and no explanation.
356
+ */
357
+ buildResultText(outcome, result, sessionId) {
358
+ const content = this.extractAgentContent(result.resultJson, outcome === 'error', result.stdout, result.stderr);
359
+ // A partial outcome carries a coherent agent result, and `status`/`exit_code`
360
+ // already say it was cut short. Only a failure needs its reason spelled out.
361
+ if (outcome !== 'error') {
362
+ return content;
363
+ }
364
+ const notes = [];
365
+ if (result.stderr && !content.includes(result.stderr)) {
366
+ notes.push(result.stderr);
367
+ }
368
+ if (result.failureReason === 'argv_too_long' && sessionId) {
369
+ notes.push(`The conversation history stored for session "${sessionId}" is replayed with every ` +
370
+ 'call, and it has grown past what the CLI accepts. Start a new session by calling ' +
371
+ 'run_agent without session_id.');
372
+ }
373
+ return notes.length > 0 ? [content, ...notes].join('\n\n') : content;
374
+ }
288
375
  extractAgentContent(resultJson, isError, stdout, stderr) {
289
376
  if (!this.isRecord(resultJson)) {
290
377
  return stdout || stderr || 'No output';
@@ -317,22 +404,24 @@ export class RunAgentTool {
317
404
  isPartialResult(resultJson) {
318
405
  return this.isRecord(resultJson) && resultJson['status'] === 'partial';
319
406
  }
320
- formatExecutionResponse(result, agentName, requestId, sessionId) {
321
- const isError = this.isAgentError(result.resultJson, result.exitCode);
322
- const contentText = this.extractAgentContent(result.resultJson, isError, result.stdout, result.stderr);
323
- const isPartialSuccess = this.isPartialResult(result.resultJson) ||
324
- (result.exitCode === TIMEOUT_EXIT_CODE && result.hasResult === true);
325
- const isSuccess = (!isError && !isPartialSuccess && result.exitCode === 0) || // Normal completion
326
- (!isError &&
327
- !isPartialSuccess &&
328
- (result.exitCode === SIGTERM_EXIT_CODE || result.exitCode === SIGKILL_EXIT_CODE) &&
329
- result.hasResult === true); // Terminated after receiving a result
407
+ formatExecutionResponse(result, context) {
408
+ const { agentName, requestId, sessionId, sessionSaved } = context;
409
+ const outcome = this.resolveOutcome(result);
410
+ const isError = outcome === 'error';
411
+ let contentText = this.buildResultText(outcome, result, sessionId);
412
+ // The agent's own result still stands, but a caller told to reuse session_id
413
+ // has to know the history behind it was not written.
414
+ const historyLost = sessionId !== undefined && sessionSaved === false;
415
+ if (historyLost) {
416
+ contentText = `${contentText}\n\nThis exchange was not saved to session "${sessionId}", so it will not be part of the history on the next call.`;
417
+ }
330
418
  const responseData = {
331
419
  result: contentText,
420
+ ...(historyLost && { session_saved: false }),
332
421
  agent: agentName,
333
422
  exit_code: result.exitCode,
334
423
  execution_time: result.executionTime,
335
- status: isError ? 'error' : isSuccess ? 'success' : isPartialSuccess ? 'partial' : 'error',
424
+ status: outcome,
336
425
  ...(sessionId && { session_id: sessionId }),
337
426
  ...(requestId && { request_id: requestId }),
338
427
  };
@@ -353,11 +442,13 @@ export class RunAgentTool {
353
442
  }
354
443
  return response;
355
444
  }
356
- createErrorResponse(errorMessage, availableAgents) {
445
+ createErrorResponse(errorMessage, availableAgents, skippedDefinitions = []) {
357
446
  const errorData = {
358
447
  status: 'error',
359
448
  error: errorMessage,
360
449
  ...(availableAgents && { available_agents: availableAgents }),
450
+ // Explains "the file exists but the agent is missing" without a log dive.
451
+ ...(skippedDefinitions.length > 0 && { skipped_definitions: skippedDefinitions }),
361
452
  };
362
453
  return {
363
454
  content: [
@@ -1 +1 @@
1
- {"version":3,"file":"RunAgentTool.js","sourceRoot":"","sources":["../../src/tools/RunAgentTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RunAgentTool.js","sourceRoot":"","sources":["../../src/tools/RunAgentTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAE7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAI5E,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAiB,MAAM,oBAAoB,CAAA;AAEtE,MAAM,gCAAgC,GAAG,CAAC,CAAA;AAC1C,MAAM,iBAAiB,GAAG,GAAG,CAAA;AAC7B,MAAM,iBAAiB,GAAG,GAAG,CAAA;AAC7B,MAAM,iBAAiB,GAAG,GAAG,CAAA;AAgE7B,MAAM,iBAAiB,GAAG,KAAK,CAAA;AAC/B,MAAM,cAAc,GAAG,IAAI,CAAA;AAC3B,MAAM,qBAAqB,GAAG,GAAG,CAAA;AAEjC,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;IACrE,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC9B,MAAM,OAAO,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAA;IAC3C,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAA;IACxD,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;IACtE,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC3B,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;IAC9D,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAC5D,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC9C,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;IACnD,CAAC;IAED,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IACxB,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAClD,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;IAC1E,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;IACnD,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;IACtE,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC9B,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;IAClE,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,GAAG,qBAAqB,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;IAC7D,CAAC;IACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,0FAA0F,CAC3F,CAAA;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,OAAO,YAAY;IAmCb;IACA;IACA;IApCM,IAAI,GAAG,WAAW,CAAA;IAClB,WAAW,GACzB,sYAAsY,CAAA;IAChY,MAAM,CAAQ;IACd,cAAc,GACpB,IAAI,GAAG,EAAE,CAAA;IAEK,WAAW,GAAwB;QACjD,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,uDAAuD;aACrE;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,0FAA0F;aAC7F;YACD,GAAG,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,oGAAoG;aACvG;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,2OAA2O;aAC9O;SACF;QACD,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC;KACrC,CAAA;IAED,YACU,aAA6B,EAC7B,YAA2B,EAC3B,cAA+B;QAF/B,kBAAa,GAAb,aAAa,CAAgB;QAC7B,iBAAY,GAAZ,YAAY,CAAe;QAC3B,mBAAc,GAAd,cAAc,CAAiB;QAEvC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QAC5C,MAAM,QAAQ,GAAa,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAA;QACzE,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAA;IACpC,CAAC;IAED,yEAAyE;IACjE,6BAA6B,CAAC,SAAiB;QACrD,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAA;QAC1C,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAM;QACR,CAAC;QAED,OAAO,CAAC,OAAO,EAAE;aACd,IAAI,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC;aAC/C,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE;gBACvD,SAAS;gBACT,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC;aAC7B,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACN,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,sBAAsB,CAClC,eAA+B,EAC/B,SAA6B,EAC7B,SAAiB;QAEjB,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvC,OAAO,eAAe,CAAC,MAAM,CAAA;QAC/B,CAAC;QAED,IAAI,CAAC;YACH,gDAAgD;YAChD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC,CAAA;YAC3F,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAA;gBACvE,OAAO,eAAe,CAAC,MAAM,CAAA;YAC/B,CAAC;YAED,MAAM,eAAe,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAA;YACzD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE;gBACpD,SAAS;gBACT,SAAS;gBACT,cAAc,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM;aAC3C,CAAC,CAAA;YACF,OAAO,qCAAqC,eAAe,gCAAgC,eAAe,CAAC,MAAM,EAAE,CAAA;QACrH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE;gBACjD,SAAS;gBACT,SAAS;gBACT,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC;aAC7B,CAAC,CAAA;YACF,OAAO,eAAe,CAAC,MAAM,CAAA;QAC/B,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,cAAc,CAC1B,eAA+B,EAC/B,SAA6B,EAC7B,SAAiB,EACjB,MAA4B;QAE5B,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvC,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,cAAc,GAIhB;gBACF,KAAK,EAAE,eAAe,CAAC,KAAK;gBAC5B,MAAM,EAAE,eAAe,CAAC,MAAM;gBAC9B,GAAG,EAAE,eAAe,CAAC,GAAG;aACzB,CAAA;YAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,EAAE,cAAc,EAAE;gBAClF,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,aAAa,EAAE,MAAM,CAAC,aAAa;aACpC,CAAC,CAAA;YAEF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;oBACzC,SAAS;oBACT,SAAS;oBACT,KAAK,EAAE,UAAU,CAAC,MAAM;iBACzB,CAAC,CAAA;gBACF,OAAO,KAAK,CAAA;YACd,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAA;YACxE,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;gBACzC,SAAS;gBACT,SAAS;gBACT,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC;aAC7B,CAAC,CAAA;YACF,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,qFAAqF;IAC7E,KAAK,CAAC,QAAQ,CACpB,aAA4B,EAC5B,OAOC;QAED,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;QAE7F,MAAM,eAAe,GAAoB;YACvC,KAAK,EAAE,eAAe,EAAE,OAAO,IAAI,eAAe,CAAC,KAAK;YACxD,MAAM,EAAE,MAAM,IAAI,CAAC,sBAAsB,CAAC,eAAe,EAAE,SAAS,EAAE,SAAS,CAAC;YAChF,GAAG,EAAE,eAAe,CAAC,GAAG;YACxB,GAAG,CAAC,eAAe,EAAE,QAAQ,KAAK,SAAS,IAAI;gBAC7C,aAAa,EAAE,eAAe,CAAC,QAAQ;aACxC,CAAC;SACH,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;QACxE,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,CAAA;QAEtE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE;YACzD,SAAS;YACT,KAAK,EAAE,eAAe,CAAC,KAAK;YAC5B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SAClC,CAAC,CAAA;QAEF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAE7F,OAAO,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE;YAC1C,SAAS,EAAE,eAAe,CAAC,KAAK;YAChC,SAAS;YACT,SAAS;YACT,YAAY;SACb,CAAC,CAAA;IACJ,CAAC;IAED;;;OAGG;IACK,gBAAgB,CAAC,eAA+B,EAAE,SAAiB;QACzE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,eAAe,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4DAA4D,EAAE;oBAC7E,SAAS;oBACT,kBAAkB,EAAE,eAAe,CAAC,UAAU;iBAC/C,CAAC,CAAA;YACJ,CAAC;YACD,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,OAAO,eAAe,CAAC,UAAU,IAAI,UAAU,EAAE,CAAA;IACnD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAe,EAAE,MAAoB;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAE1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE;YACnD,SAAS;YACT,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAA;QAEF,IAAI,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAA;QAE7C,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;YACnD,6EAA6E;YAC7E,iEAAiE;YACjE,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,SAAS,CAAC,CAAA;YAEnE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE;gBACrD,SAAS;gBACT,KAAK,EAAE,eAAe,CAAC,KAAK;gBAC5B,YAAY,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM;gBAC3C,GAAG,EAAE,eAAe,CAAC,GAAG;gBACxB,SAAS,EAAE,SAAS;gBACpB,kBAAkB,EAAE,CAAC,eAAe,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS;aAC/D,CAAC,CAAA;YAEF,IAAI,eAA4C,CAAA;YAChD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,eAAe,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;gBACzE,IAAI,CAAC,eAAe,EAAE,CAAC;oBACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE;wBAClC,SAAS;wBACT,cAAc,EAAE,eAAe,CAAC,KAAK;qBACtC,CAAC,CAAA;oBAEF,OAAO,IAAI,CAAC,mBAAmB,CAC7B,UAAU,eAAe,CAAC,KAAK,aAAa,EAC5C,MAAM,IAAI,CAAC,sBAAsB,EAAE,EACnC,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,CAC1C,CAAA;gBACH,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;oBAC7C,SAAS;oBACT,SAAS,EAAE,eAAe,CAAC,IAAI;oBAC/B,gBAAgB,EAAE,eAAe,CAAC,WAAW;iBAC9C,CAAC,CAAA;YACJ,CAAC;YAED,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAA;YACxC,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;oBACxC,eAAe;oBACf,eAAe;oBACf,SAAS;oBACT,SAAS;oBACT,SAAS;oBACT,MAAM;iBACP,CAAC,CAAA;YACJ,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,SAAS,EAAE,CAAC,CAAA;YAC/D,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,yCAAyC,eAAe,CAAC,KAAK,mBAAmB,eAAe,CAAC,MAAM,4CAA4C;qBAC1J;iBACF;aACF,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;YAExC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE;gBACtF,SAAS;gBACT,SAAS;gBACT,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;aACvE,CAAC,CAAA;YAEF,OAAO,IAAI,CAAC,mBAAmB,CAC7B,2BAA2B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,EACrF,IAAI,CACL,CAAA;QACH,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,MAAe;QACpC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;QACxD,CAAC;QAED,MAAM,CAAC,GAA4B,EAAE,GAAG,MAAM,EAAE,CAAA;QAEhD,OAAO;YACL,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACpC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACnC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1B,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;SAC/C,CAAA;IACH,CAAC;IAEO,QAAQ,CAAC,KAAc;QAC7B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC7E,CAAC;IAEO,aAAa,CAAC,KAAc;QAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAA;IAClC,CAAC;IAED;;;OAGG;IACK,cAAc,CAAC,MAA4B;QACjD,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1D,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,MAAM,SAAS,GACb,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC;YACvC,CAAC,MAAM,CAAC,QAAQ,KAAK,iBAAiB,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,CAAA;QAEtE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,SAAS,CAAA;YAClB,CAAC;YACD,sEAAsE;YACtE,IACE,CAAC,MAAM,CAAC,QAAQ,KAAK,iBAAiB,IAAI,MAAM,CAAC,QAAQ,KAAK,iBAAiB,CAAC;gBAChF,MAAM,CAAC,SAAS,KAAK,IAAI,EACzB,CAAC;gBACD,OAAO,SAAS,CAAA;YAClB,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAA;IACxC,CAAC;IAED;;;;OAIG;IACK,eAAe,CACrB,OAAkC,EAClC,MAA4B,EAC5B,SAA6B;QAE7B,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CACtC,MAAM,CAAC,UAAU,EACjB,OAAO,KAAK,OAAO,EACnB,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,MAAM,CACd,CAAA;QAED,8EAA8E;QAC9E,6EAA6E;QAC7E,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC3B,CAAC;QACD,IAAI,MAAM,CAAC,aAAa,KAAK,eAAe,IAAI,SAAS,EAAE,CAAC;YAC1D,KAAK,CAAC,IAAI,CACR,gDAAgD,SAAS,2BAA2B;gBAClF,mFAAmF;gBACnF,+BAA+B,CAClC,CAAA;QACH,CAAC;QAED,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IACtE,CAAC;IAEO,mBAAmB,CACzB,UAAmB,EACnB,OAAgB,EAChB,MAAc,EACd,MAAc;QAEd,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,OAAO,MAAM,IAAI,MAAM,IAAI,WAAW,CAAA;QACxC,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAA;QACjD,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YACjD,OAAO,UAAU,CAAC,YAAY,CAAC,CAAA;QACjC,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YAC9C,OAAO,UAAU,CAAC,SAAS,CAAC,CAAA;QAC9B,CAAC;QAED,OAAO,MAAM,IAAI,MAAM,IAAI,WAAW,CAAA;IACxC,CAAC;IAEO,YAAY,CAAC,UAAmB,EAAE,QAAgB;QACxD,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC;YACjE,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IACE,QAAQ,KAAK,gCAAgC;YAC7C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YACzB,UAAU,CAAC,QAAQ,CAAC,KAAK,SAAS;YAClC,UAAU,CAAC,aAAa,CAAC,KAAK,WAAW,EACzC,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,mBAAmB,GAAG,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS,CAAA;QAC3E,OAAO,CACL,QAAQ,KAAK,CAAC;YACd,QAAQ,KAAK,iBAAiB;YAC9B,QAAQ,KAAK,iBAAiB;YAC9B,CAAC,CAAC,QAAQ,KAAK,iBAAiB,IAAI,mBAAmB,CAAC,CACzD,CAAA;IACH,CAAC;IAEO,eAAe,CAAC,UAAmB;QACzC,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAA;IACxE,CAAC;IAEO,uBAAuB,CAC7B,MAA4B,EAC5B,OAKC;QAED,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,OAAO,CAAA;QACjE,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;QAC3C,MAAM,OAAO,GAAG,OAAO,KAAK,OAAO,CAAA;QACnC,IAAI,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;QAElE,6EAA6E;QAC7E,qDAAqD;QACrD,MAAM,WAAW,GAAG,SAAS,KAAK,SAAS,IAAI,YAAY,KAAK,KAAK,CAAA;QACrE,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,GAAG,GAAG,WAAW,+CAA+C,SAAS,4DAA4D,CAAA;QAClJ,CAAC;QAED,MAAM,YAAY,GAAoB;YACpC,MAAM,EAAE,WAAW;YACnB,GAAG,CAAC,WAAW,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;YAC5C,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,MAAM,CAAC,QAAQ;YAC1B,cAAc,EAAE,MAAM,CAAC,aAAa;YACpC,MAAM,EAAE,OAAO;YACf,GAAG,CAAC,SAAS,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;YAC3C,GAAG,CAAC,SAAS,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;SAC5C,CAAA;QAED,MAAM,QAAQ,GAAoB;YAChC,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC5C;aACF;YACD,OAAO,EAAE,OAAO;YAChB,iBAAiB,EAAE,YAAY;SAChC,CAAA;QAED,IAAI,SAAS,EAAE,CAAC;YACd,QAAQ,CAAC,KAAK,GAAG;gBACf,UAAU,EAAE,SAAS;aACtB,CAAA;QACH,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,mBAAmB,CACzB,YAAoB,EACpB,eAAgC,EAChC,qBAAyD,EAAE;QAE3D,MAAM,SAAS,GAA4B;YACzC,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,YAAY;YACnB,GAAG,CAAC,eAAe,IAAI,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC;YAC7D,0EAA0E;YAC1E,GAAG,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;SAClF,CAAA;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;iBACzC;aACF;YACD,OAAO,EAAE,IAAI;YACb,iBAAiB,EAAE,SAAS;SAC7B,CAAA;IACH,CAAC;IAEO,iBAAiB;QACvB,OAAO,aAAa,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAA;IAC7E,CAAC;IAEO,oBAAoB,CAAC,SAAiB,EAAE,aAAqB;QACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAEnD,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAA;YACnB,QAAQ,CAAC,SAAS,IAAI,aAAa,CAAA;YACnC,QAAQ,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAA;QAChC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE;gBACjC,KAAK,EAAE,CAAC;gBACR,SAAS,EAAE,aAAa;gBACxB,QAAQ,EAAE,IAAI,IAAI,EAAE;aACrB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IACrC,CAAC;IAEO,KAAK,CAAC,sBAAsB;QAClC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAA;YACnD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE;gBACtD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAChE,CAAC,CAAA;YACF,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;CACF"}
@@ -2,7 +2,6 @@ export interface ExecutionParams {
2
2
  agent: string;
3
3
  prompt: string;
4
4
  cwd?: string;
5
- extra_args?: string[];
6
5
  agentFilePath?: string;
7
6
  }
8
7
  //# sourceMappingURL=ExecutionParams.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutionParams.d.ts","sourceRoot":"","sources":["../../src/types/ExecutionParams.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IAEb,MAAM,EAAE,MAAM,CAAA;IAEd,GAAG,CAAC,EAAE,MAAM,CAAA;IAEZ,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IAErB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB"}
1
+ {"version":3,"file":"ExecutionParams.d.ts","sourceRoot":"","sources":["../../src/types/ExecutionParams.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IAEb,MAAM,EAAE,MAAM,CAAA;IAEd,GAAG,CAAC,EAAE,MAAM,CAAA;IAEZ,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB"}
@@ -7,13 +7,18 @@ export interface SessionData {
7
7
  }
8
8
  export interface SessionEntry {
9
9
  timestamp: Date;
10
+ /**
11
+ * Extra keys beyond the documented ones are preserved verbatim so a saved
12
+ * session stays fully inspectable when debugging.
13
+ */
10
14
  request: {
15
+ [key: string]: unknown;
11
16
  agent: string;
12
17
  prompt: string;
13
18
  cwd?: string;
14
- extra_args?: string[];
15
19
  };
16
20
  response: {
21
+ [key: string]: unknown;
17
22
  stdout: string;
18
23
  stderr: string;
19
24
  exitCode: number;