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.
@@ -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 = ['cursor', 'claude', 'gemini', 'codex', 'glm', 'grok'];
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: uses the claude binary, but intentionally avoids Claude settings.
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 perm = this.permissionFlags();
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 = [...perm, 'exec', '--json', '--skip-git-repo-check', formattedPrompt];
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 perm = this.permissionFlags();
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
- ...perm,
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
- const perm = this.permissionFlags();
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
- ...perm,
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 perm = this.permissionFlags();
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 = [...perm, '--skip-trust', '--output-format', 'stream-json', '-p', params.prompt];
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 = [...perm, '--skip-trust', '--output-format', 'stream-json', '-p', formattedPrompt];
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 perm = this.permissionFlags();
439
+ const flags = this.invocationFlags();
333
440
  const formattedPrompt = this.formatSystemUserPrompt(params);
334
- const args = [...perm, '--output-format', 'json', '-p', formattedPrompt];
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 perm = this.permissionFlags();
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
- ...perm,
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
- // Spawn process
388
- const childProcess = spawn(command, args, {
389
- cwd: params.cwd || process.cwd(),
390
- stdio: ['ignore', 'pipe', 'pipe'], // stdin set to 'ignore' as cursor-agent receives prompt via args
391
- shell: false,
392
- env: spawnEnv,
393
- });
394
- // Initialize stream processor and buffers
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
- // No need to handle stdin as it's set to 'ignore'
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
- childProcess.kill('SIGTERM');
405
- // Get any result collected so far
406
- const result = streamProcessor.getResult();
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: stderr || `Execution timeout: ${this.config.executionTimeout}ms`,
410
- exitCode: 124, // Standard timeout exit code
645
+ stderr: errors.join('\n'),
646
+ exitCode,
411
647
  hasResult: result !== null,
412
648
  resultJson: result !== null ? result : undefined,
413
649
  });
414
- }, this.config.executionTimeout);
415
- // Handle stdout stream with simplified processing
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.toString();
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() || ''; // Keep incomplete line in buffer
683
+ stdoutBuffer = lines.pop() || '';
423
684
  for (const line of lines) {
424
- // Process line returns true when final JSON is detected
425
- const isComplete = streamProcessor.processLine(line);
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.toString();
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
- // Handle process errors
696
+ childProcess.on('close', (code, signal) => {
697
+ void finish(code, signal);
698
+ });
459
699
  childProcess.on('error', (error) => {
460
- clearTimeout(executionTimeout);
461
- // Get any result collected before error
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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"}