sub-agents-mcp 0.10.1 → 0.12.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.
- package/README.md +59 -14
- package/dist/agents/AgentManager.d.ts +3 -1
- package/dist/agents/AgentManager.d.ts.map +1 -1
- package/dist/agents/AgentManager.js +56 -22
- package/dist/agents/AgentManager.js.map +1 -1
- package/dist/config/ServerConfig.d.ts +9 -1
- package/dist/config/ServerConfig.d.ts.map +1 -1
- package/dist/config/ServerConfig.js +23 -5
- package/dist/config/ServerConfig.js.map +1 -1
- package/dist/execution/AgentExecutor.d.ts +22 -2
- package/dist/execution/AgentExecutor.d.ts.map +1 -1
- package/dist/execution/AgentExecutor.js +321 -82
- package/dist/execution/AgentExecutor.js.map +1 -1
- package/dist/execution/StreamProcessor.d.ts +7 -3
- package/dist/execution/StreamProcessor.d.ts.map +1 -1
- package/dist/execution/StreamProcessor.js +96 -13
- package/dist/execution/StreamProcessor.js.map +1 -1
- package/dist/server/McpServer.d.ts +5 -3
- package/dist/server/McpServer.d.ts.map +1 -1
- package/dist/server/McpServer.js +3 -0
- package/dist/server/McpServer.js.map +1 -1
- package/dist/tools/RunAgentTool.d.ts.map +1 -1
- package/dist/tools/RunAgentTool.js +9 -2
- package/dist/tools/RunAgentTool.js.map +1 -1
- package/package.json +7 -4
|
@@ -1,20 +1,51 @@
|
|
|
1
1
|
import { spawn } from 'node:child_process';
|
|
2
|
+
import fs from 'node:fs';
|
|
3
|
+
import os from 'node:os';
|
|
4
|
+
import path from 'node:path';
|
|
5
|
+
import { StringDecoder } from 'node:string_decoder';
|
|
2
6
|
import { Logger } from '../utils/Logger.js';
|
|
3
7
|
import { StreamProcessor } from './StreamProcessor.js';
|
|
4
8
|
export const DEFAULT_EXECUTION_TIMEOUT = 300000; // 5 minutes
|
|
9
|
+
const MAX_CAPTURED_OUTPUT_BYTES = 16 * 1024 * 1024;
|
|
10
|
+
const TERMINATION_GRACE_MS = 1000;
|
|
5
11
|
const GLM_BASE_URL = 'https://api.z.ai/api/anthropic';
|
|
12
|
+
const KIMI_BASE_URL = 'https://api.kimi.com/coding/';
|
|
6
13
|
const GLM_MISSING_API_KEY_ERROR = 'GLM backend needs a Z.ai API token in the CLI_API_KEY environment variable. ' +
|
|
7
14
|
'Add CLI_API_KEY to this MCP server environment in your MCP client configuration, ' +
|
|
8
15
|
'then restart or reconnect the MCP server so the running process receives it. ' +
|
|
9
16
|
'This run will keep failing until the MCP process is restarted with CLI_API_KEY set.';
|
|
17
|
+
const KIMI_MISSING_API_KEY_ERROR = 'Kimi backend needs an API key in the CLI_API_KEY environment variable. ' +
|
|
18
|
+
'Add CLI_API_KEY to this MCP server environment in your MCP client configuration, ' +
|
|
19
|
+
'then restart or reconnect the MCP server so the running process receives it. ' +
|
|
20
|
+
'This run will keep failing until the MCP process is restarted with CLI_API_KEY set.';
|
|
10
21
|
/**
|
|
11
22
|
* Supported agent runtimes. Single source of truth for both runtime validation
|
|
12
23
|
* (ServerConfig) and static typing.
|
|
13
24
|
*/
|
|
14
|
-
export const AGENT_TYPES = [
|
|
25
|
+
export const AGENT_TYPES = [
|
|
26
|
+
'cursor',
|
|
27
|
+
'claude',
|
|
28
|
+
'gemini',
|
|
29
|
+
'codex',
|
|
30
|
+
'glm',
|
|
31
|
+
'kimi',
|
|
32
|
+
'grok',
|
|
33
|
+
'opencode',
|
|
34
|
+
];
|
|
15
35
|
export function isAgentType(value) {
|
|
16
36
|
return typeof value === 'string' && AGENT_TYPES.includes(value);
|
|
17
37
|
}
|
|
38
|
+
export const AGENT_EFFORT_SUPPORTED_TYPES = [
|
|
39
|
+
'codex',
|
|
40
|
+
'claude',
|
|
41
|
+
'glm',
|
|
42
|
+
'kimi',
|
|
43
|
+
'grok',
|
|
44
|
+
'opencode',
|
|
45
|
+
];
|
|
46
|
+
export function supportsAgentEffort(agentType) {
|
|
47
|
+
return AGENT_EFFORT_SUPPORTED_TYPES.includes(agentType);
|
|
48
|
+
}
|
|
18
49
|
/**
|
|
19
50
|
* Supported permission levels. Single source of truth for both runtime
|
|
20
51
|
* validation (ServerConfig) and static typing.
|
|
@@ -55,6 +86,11 @@ const PERMISSION_FLAGS = {
|
|
|
55
86
|
'safe-edit': ['--permission-mode', 'acceptEdits'],
|
|
56
87
|
yolo: ['--dangerously-skip-permissions'],
|
|
57
88
|
},
|
|
89
|
+
kimi: {
|
|
90
|
+
'read-only': ['--permission-mode', 'plan'],
|
|
91
|
+
'safe-edit': ['--permission-mode', 'acceptEdits'],
|
|
92
|
+
yolo: ['--dangerously-skip-permissions'],
|
|
93
|
+
},
|
|
58
94
|
gemini: {
|
|
59
95
|
'read-only': ['--approval-mode', 'plan'],
|
|
60
96
|
'safe-edit': ['--approval-mode', 'auto_edit'],
|
|
@@ -72,6 +108,29 @@ const PERMISSION_FLAGS = {
|
|
|
72
108
|
'safe-edit': ['--permission-mode', 'bypassPermissions', '--sandbox', 'workspace'],
|
|
73
109
|
yolo: ['--permission-mode', 'bypassPermissions', '--sandbox', 'off'],
|
|
74
110
|
},
|
|
111
|
+
// OpenCode permissions are supplied through OPENCODE_PERMISSION.
|
|
112
|
+
opencode: {
|
|
113
|
+
'read-only': [],
|
|
114
|
+
'safe-edit': [],
|
|
115
|
+
yolo: [],
|
|
116
|
+
},
|
|
117
|
+
};
|
|
118
|
+
const OPENCODE_PERMISSION_MAPPING = {
|
|
119
|
+
'read-only': {
|
|
120
|
+
edit: 'deny',
|
|
121
|
+
bash: 'deny',
|
|
122
|
+
task: 'deny',
|
|
123
|
+
external_directory: 'deny',
|
|
124
|
+
question: 'deny',
|
|
125
|
+
},
|
|
126
|
+
'safe-edit': {
|
|
127
|
+
edit: 'allow',
|
|
128
|
+
bash: 'allow',
|
|
129
|
+
task: 'deny',
|
|
130
|
+
external_directory: 'deny',
|
|
131
|
+
question: 'deny',
|
|
132
|
+
},
|
|
133
|
+
yolo: 'allow',
|
|
75
134
|
};
|
|
76
135
|
/**
|
|
77
136
|
* Creates a complete ExecutionConfig with the provided agent type.
|
|
@@ -84,6 +143,7 @@ export function createExecutionConfig(agentType, overrides) {
|
|
|
84
143
|
// that bypasses TS) does not silently disable approval handling.
|
|
85
144
|
return {
|
|
86
145
|
executionTimeout: DEFAULT_EXECUTION_TIMEOUT,
|
|
146
|
+
maxOutputBytes: MAX_CAPTURED_OUTPUT_BYTES,
|
|
87
147
|
...overrides,
|
|
88
148
|
permission: overrides?.permission ?? DEFAULT_AGENT_PERMISSION,
|
|
89
149
|
agentType,
|
|
@@ -213,12 +273,16 @@ export class AgentExecutor {
|
|
|
213
273
|
return this.buildClaudeArgs(params, envOverrides);
|
|
214
274
|
case 'glm':
|
|
215
275
|
return this.buildGlmArgs(params, envOverrides);
|
|
276
|
+
case 'kimi':
|
|
277
|
+
return this.buildKimiArgs(params, envOverrides);
|
|
216
278
|
case 'gemini':
|
|
217
279
|
return this.buildGeminiArgs(params, envOverrides);
|
|
218
280
|
case 'cursor':
|
|
219
281
|
return this.buildCursorArgs(params, envOverrides);
|
|
220
282
|
case 'grok':
|
|
221
283
|
return this.buildGrokArgs(params, envOverrides);
|
|
284
|
+
case 'opencode':
|
|
285
|
+
return this.buildOpenCodeArgs(params, envOverrides);
|
|
222
286
|
}
|
|
223
287
|
}
|
|
224
288
|
/**
|
|
@@ -240,8 +304,9 @@ export class AgentExecutor {
|
|
|
240
304
|
env['CODEX_HOME'] = this.config.agentsSettingsPath;
|
|
241
305
|
break;
|
|
242
306
|
// claude: handled via --settings argv below
|
|
243
|
-
// glm:
|
|
307
|
+
// glm/kimi: use the claude binary, but intentionally avoid Claude settings.
|
|
244
308
|
// grok: not supported (upstream limitation)
|
|
309
|
+
// opencode: uses its normal XDG/project configuration discovery.
|
|
245
310
|
// gemini: not supported (upstream limitation)
|
|
246
311
|
}
|
|
247
312
|
return env;
|
|
@@ -249,26 +314,56 @@ export class AgentExecutor {
|
|
|
249
314
|
permissionFlags() {
|
|
250
315
|
return PERMISSION_FLAGS[this.config.agentType][this.config.permission];
|
|
251
316
|
}
|
|
317
|
+
invocationFlags() {
|
|
318
|
+
const flags = [...this.permissionFlags()];
|
|
319
|
+
if (this.config.model) {
|
|
320
|
+
flags.push('--model', this.config.model);
|
|
321
|
+
}
|
|
322
|
+
if (!this.config.effort) {
|
|
323
|
+
return flags;
|
|
324
|
+
}
|
|
325
|
+
switch (this.config.agentType) {
|
|
326
|
+
case 'codex':
|
|
327
|
+
flags.push('-c', `model_reasoning_effort=${JSON.stringify(this.config.effort)}`);
|
|
328
|
+
break;
|
|
329
|
+
case 'claude':
|
|
330
|
+
case 'glm':
|
|
331
|
+
case 'kimi':
|
|
332
|
+
flags.push('--effort', this.config.effort);
|
|
333
|
+
break;
|
|
334
|
+
case 'grok':
|
|
335
|
+
flags.push('--reasoning-effort', this.config.effort);
|
|
336
|
+
break;
|
|
337
|
+
case 'opencode':
|
|
338
|
+
flags.push('--variant', this.config.effort);
|
|
339
|
+
break;
|
|
340
|
+
case 'cursor':
|
|
341
|
+
case 'gemini':
|
|
342
|
+
throw new Error(`AGENT_EFFORT is not supported for AGENT_TYPE=${this.config.agentType}. ` +
|
|
343
|
+
`Supported types: ${AGENT_EFFORT_SUPPORTED_TYPES.join(', ')}.`);
|
|
344
|
+
}
|
|
345
|
+
return flags;
|
|
346
|
+
}
|
|
252
347
|
formatSystemUserPrompt(params) {
|
|
253
348
|
return `[System Context]\n${params.agent}\n\n[User Prompt]\n${params.prompt}`;
|
|
254
349
|
}
|
|
255
350
|
buildCodexArgs(params, envOverrides) {
|
|
256
|
-
const
|
|
351
|
+
const flags = this.invocationFlags();
|
|
257
352
|
// System context is concatenated into the user prompt rather than injected
|
|
258
353
|
// via `-c model_instructions_file=...`: that flag fully replaces codex's
|
|
259
354
|
// default system prompt, which removed the built-in tool-use guidance and
|
|
260
355
|
// measurably increased exploration overhead and token usage in our tests.
|
|
261
356
|
// Concatenation keeps codex's defaults intact and matches the cursor path.
|
|
262
357
|
const formattedPrompt = this.formatSystemUserPrompt(params);
|
|
263
|
-
const args = [...
|
|
358
|
+
const args = [...flags, 'exec', '--json', '--skip-git-repo-check', formattedPrompt];
|
|
264
359
|
return { command: 'codex', args, envOverrides };
|
|
265
360
|
}
|
|
266
361
|
buildClaudeArgs(params, envOverrides) {
|
|
267
|
-
const
|
|
362
|
+
const flags = this.invocationFlags();
|
|
268
363
|
const cwd = params.cwd || process.cwd();
|
|
269
364
|
const systemPrompt = `cwd: ${cwd}\n\n${params.agent}`;
|
|
270
365
|
const args = [
|
|
271
|
-
...
|
|
366
|
+
...flags,
|
|
272
367
|
'--output-format',
|
|
273
368
|
'stream-json',
|
|
274
369
|
'--verbose',
|
|
@@ -287,11 +382,21 @@ export class AgentExecutor {
|
|
|
287
382
|
if (!apiKey?.trim()) {
|
|
288
383
|
throw new Error(GLM_MISSING_API_KEY_ERROR);
|
|
289
384
|
}
|
|
290
|
-
|
|
385
|
+
return this.buildRedirectedClaudeArgs(params, envOverrides, GLM_BASE_URL, apiKey, 'ANTHROPIC_AUTH_TOKEN');
|
|
386
|
+
}
|
|
387
|
+
buildKimiArgs(params, envOverrides) {
|
|
388
|
+
const apiKey = this.config.kimiApiKey;
|
|
389
|
+
if (!apiKey?.trim()) {
|
|
390
|
+
throw new Error(KIMI_MISSING_API_KEY_ERROR);
|
|
391
|
+
}
|
|
392
|
+
return this.buildRedirectedClaudeArgs(params, envOverrides, KIMI_BASE_URL, apiKey, 'ANTHROPIC_API_KEY');
|
|
393
|
+
}
|
|
394
|
+
buildRedirectedClaudeArgs(params, envOverrides, baseUrl, apiKey, credentialEnv) {
|
|
395
|
+
const flags = this.invocationFlags();
|
|
291
396
|
const cwd = params.cwd || process.cwd();
|
|
292
397
|
const systemPrompt = `cwd: ${cwd}\n\n${params.agent}`;
|
|
293
398
|
const args = [
|
|
294
|
-
...
|
|
399
|
+
...flags,
|
|
295
400
|
'--output-format',
|
|
296
401
|
'stream-json',
|
|
297
402
|
'--verbose',
|
|
@@ -300,24 +405,26 @@ export class AgentExecutor {
|
|
|
300
405
|
'-p',
|
|
301
406
|
params.prompt,
|
|
302
407
|
];
|
|
408
|
+
const redirectedEnv = {
|
|
409
|
+
...envOverrides,
|
|
410
|
+
ANTHROPIC_BASE_URL: baseUrl,
|
|
411
|
+
ANTHROPIC_API_KEY: null,
|
|
412
|
+
ANTHROPIC_AUTH_TOKEN: null,
|
|
413
|
+
};
|
|
414
|
+
redirectedEnv[credentialEnv] = apiKey;
|
|
303
415
|
return {
|
|
304
416
|
command: 'claude',
|
|
305
417
|
args,
|
|
306
|
-
envOverrides:
|
|
307
|
-
...envOverrides,
|
|
308
|
-
ANTHROPIC_BASE_URL: GLM_BASE_URL,
|
|
309
|
-
ANTHROPIC_AUTH_TOKEN: apiKey,
|
|
310
|
-
ANTHROPIC_API_KEY: null,
|
|
311
|
-
},
|
|
418
|
+
envOverrides: redirectedEnv,
|
|
312
419
|
};
|
|
313
420
|
}
|
|
314
421
|
buildGeminiArgs(params, envOverrides) {
|
|
315
|
-
const
|
|
422
|
+
const flags = this.invocationFlags();
|
|
316
423
|
// --skip-trust is unconditional: headless runs in untrusted folders are
|
|
317
424
|
// refused without it (Gemini downgrades to interactive prompts which
|
|
318
425
|
// deadlock here since we have no stdin).
|
|
319
426
|
if (params.agentFilePath) {
|
|
320
|
-
const args = [...
|
|
427
|
+
const args = [...flags, '--skip-trust', '--output-format', 'stream-json', '-p', params.prompt];
|
|
321
428
|
return {
|
|
322
429
|
command: 'gemini',
|
|
323
430
|
args,
|
|
@@ -325,13 +432,13 @@ export class AgentExecutor {
|
|
|
325
432
|
};
|
|
326
433
|
}
|
|
327
434
|
const formattedPrompt = this.formatSystemUserPrompt(params);
|
|
328
|
-
const args = [...
|
|
435
|
+
const args = [...flags, '--skip-trust', '--output-format', 'stream-json', '-p', formattedPrompt];
|
|
329
436
|
return { command: 'gemini', args, envOverrides };
|
|
330
437
|
}
|
|
331
438
|
buildCursorArgs(params, envOverrides) {
|
|
332
|
-
const
|
|
439
|
+
const flags = this.invocationFlags();
|
|
333
440
|
const formattedPrompt = this.formatSystemUserPrompt(params);
|
|
334
|
-
const args = [...
|
|
441
|
+
const args = [...flags, '--output-format', 'json', '-p', formattedPrompt];
|
|
335
442
|
const env = { ...envOverrides };
|
|
336
443
|
if (this.config.cursorApiKey) {
|
|
337
444
|
env['CURSOR_API_KEY'] = this.config.cursorApiKey;
|
|
@@ -339,12 +446,12 @@ export class AgentExecutor {
|
|
|
339
446
|
return { command: 'cursor-agent', args, envOverrides: env };
|
|
340
447
|
}
|
|
341
448
|
buildGrokArgs(params, envOverrides) {
|
|
342
|
-
const
|
|
449
|
+
const flags = this.invocationFlags();
|
|
343
450
|
const cwd = params.cwd || process.cwd();
|
|
344
451
|
const formattedPrompt = this.formatSystemUserPrompt(params);
|
|
345
452
|
// Approval mode + sandbox live in PERMISSION_FLAGS.grok (via perm).
|
|
346
453
|
const args = [
|
|
347
|
-
...
|
|
454
|
+
...flags,
|
|
348
455
|
'--cwd',
|
|
349
456
|
cwd,
|
|
350
457
|
'--output-format',
|
|
@@ -355,6 +462,19 @@ export class AgentExecutor {
|
|
|
355
462
|
];
|
|
356
463
|
return { command: 'grok', args, envOverrides };
|
|
357
464
|
}
|
|
465
|
+
buildOpenCodeArgs(params, envOverrides) {
|
|
466
|
+
const flags = this.invocationFlags();
|
|
467
|
+
const formattedPrompt = this.formatSystemUserPrompt(params);
|
|
468
|
+
const args = [...flags, 'run', '--format', 'json', '--auto', formattedPrompt];
|
|
469
|
+
return {
|
|
470
|
+
command: 'opencode',
|
|
471
|
+
args,
|
|
472
|
+
envOverrides: {
|
|
473
|
+
...envOverrides,
|
|
474
|
+
OPENCODE_PERMISSION: JSON.stringify(OPENCODE_PERMISSION_MAPPING[this.config.permission]),
|
|
475
|
+
},
|
|
476
|
+
};
|
|
477
|
+
}
|
|
358
478
|
buildSpawnEnv(envOverrides) {
|
|
359
479
|
const spawnEnv = { ...process.env };
|
|
360
480
|
for (const [key, value] of Object.entries(envOverrides)) {
|
|
@@ -367,6 +487,53 @@ export class AgentExecutor {
|
|
|
367
487
|
}
|
|
368
488
|
return spawnEnv;
|
|
369
489
|
}
|
|
490
|
+
async prepareSpawnEnvironment(envOverrides) {
|
|
491
|
+
if (this.config.agentType !== 'opencode') {
|
|
492
|
+
return { env: this.buildSpawnEnv(envOverrides), cleanup: async () => { } };
|
|
493
|
+
}
|
|
494
|
+
const tempDir = await fs.promises.mkdtemp(path.join(os.tmpdir(), 'subagent-opencode-'));
|
|
495
|
+
const dataHome = path.join(tempDir, 'data');
|
|
496
|
+
const stateHome = path.join(tempDir, 'state');
|
|
497
|
+
const isolatedOpenCodeDir = path.join(dataHome, 'opencode');
|
|
498
|
+
try {
|
|
499
|
+
await fs.promises.mkdir(isolatedOpenCodeDir, { recursive: true });
|
|
500
|
+
await fs.promises.mkdir(stateHome, { recursive: true });
|
|
501
|
+
const defaultDataHome = process.env['XDG_DATA_HOME'] || path.join(os.homedir(), '.local', 'share');
|
|
502
|
+
const authSource = path.join(defaultDataHome, 'opencode', 'auth.json');
|
|
503
|
+
const authDestination = path.join(isolatedOpenCodeDir, 'auth.json');
|
|
504
|
+
try {
|
|
505
|
+
await fs.promises.copyFile(authSource, authDestination);
|
|
506
|
+
}
|
|
507
|
+
catch (error) {
|
|
508
|
+
const code = this.errorCode(error);
|
|
509
|
+
if (code !== 'ENOENT') {
|
|
510
|
+
this.logger.warn('Could not copy OpenCode authentication into isolated data home', {
|
|
511
|
+
error: error instanceof Error ? error.message : String(error),
|
|
512
|
+
});
|
|
513
|
+
}
|
|
514
|
+
}
|
|
515
|
+
return {
|
|
516
|
+
env: this.buildSpawnEnv({
|
|
517
|
+
...envOverrides,
|
|
518
|
+
XDG_DATA_HOME: dataHome,
|
|
519
|
+
XDG_STATE_HOME: stateHome,
|
|
520
|
+
}),
|
|
521
|
+
cleanup: async () => {
|
|
522
|
+
await fs.promises.rm(tempDir, { recursive: true, force: true });
|
|
523
|
+
},
|
|
524
|
+
};
|
|
525
|
+
}
|
|
526
|
+
catch (error) {
|
|
527
|
+
await fs.promises.rm(tempDir, { recursive: true, force: true }).catch(() => { });
|
|
528
|
+
throw error;
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
errorCode(error) {
|
|
532
|
+
if (typeof error !== 'object' || error === null || !('code' in error)) {
|
|
533
|
+
return undefined;
|
|
534
|
+
}
|
|
535
|
+
return typeof error.code === 'string' ? error.code : undefined;
|
|
536
|
+
}
|
|
370
537
|
/**
|
|
371
538
|
* Executes an agent using child_process.spawn for proper TTY handling.
|
|
372
539
|
*
|
|
@@ -375,101 +542,173 @@ export class AgentExecutor {
|
|
|
375
542
|
* @returns Promise resolving to execution result
|
|
376
543
|
*/
|
|
377
544
|
async executeWithSpawn(params) {
|
|
545
|
+
const { command, args, envOverrides } = this.buildCommandArgs(params);
|
|
546
|
+
const preparedEnvironment = await this.prepareSpawnEnvironment(envOverrides);
|
|
378
547
|
return new Promise((resolve) => {
|
|
379
|
-
// Build command, args, and env based on agent type with system prompt separation
|
|
380
|
-
const { command, args, envOverrides } = this.buildCommandArgs(params);
|
|
381
|
-
// Build environment variables for spawn
|
|
382
|
-
const spawnEnv = this.buildSpawnEnv(envOverrides);
|
|
383
548
|
this.logger.debug('Executing with spawn', {
|
|
384
549
|
command,
|
|
385
550
|
cwd: params.cwd || process.cwd(),
|
|
386
551
|
});
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
552
|
+
let childProcess;
|
|
553
|
+
try {
|
|
554
|
+
childProcess = spawn(command, args, {
|
|
555
|
+
cwd: params.cwd || process.cwd(),
|
|
556
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
557
|
+
shell: false,
|
|
558
|
+
env: preparedEnvironment.env,
|
|
559
|
+
});
|
|
560
|
+
}
|
|
561
|
+
catch (error) {
|
|
562
|
+
void preparedEnvironment.cleanup().finally(() => {
|
|
563
|
+
resolve({
|
|
564
|
+
stdout: '',
|
|
565
|
+
stderr: error instanceof Error ? error.message : String(error),
|
|
566
|
+
exitCode: this.errorCode(error) === 'ENOENT' ? 127 : 1,
|
|
567
|
+
hasResult: false,
|
|
568
|
+
});
|
|
569
|
+
});
|
|
570
|
+
return;
|
|
571
|
+
}
|
|
395
572
|
const streamProcessor = new StreamProcessor();
|
|
396
573
|
let stdout = '';
|
|
397
574
|
let stderr = '';
|
|
398
575
|
let stdoutBuffer = '';
|
|
399
|
-
|
|
576
|
+
const stdoutDecoder = new StringDecoder('utf8');
|
|
577
|
+
const stderrDecoder = new StringDecoder('utf8');
|
|
578
|
+
let stdoutTruncated = false;
|
|
579
|
+
let stderrTruncated = false;
|
|
580
|
+
let capturedBytes = 0;
|
|
581
|
+
let timedOut = false;
|
|
582
|
+
let outputExceeded = false;
|
|
583
|
+
let processError;
|
|
584
|
+
let settled = false;
|
|
585
|
+
let forceKillTimer;
|
|
400
586
|
const executionTimeout = setTimeout(() => {
|
|
587
|
+
timedOut = true;
|
|
401
588
|
this.logger.warn('Execution timeout reached', {
|
|
402
589
|
timeout: this.config.executionTimeout,
|
|
403
590
|
});
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
591
|
+
requestTermination();
|
|
592
|
+
}, this.config.executionTimeout);
|
|
593
|
+
const clearTimers = () => {
|
|
594
|
+
clearTimeout(executionTimeout);
|
|
595
|
+
if (forceKillTimer)
|
|
596
|
+
clearTimeout(forceKillTimer);
|
|
597
|
+
};
|
|
598
|
+
const finish = async (code, signal) => {
|
|
599
|
+
if (settled)
|
|
600
|
+
return;
|
|
601
|
+
settled = true;
|
|
602
|
+
clearTimers();
|
|
603
|
+
if (!stdoutTruncated) {
|
|
604
|
+
const tail = stdoutDecoder.end();
|
|
605
|
+
stdout += tail;
|
|
606
|
+
stdoutBuffer += tail;
|
|
607
|
+
}
|
|
608
|
+
if (!stderrTruncated) {
|
|
609
|
+
stderr += stderrDecoder.end();
|
|
610
|
+
}
|
|
611
|
+
if (stdoutBuffer.trim()) {
|
|
612
|
+
streamProcessor.processLine(stdoutBuffer);
|
|
613
|
+
stdoutBuffer = '';
|
|
614
|
+
}
|
|
615
|
+
let result = streamProcessor.getResult();
|
|
616
|
+
if (result === null) {
|
|
617
|
+
streamProcessor.processCompleteOutput(stdout);
|
|
618
|
+
result = streamProcessor.getResult();
|
|
619
|
+
}
|
|
620
|
+
let exitCode = code ?? (signal ? 128 + this.signalNumber(signal) : 1);
|
|
621
|
+
if (timedOut)
|
|
622
|
+
exitCode = 124;
|
|
623
|
+
if (outputExceeded || processError)
|
|
624
|
+
exitCode = this.errorCode(processError) === 'ENOENT' ? 127 : 1;
|
|
625
|
+
const errors = [];
|
|
626
|
+
if (stderr)
|
|
627
|
+
errors.push(stderr);
|
|
628
|
+
if (timedOut)
|
|
629
|
+
errors.push(`Execution timeout: ${this.config.executionTimeout}ms`);
|
|
630
|
+
if (outputExceeded) {
|
|
631
|
+
errors.push(`Sub-agent output exceeded ${this.config.maxOutputBytes} bytes`);
|
|
632
|
+
}
|
|
633
|
+
if (processError && !stderr)
|
|
634
|
+
errors.push(processError.message);
|
|
635
|
+
try {
|
|
636
|
+
await preparedEnvironment.cleanup();
|
|
637
|
+
}
|
|
638
|
+
catch (error) {
|
|
639
|
+
this.logger.warn('Failed to clean up per-run environment', {
|
|
640
|
+
error: error instanceof Error ? error.message : String(error),
|
|
641
|
+
});
|
|
642
|
+
}
|
|
407
643
|
resolve({
|
|
408
644
|
stdout: result ? JSON.stringify(result) : stdout,
|
|
409
|
-
stderr:
|
|
410
|
-
exitCode
|
|
645
|
+
stderr: errors.join('\n'),
|
|
646
|
+
exitCode,
|
|
411
647
|
hasResult: result !== null,
|
|
412
648
|
resultJson: result !== null ? result : undefined,
|
|
413
649
|
});
|
|
414
|
-
}
|
|
415
|
-
|
|
650
|
+
};
|
|
651
|
+
const requestTermination = () => {
|
|
652
|
+
childProcess.kill('SIGTERM');
|
|
653
|
+
if (forceKillTimer)
|
|
654
|
+
return;
|
|
655
|
+
forceKillTimer = setTimeout(() => {
|
|
656
|
+
childProcess.kill('SIGKILL');
|
|
657
|
+
}, TERMINATION_GRACE_MS);
|
|
658
|
+
};
|
|
659
|
+
const captureChunk = (data, decoder, markTruncated) => {
|
|
660
|
+
const remaining = this.config.maxOutputBytes - capturedBytes;
|
|
661
|
+
if (remaining <= 0) {
|
|
662
|
+
outputExceeded = true;
|
|
663
|
+
markTruncated();
|
|
664
|
+
requestTermination();
|
|
665
|
+
return '';
|
|
666
|
+
}
|
|
667
|
+
const captured = data.length <= remaining ? data : data.subarray(0, remaining);
|
|
668
|
+
capturedBytes += captured.length;
|
|
669
|
+
if (captured.length < data.length) {
|
|
670
|
+
outputExceeded = true;
|
|
671
|
+
markTruncated();
|
|
672
|
+
requestTermination();
|
|
673
|
+
}
|
|
674
|
+
return decoder.write(captured);
|
|
675
|
+
};
|
|
416
676
|
childProcess.stdout?.on('data', (data) => {
|
|
417
|
-
const chunk = data
|
|
677
|
+
const chunk = captureChunk(data, stdoutDecoder, () => {
|
|
678
|
+
stdoutTruncated = true;
|
|
679
|
+
});
|
|
418
680
|
stdout += chunk;
|
|
419
681
|
stdoutBuffer += chunk;
|
|
420
|
-
// Process complete lines
|
|
421
682
|
const lines = stdoutBuffer.split('\n');
|
|
422
|
-
stdoutBuffer = lines.pop() || '';
|
|
683
|
+
stdoutBuffer = lines.pop() || '';
|
|
423
684
|
for (const line of lines) {
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
if (isComplete) {
|
|
427
|
-
// Ensure stdout contains the complete JSON result
|
|
428
|
-
const completeResult = streamProcessor.getResult();
|
|
429
|
-
if (completeResult) {
|
|
430
|
-
stdout = JSON.stringify(completeResult);
|
|
431
|
-
}
|
|
432
|
-
// Processing complete, kill the process
|
|
433
|
-
childProcess.kill('SIGTERM');
|
|
685
|
+
if (streamProcessor.processLine(line)) {
|
|
686
|
+
requestTermination();
|
|
434
687
|
break;
|
|
435
688
|
}
|
|
436
689
|
}
|
|
437
690
|
});
|
|
438
|
-
// Handle stderr stream
|
|
439
691
|
childProcess.stderr?.on('data', (data) => {
|
|
440
|
-
stderr += data
|
|
441
|
-
|
|
442
|
-
childProcess.on('close', (code) => {
|
|
443
|
-
clearTimeout(executionTimeout);
|
|
444
|
-
// Get the final result JSON
|
|
445
|
-
let result = streamProcessor.getResult();
|
|
446
|
-
if (result === null) {
|
|
447
|
-
streamProcessor.processCompleteOutput(stdout);
|
|
448
|
-
result = streamProcessor.getResult();
|
|
449
|
-
}
|
|
450
|
-
resolve({
|
|
451
|
-
stdout: result ? JSON.stringify(result) : stdout,
|
|
452
|
-
stderr,
|
|
453
|
-
exitCode: code || 0,
|
|
454
|
-
hasResult: result !== null,
|
|
455
|
-
resultJson: result !== null ? result : undefined,
|
|
692
|
+
stderr += captureChunk(data, stderrDecoder, () => {
|
|
693
|
+
stderrTruncated = true;
|
|
456
694
|
});
|
|
457
695
|
});
|
|
458
|
-
|
|
696
|
+
childProcess.on('close', (code, signal) => {
|
|
697
|
+
void finish(code, signal);
|
|
698
|
+
});
|
|
459
699
|
childProcess.on('error', (error) => {
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
const result = streamProcessor.getResult();
|
|
463
|
-
resolve({
|
|
464
|
-
stdout: result ? JSON.stringify(result) : stdout,
|
|
465
|
-
stderr: stderr || error.message,
|
|
466
|
-
exitCode: 1,
|
|
467
|
-
hasResult: result !== null,
|
|
468
|
-
resultJson: result !== null ? result : undefined,
|
|
469
|
-
});
|
|
700
|
+
processError = error;
|
|
701
|
+
void finish(null);
|
|
470
702
|
});
|
|
471
703
|
});
|
|
472
704
|
}
|
|
705
|
+
signalNumber(signal) {
|
|
706
|
+
if (signal === 'SIGTERM')
|
|
707
|
+
return 15;
|
|
708
|
+
if (signal === 'SIGKILL')
|
|
709
|
+
return 9;
|
|
710
|
+
return 1;
|
|
711
|
+
}
|
|
473
712
|
/**
|
|
474
713
|
* Generates a unique request ID for tracking execution requests.
|
|
475
714
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentExecutor.js","sourceRoot":"","sources":["../../src/execution/AgentExecutor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AgentExecutor.js","sourceRoot":"","sources":["../../src/execution/AgentExecutor.ts"],"names":[],"mappings":"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"}
|