@nexus-cortex/executors 4.61.1 → 4.62.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.
@@ -64,8 +64,10 @@ export interface ShellToolParams {
64
64
  export declare class ShellTool extends BaseTool<ShellToolParams, ToolResult> {
65
65
  private config;
66
66
  private static readonly DEFAULT_TIMEOUT_MS;
67
+ private static readonly MAX_TIMEOUT_MS;
67
68
  private static readonly OUTPUT_UPDATE_INTERVAL_MS;
68
69
  private static readonly MAX_OUTPUT_LENGTH;
70
+ private static readonly PERSISTENT_POLL_INTERVAL_MS;
69
71
  private tmux;
70
72
  private persistence;
71
73
  constructor(config: ExecutorConfig);
@@ -87,9 +89,41 @@ export declare class ShellTool extends BaseTool<ShellToolParams, ToolResult> {
87
89
  * @private
88
90
  */
89
91
  private executeInPersistentSession;
92
+ /**
93
+ * Mirror of core ToolProfile.resolveToolProfile (env tier, resolved FRESH per
94
+ * call so it stays hot-toggleable like the core resolver). Deliberately NOT
95
+ * imported from @nexus-cortex/core: this file compiles in the executors
96
+ * Pass-1 build stage before core's dist exists, and the profile contract is
97
+ * tiny and stable (CORTEX_TOOL_PROFILE=full|lean|bash-only, unknown → full).
98
+ * @private
99
+ */
100
+ private resolveActiveToolProfile;
101
+ /**
102
+ * Are the redirect target tools (Read/Edit/Write/Grep/Glob) present on the
103
+ * active tool surface? Under bash-only they do NOT exist — redirecting to
104
+ * them wedges the model (canon defect 2026-08-13: bash-only graduates were
105
+ * told to use tools their profile hides). Under lean/full all five targets
106
+ * are essential-tier and therefore present.
107
+ * @private
108
+ */
109
+ private redirectTargetsAvailable;
110
+ /**
111
+ * Resolve the effective timeout: requested (or default), clamped to the max.
112
+ * @private
113
+ */
114
+ private resolveTimeoutMs;
90
115
  /**
91
116
  * Checks if a command should be routed to a dedicated tool instead of Bash.
92
117
  * Returns an error message with guidance if redirected, or null if allowed.
118
+ *
119
+ * Redirects fire ONLY where the dedicated tool is genuinely equivalent — the
120
+ * bare, flag-free forms (`cat FILE`, `grep pattern file`, literal
121
+ * `echo "text" > file`, plain `find -name`). Flagged, piped, redirected,
122
+ * multi-file, or variable-expanding invocations have no dedicated-tool
123
+ * equivalent (`cat -A`, `head -c 5`, `grep -c`, `echo $VAR > f`, `>>`
124
+ * append) and pass through. Canon defect 2026-08-13: the old flag-blind
125
+ * matcher blocked `cat -A probe.txt` and suggested the corrupt
126
+ * `Read({ file_path: "-A probe.txt" })`.
93
127
  * @private
94
128
  */
95
129
  private checkToolRedirect;
@@ -99,6 +133,21 @@ export declare class ShellTool extends BaseTool<ShellToolParams, ToolResult> {
99
133
  * @private
100
134
  */
101
135
  private executeInBackground;
136
+ /**
137
+ * Parse a tmux pane capture for the completion sentinel.
138
+ * The echoed command line contains `<sentinel>_%d` (literal printf format —
139
+ * no digits), so only the actual printf OUTPUT (`<sentinel>_<code>`) matches.
140
+ * Static + pure so it is unit-testable without tmux.
141
+ */
142
+ static parseSentinel(paneOutput: string, sentinel: string): {
143
+ done: boolean;
144
+ exitCode: number | null;
145
+ };
146
+ /**
147
+ * Remove sentinel artifacts (both the echoed command line and the printed
148
+ * completion marker) from captured pane output. Static + pure for tests.
149
+ */
150
+ static stripSentinelLines(paneOutput: string, sentinel: string): string;
102
151
  /**
103
152
  * Removes ANSI escape codes from string
104
153
  * @private
@@ -1 +1 @@
1
- {"version":3,"file":"ShellTool.d.ts","sourceRoot":"","sources":["../../../src/implementations/execution/ShellTool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAIhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,SAAU,SAAQ,QAAQ,CAAC,eAAe,EAAE,UAAU,CAAC;IAQtD,OAAO,CAAC,MAAM;IAP1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAQ;IACzD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAElD,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,WAAW,CAAqB;gBAEpB,MAAM,EAAE,cAAc;IAgC1C,kBAAkB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI;IA0D1D,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM;IAYzC,OAAO,CACX,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,WAAW,EACnB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GACtC,OAAO,CAAC,UAAU,CAAC;IAqDtB;;;OAGG;YACW,cAAc;IAsM5B;;;OAGG;YACW,WAAW;IA2BzB;;;OAGG;YACW,0BAA0B;IAmFxC;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAoCzB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IA2D3B;;;OAGG;IACH,OAAO,CAAC,SAAS;CAOlB"}
1
+ {"version":3,"file":"ShellTool.d.ts","sourceRoot":"","sources":["../../../src/implementations/execution/ShellTool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAIhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,SAAU,SAAQ,QAAQ,CAAC,eAAe,EAAE,UAAU,CAAC;IAUtD,OAAO,CAAC,MAAM;IAT1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAU;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAQ;IACzD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAClD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CAAO;IAE1D,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,WAAW,CAAqB;gBAEpB,MAAM,EAAE,cAAc;IAwD1C,kBAAkB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI;IA0D1D,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM;IAYzC,OAAO,CACX,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,WAAW,EACnB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GACtC,OAAO,CAAC,UAAU,CAAC;IAsDtB;;;OAGG;YACW,cAAc;IA6N5B;;;OAGG;YACW,WAAW;IA2BzB;;;OAGG;YACW,0BAA0B;IA2GxC;;;;;;;OAOG;IACH,OAAO,CAAC,wBAAwB;IAMhC;;;;;;;OAOG;IACH,OAAO,CAAC,wBAAwB;IAIhC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,iBAAiB;IA2GzB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IA2D3B;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAClB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;IAQ7C;;;OAGG;IACH,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAOvE;;;OAGG;IACH,OAAO,CAAC,SAAS;CAOlB"}
@@ -37,8 +37,10 @@ import { BackgroundProcessRegistry } from './BackgroundProcessRegistry.js';
37
37
  export class ShellTool extends BaseTool {
38
38
  config;
39
39
  static DEFAULT_TIMEOUT_MS = 120000; // 2 minutes
40
+ static MAX_TIMEOUT_MS = 600000; // 10 minutes — hard ceiling, requested timeouts are clamped
40
41
  static OUTPUT_UPDATE_INTERVAL_MS = 1000; // 1 second
41
42
  static MAX_OUTPUT_LENGTH = 30000; // ~30KB max to prevent context overflow
43
+ static PERSISTENT_POLL_INTERVAL_MS = 400; // sentinel poll cadence for tmux sessions
42
44
  tmux;
43
45
  persistence;
44
46
  constructor(config) {
@@ -55,7 +57,27 @@ export class ShellTool extends BaseTool {
55
57
  },
56
58
  timeout: {
57
59
  type: 'number',
58
- description: 'Optional: Timeout in milliseconds (default: 120000ms = 2 minutes).',
60
+ description: 'Optional: Timeout in milliseconds (default: 120000ms = 2 minutes, max: 600000ms = 10 minutes).',
61
+ },
62
+ description: {
63
+ type: 'string',
64
+ description: 'Optional: Clear description of what this command does.',
65
+ },
66
+ run_in_background: {
67
+ type: 'boolean',
68
+ description: 'Optional: Run command in background and return immediately with a bash_id. Use BashOutput to poll output, KillShell to stop.',
69
+ },
70
+ persistentSession: {
71
+ type: 'boolean',
72
+ description: 'Optional: Run command in a persistent tmux session (state, cwd, and env persist across calls). Requires tmux.',
73
+ },
74
+ sessionId: {
75
+ type: 'string',
76
+ description: 'Optional: ID of the persistent session to use or create (auto-generated if not provided). Only used when persistentSession=true.',
77
+ },
78
+ captureHistory: {
79
+ type: 'boolean',
80
+ description: 'Optional: Capture entire scrollback history for persistent sessions (default: false).',
59
81
  },
60
82
  },
61
83
  required: ['command'],
@@ -157,6 +179,7 @@ export class ShellTool extends BaseTool {
157
179
  backgroundPIDs: result.backgroundPIDs,
158
180
  processGroupPGID: result.pgid,
159
181
  truncated: result.truncated,
182
+ timedOut: result.timedOut,
160
183
  });
161
184
  }
162
185
  catch (error) {
@@ -172,7 +195,7 @@ export class ShellTool extends BaseTool {
172
195
  */
173
196
  async executeCommand(params, signal, updateOutput) {
174
197
  const isWindows = os.platform() === 'win32';
175
- const timeout = params.timeout || ShellTool.DEFAULT_TIMEOUT_MS;
198
+ const timeout = this.resolveTimeoutMs(params);
176
199
  // Create temp file for background PID detection (Unix only)
177
200
  const tempFileName = `shell_pgrep_${crypto.randomBytes(6).toString('hex')}.tmp`;
178
201
  const tempFilePath = path.join(os.tmpdir(), tempFileName);
@@ -252,8 +275,10 @@ export class ShellTool extends BaseTool {
252
275
  };
253
276
  signal.addEventListener('abort', abortHandler);
254
277
  // Timeout handler
278
+ let timedOut = false;
255
279
  const timeoutId = setTimeout(async () => {
256
280
  if (!exited && shell.pid) {
281
+ timedOut = true;
257
282
  await this.killProcess(shell.pid, isWindows);
258
283
  }
259
284
  }, timeout);
@@ -312,24 +337,43 @@ export class ShellTool extends BaseTool {
312
337
  llmContent += ' No output was produced before cancellation.';
313
338
  }
314
339
  }
340
+ else if (timedOut) {
341
+ // Timeout: explicit, actionable message (was: opaque "exit code null")
342
+ llmContent = `Command timed out after ${timeout}ms and was killed.`;
343
+ if (output.trim()) {
344
+ llmContent += `\n\nOutput before timeout:\n${truncateIfNeeded(output)}`;
345
+ }
346
+ else {
347
+ llmContent += ' No output was produced before the timeout.';
348
+ }
349
+ llmContent += `\n\nFor long-running commands, set run_in_background: true and poll with BashOutput, or raise timeout (max ${ShellTool.MAX_TIMEOUT_MS}ms).`;
350
+ }
315
351
  else {
316
352
  // Concise output format
317
353
  if (exitCode === 0) {
318
- // Success: Just show stdout if present, otherwise confirmation
354
+ // Success: stdout, plus labeled stderr when present (warnings matter —
355
+ // deprecations, npm/compiler warnings surface on stderr with exit 0)
319
356
  llmContent = truncateIfNeeded(stdout) || '(command completed successfully)';
357
+ if (stderr.trim()) {
358
+ llmContent += `\nStderr: ${truncateIfNeeded(stderr)}`;
359
+ }
320
360
  }
321
361
  else {
322
- // Failure: Show error and stderr
362
+ // Failure: show stdout too (test runners and build tools print the
363
+ // failure detail to stdout), then error/stderr, then the exit code
323
364
  const parts = [];
365
+ if (stdout.trim()) {
366
+ parts.push(truncateIfNeeded(stdout));
367
+ }
324
368
  if (errorMessage) {
325
369
  parts.push(`Error: ${errorMessage}`);
326
370
  }
327
- if (stderr) {
371
+ if (stderr.trim()) {
328
372
  parts.push(`Stderr: ${truncateIfNeeded(stderr)}`);
329
373
  }
330
- if (parts.length === 0) {
331
- parts.push(`Command failed with exit code ${exitCode}`);
332
- }
374
+ parts.push(processSignal
375
+ ? `Command failed with exit code ${exitCode} (signal: ${processSignal})`
376
+ : `Command failed with exit code ${exitCode}`);
333
377
  llmContent = parts.join('\n');
334
378
  }
335
379
  }
@@ -340,6 +384,7 @@ export class ShellTool extends BaseTool {
340
384
  backgroundPIDs,
341
385
  pgid: shell.pid ?? null,
342
386
  truncated,
387
+ timedOut,
343
388
  };
344
389
  }
345
390
  /**
@@ -417,18 +462,38 @@ export class ShellTool extends BaseTool {
417
462
  // Touch existing session
418
463
  await this.persistence.touchSession(sessionId);
419
464
  }
420
- // Send command to session
465
+ // Send command to session with a completion sentinel appended so we can
466
+ // detect ACTUAL completion + exit code instead of the old fixed 5s sleep
467
+ // (which silently returned mid-run for any command longer than 5s).
468
+ // The `\$?` keeps the host shell (execAsync in sendKeys wraps the keys in
469
+ // double quotes) from expanding $? — the session shell must expand it.
421
470
  updateOutput?.(`Sending command: ${params.command}\n`);
422
- await this.tmux.sendKeys(sessionId, params.command);
423
- // Wait for command to complete (simple delay-based approach)
424
- const timeout = params.timeout || ShellTool.DEFAULT_TIMEOUT_MS;
425
- await new Promise((resolve) => setTimeout(resolve, Math.min(timeout, 5000)));
426
- // Capture output
427
- updateOutput?.(`Capturing output...\n`);
471
+ const sentinel = `__CORTEX_DONE_${crypto.randomBytes(4).toString('hex')}`;
472
+ await this.tmux.sendKeys(sessionId, `${params.command}; printf '${sentinel}_%d\\n' \\$?`);
473
+ // Poll pane until the sentinel appears or the timeout elapses
474
+ const timeout = this.resolveTimeoutMs(params);
475
+ const deadline = Date.now() + timeout;
428
476
  const startLine = params.captureHistory ? -3000 : undefined;
429
- const output = await this.tmux.capturePane(sessionId, startLine);
430
- const result = `Command executed in persistent tmux session '${sessionId}'.\n\n` +
431
- `Output:\n${'='.repeat(60)}\n${output}\n${'='.repeat(60)}\n\n` +
477
+ let output = '';
478
+ let completed = false;
479
+ let sessionExitCode = null;
480
+ while (Date.now() < deadline && !signal.aborted) {
481
+ await new Promise((resolve) => setTimeout(resolve, ShellTool.PERSISTENT_POLL_INTERVAL_MS));
482
+ output = await this.tmux.capturePane(sessionId, startLine);
483
+ const parsed = ShellTool.parseSentinel(output, sentinel);
484
+ if (parsed.done) {
485
+ completed = true;
486
+ sessionExitCode = parsed.exitCode;
487
+ break;
488
+ }
489
+ }
490
+ const cleanedOutput = ShellTool.stripSentinelLines(output, sentinel);
491
+ const statusLine = completed
492
+ ? `Command completed with exit code ${sessionExitCode}.`
493
+ : `Command did NOT complete within ${timeout}ms — it may still be running in the session. ` +
494
+ `Re-check with persistentSession=true, sessionId='${sessionId}' (e.g. run \`true\` to recapture the pane).`;
495
+ const result = `Command executed in persistent tmux session '${sessionId}'. ${statusLine}\n\n` +
496
+ `Output:\n${'='.repeat(60)}\n${cleanedOutput}\n${'='.repeat(60)}\n\n` +
432
497
  `Session persists after this command completes. You can:\n` +
433
498
  `- Send more commands: persistentSession=true, sessionId='${sessionId}'\n` +
434
499
  `- Inspect session: TmuxSession tool with action='capture', sessionId='${sessionId}'\n` +
@@ -437,7 +502,9 @@ export class ShellTool extends BaseTool {
437
502
  executionTime: Date.now() - startTime,
438
503
  sessionId,
439
504
  persistent: true,
440
- sessionCwd: cwd
505
+ sessionCwd: cwd,
506
+ exitCode: sessionExitCode,
507
+ completed
441
508
  });
442
509
  }
443
510
  catch (error) {
@@ -447,37 +514,133 @@ export class ShellTool extends BaseTool {
447
514
  return this.createErrorResult(`Failed to execute in persistent session: ${error.message}`);
448
515
  }
449
516
  }
517
+ /**
518
+ * Mirror of core ToolProfile.resolveToolProfile (env tier, resolved FRESH per
519
+ * call so it stays hot-toggleable like the core resolver). Deliberately NOT
520
+ * imported from @nexus-cortex/core: this file compiles in the executors
521
+ * Pass-1 build stage before core's dist exists, and the profile contract is
522
+ * tiny and stable (CORTEX_TOOL_PROFILE=full|lean|bash-only, unknown → full).
523
+ * @private
524
+ */
525
+ resolveActiveToolProfile() {
526
+ const raw = (process.env.CORTEX_TOOL_PROFILE ?? 'full').trim().toLowerCase();
527
+ if (raw === 'lean' || raw === 'bash-only')
528
+ return raw;
529
+ return 'full';
530
+ }
531
+ /**
532
+ * Are the redirect target tools (Read/Edit/Write/Grep/Glob) present on the
533
+ * active tool surface? Under bash-only they do NOT exist — redirecting to
534
+ * them wedges the model (canon defect 2026-08-13: bash-only graduates were
535
+ * told to use tools their profile hides). Under lean/full all five targets
536
+ * are essential-tier and therefore present.
537
+ * @private
538
+ */
539
+ redirectTargetsAvailable() {
540
+ return this.resolveActiveToolProfile() !== 'bash-only';
541
+ }
542
+ /**
543
+ * Resolve the effective timeout: requested (or default), clamped to the max.
544
+ * @private
545
+ */
546
+ resolveTimeoutMs(params) {
547
+ return Math.min(params.timeout || ShellTool.DEFAULT_TIMEOUT_MS, ShellTool.MAX_TIMEOUT_MS);
548
+ }
450
549
  /**
451
550
  * Checks if a command should be routed to a dedicated tool instead of Bash.
452
551
  * Returns an error message with guidance if redirected, or null if allowed.
552
+ *
553
+ * Redirects fire ONLY where the dedicated tool is genuinely equivalent — the
554
+ * bare, flag-free forms (`cat FILE`, `grep pattern file`, literal
555
+ * `echo "text" > file`, plain `find -name`). Flagged, piped, redirected,
556
+ * multi-file, or variable-expanding invocations have no dedicated-tool
557
+ * equivalent (`cat -A`, `head -c 5`, `grep -c`, `echo $VAR > f`, `>>`
558
+ * append) and pass through. Canon defect 2026-08-13: the old flag-blind
559
+ * matcher blocked `cat -A probe.txt` and suggested the corrupt
560
+ * `Read({ file_path: "-A probe.txt" })`.
453
561
  * @private
454
562
  */
455
563
  checkToolRedirect(command) {
564
+ // Profile gate: never redirect to tools the active profile hides.
565
+ if (!this.redirectTargetsAvailable()) {
566
+ return null;
567
+ }
456
568
  const trimmed = command.trim();
457
- // File reading: cat, head, tail Read tool
458
- if (/^(cat|head|tail)\s+/.test(trimmed) && !trimmed.includes('|') && !trimmed.includes('>')) {
459
- return `Use the Read tool instead of \`${trimmed.split(/\s+/)[0]}\` for reading files. ` +
460
- `Example: Read({ file_path: "${trimmed.split(/\s+/).slice(1).join(' ').replace(/["']/g, '')}" })`;
569
+ // Any shell operator means composition Bash exists for — let it through.
570
+ const hasOperators = /[|;&<>`]/.test(trimmed);
571
+ const tokens = trimmed.split(/\s+/);
572
+ const cmd = tokens[0] ?? '';
573
+ const args = tokens.slice(1);
574
+ const flags = args.filter((a) => a.startsWith('-'));
575
+ const positional = args.filter((a) => !a.startsWith('-'));
576
+ const stripQuotes = (s) => s.replace(/^["']|["']$/g, '');
577
+ // File reading: bare single-file cat/head/tail → Read tool.
578
+ if ((cmd === 'cat' || cmd === 'head' || cmd === 'tail') &&
579
+ !hasOperators &&
580
+ flags.length === 0 &&
581
+ positional.length === 1) {
582
+ return (`Use the Read tool instead of \`${cmd}\` for reading files. ` +
583
+ `Example: Read({ file_path: ${JSON.stringify(stripQuotes(positional[0] ?? ''))} })`);
461
584
  }
462
- // File editing: sed -i, awk -i → Edit tool
585
+ // File editing: sed -i / perl -i in-place edits → Edit tool.
463
586
  if (/^sed\s+(-i|--in-place)\b/.test(trimmed) || /^perl\s+-[pn]?i\b/.test(trimmed)) {
464
- return `Use the Edit tool instead of \`${trimmed.split(/\s+/)[0]}\` for editing files. ` +
465
- `Read the file first, then use Edit({ file_path, old_string, new_string }).`;
587
+ return (`Use the Edit tool instead of \`${cmd}\` for editing files. ` +
588
+ `Read the file first, then use Edit({ file_path, old_string, new_string }).`);
466
589
  }
467
- // File writing: echo > file, cat > file, tee file → Write tool
468
- if (/^(echo|printf|cat)\s+.*\s+>\s+\S/.test(trimmed) || /^tee\s+\S/.test(trimmed)) {
469
- return `Use the Write tool instead of shell redirection for creating/writing files. ` +
470
- `Example: Write({ file_path: "path", content: "content" })`;
590
+ // File writing: LITERAL echo/printf > file → Write tool. Variable
591
+ // expansion ($VAR — shell-state capture), append (>>), and command
592
+ // composition have no Write equivalent and pass through.
593
+ const writeMatch = trimmed.match(/^(?:echo|printf)\s+([^>]*)>\s*(\S+)\s*$/);
594
+ const writeContent = writeMatch?.[1] ?? '';
595
+ const writeTarget = writeMatch?.[2] ?? '';
596
+ if (writeMatch &&
597
+ !trimmed.includes('>>') &&
598
+ !writeContent.includes('$') &&
599
+ !/[|;&`]/.test(writeContent)) {
600
+ return (`Use the Write tool instead of shell redirection for creating/writing files. ` +
601
+ `Example: Write({ file_path: ${JSON.stringify(stripQuotes(writeTarget))}, content: "..." })`);
471
602
  }
472
- // File searching: grep, rg, ag → Grep tool
473
- if (/^(grep|rg|ag|ack)\s+/.test(trimmed) && !trimmed.includes('|')) {
474
- return `Use the Grep tool instead of \`${trimmed.split(/\s+/)[0]}\` for searching file contents. ` +
475
- `Example: Grep({ pattern: "search term", path: "directory" })`;
603
+ // File searching: bare flag-free grep/rg/ag/ack → Grep tool.
604
+ if ((cmd === 'grep' || cmd === 'rg' || cmd === 'ag' || cmd === 'ack') &&
605
+ !hasOperators &&
606
+ flags.length === 0 &&
607
+ positional.length >= 1 &&
608
+ positional.length <= 2) {
609
+ const grepPath = positional[1];
610
+ const pathArg = grepPath
611
+ ? `, path: ${JSON.stringify(stripQuotes(grepPath))}`
612
+ : '';
613
+ return (`Use the Grep tool instead of \`${cmd}\` for searching file contents. ` +
614
+ `Example: Grep({ pattern: ${JSON.stringify(stripQuotes(positional[0] ?? ''))}${pathArg} })`);
476
615
  }
477
- // File finding: find → Glob tool
478
- if (/^find\s+/.test(trimmed) && /-name\b/.test(trimmed)) {
479
- return `Use the Glob tool instead of \`find\` for finding files. ` +
480
- `Example: Glob({ pattern: "**/*.ts", path: "directory" })`;
616
+ // File finding: PLAIN find -name (optional path + -type) → Glob tool.
617
+ // Any other predicate/action (-exec, -delete, -mtime, …) passes through.
618
+ if (cmd === 'find' && !hasOperators && args.includes('-name')) {
619
+ const allowedPredicates = new Set(['-name', '-iname', '-type']);
620
+ let simple = true;
621
+ let pattern;
622
+ for (let i = 0; i < args.length; i++) {
623
+ const a = args[i] ?? '';
624
+ if (a.startsWith('-')) {
625
+ if (!allowedPredicates.has(a)) {
626
+ simple = false;
627
+ break;
628
+ }
629
+ const value = args[++i];
630
+ if ((a === '-name' || a === '-iname') && value !== undefined) {
631
+ pattern = stripQuotes(value);
632
+ }
633
+ }
634
+ else if (i !== 0) {
635
+ // Only a single leading path operand keeps it Glob-equivalent.
636
+ simple = false;
637
+ break;
638
+ }
639
+ }
640
+ if (simple && pattern) {
641
+ return (`Use the Glob tool instead of \`find\` for finding files. ` +
642
+ `Example: Glob({ pattern: ${JSON.stringify(pattern)} })`);
643
+ }
481
644
  }
482
645
  return null;
483
646
  }
@@ -534,6 +697,29 @@ export class ShellTool extends BaseTool {
534
697
  return this.createErrorResult(`Failed to start background process: ${error.message}`);
535
698
  }
536
699
  }
700
+ /**
701
+ * Parse a tmux pane capture for the completion sentinel.
702
+ * The echoed command line contains `<sentinel>_%d` (literal printf format —
703
+ * no digits), so only the actual printf OUTPUT (`<sentinel>_<code>`) matches.
704
+ * Static + pure so it is unit-testable without tmux.
705
+ */
706
+ static parseSentinel(paneOutput, sentinel) {
707
+ const match = paneOutput.match(new RegExp(`${sentinel}_(\\d+)`));
708
+ if (!match) {
709
+ return { done: false, exitCode: null };
710
+ }
711
+ return { done: true, exitCode: Number(match[1]) };
712
+ }
713
+ /**
714
+ * Remove sentinel artifacts (both the echoed command line and the printed
715
+ * completion marker) from captured pane output. Static + pure for tests.
716
+ */
717
+ static stripSentinelLines(paneOutput, sentinel) {
718
+ return paneOutput
719
+ .split('\n')
720
+ .filter((line) => !line.includes(sentinel))
721
+ .join('\n');
722
+ }
537
723
  /**
538
724
  * Removes ANSI escape codes from string
539
725
  * @private
@@ -1 +1 @@
1
- {"version":3,"file":"ShellTool.js","sourceRoot":"","sources":["../../../src/implementations/execution/ShellTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ShellTool.js","sourceRoot":"","sources":["../../../src/implementations/execution/ShellTool.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nexus-cortex/executors",
3
- "version": "4.61.1",
3
+ "version": "4.62.0",
4
4
  "description": "Tool execution layer for Nexus Cortex",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -30,8 +30,8 @@
30
30
  "dependencies": {
31
31
  "@google/genai": "^1.27.0",
32
32
  "@modelcontextprotocol/sdk": "^1.20.2",
33
- "@nexus-cortex/core": "4.61.1",
34
- "@nexus-cortex/types": "4.61.1",
33
+ "@nexus-cortex/core": "4.62.0",
34
+ "@nexus-cortex/types": "4.62.0",
35
35
  "@types/diff": "^7.0.2",
36
36
  "ajv": "^8.12.0",
37
37
  "diff": "^8.0.2",