@trenchwork/coder 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/dist/contracts/v1/agent.d.ts +2 -0
  2. package/dist/contracts/v1/agent.d.ts.map +1 -1
  3. package/dist/core/agent.d.ts.map +1 -1
  4. package/dist/core/agent.js +77 -2
  5. package/dist/core/agent.js.map +1 -1
  6. package/dist/core/contextManager.d.ts +10 -137
  7. package/dist/core/contextManager.d.ts.map +1 -1
  8. package/dist/core/contextManager.js +74 -540
  9. package/dist/core/contextManager.js.map +1 -1
  10. package/dist/core/errorClassification.d.ts.map +1 -1
  11. package/dist/core/errorClassification.js +8 -0
  12. package/dist/core/errorClassification.js.map +1 -1
  13. package/dist/core/hooks.d.ts.map +1 -1
  14. package/dist/core/hooks.js +42 -19
  15. package/dist/core/hooks.js.map +1 -1
  16. package/dist/core/keyResolution.d.ts +30 -0
  17. package/dist/core/keyResolution.d.ts.map +1 -0
  18. package/dist/core/keyResolution.js +38 -0
  19. package/dist/core/keyResolution.js.map +1 -0
  20. package/dist/core/permissionMode.d.ts +17 -2
  21. package/dist/core/permissionMode.d.ts.map +1 -1
  22. package/dist/core/permissionMode.js +20 -7
  23. package/dist/core/permissionMode.js.map +1 -1
  24. package/dist/core/reasoningFallback.d.ts +22 -0
  25. package/dist/core/reasoningFallback.d.ts.map +1 -0
  26. package/dist/core/reasoningFallback.js +22 -0
  27. package/dist/core/reasoningFallback.js.map +1 -0
  28. package/dist/core/sessionStore.js +34 -8
  29. package/dist/core/sessionStore.js.map +1 -1
  30. package/dist/core/slashCommands.d.ts.map +1 -1
  31. package/dist/core/slashCommands.js +0 -3
  32. package/dist/core/slashCommands.js.map +1 -1
  33. package/dist/core/taskCompletionDetector.d.ts.map +1 -1
  34. package/dist/core/taskCompletionDetector.js +10 -3
  35. package/dist/core/taskCompletionDetector.js.map +1 -1
  36. package/dist/core/toolRuntime.d.ts +1 -0
  37. package/dist/core/toolRuntime.d.ts.map +1 -1
  38. package/dist/core/toolRuntime.js +21 -2
  39. package/dist/core/toolRuntime.js.map +1 -1
  40. package/dist/core/turnTokenMeter.d.ts +19 -0
  41. package/dist/core/turnTokenMeter.d.ts.map +1 -0
  42. package/dist/core/turnTokenMeter.js +36 -0
  43. package/dist/core/turnTokenMeter.js.map +1 -0
  44. package/dist/headless/interactiveShell.d.ts +3 -3
  45. package/dist/headless/interactiveShell.d.ts.map +1 -1
  46. package/dist/headless/interactiveShell.js +68 -115
  47. package/dist/headless/interactiveShell.js.map +1 -1
  48. package/dist/plugins/providers/deepseek/index.js +4 -6
  49. package/dist/plugins/providers/deepseek/index.js.map +1 -1
  50. package/dist/providers/openaiChatCompletionsProvider.d.ts.map +1 -1
  51. package/dist/providers/openaiChatCompletionsProvider.js +33 -26
  52. package/dist/providers/openaiChatCompletionsProvider.js.map +1 -1
  53. package/dist/runtime/agentController.d.ts.map +1 -1
  54. package/dist/runtime/agentController.js +16 -7
  55. package/dist/runtime/agentController.js.map +1 -1
  56. package/dist/runtime/agentSession.d.ts.map +1 -1
  57. package/dist/runtime/agentSession.js +10 -3
  58. package/dist/runtime/agentSession.js.map +1 -1
  59. package/dist/tools/bashTools.d.ts +63 -0
  60. package/dist/tools/bashTools.d.ts.map +1 -1
  61. package/dist/tools/bashTools.js +186 -77
  62. package/dist/tools/bashTools.js.map +1 -1
  63. package/dist/tools/grepTools.d.ts.map +1 -1
  64. package/dist/tools/grepTools.js +41 -23
  65. package/dist/tools/grepTools.js.map +1 -1
  66. package/dist/tools/searchTools.d.ts.map +1 -1
  67. package/dist/tools/searchTools.js +18 -8
  68. package/dist/tools/searchTools.js.map +1 -1
  69. package/dist/tools/webTools.d.ts.map +1 -1
  70. package/dist/tools/webTools.js +10 -2
  71. package/dist/tools/webTools.js.map +1 -1
  72. package/dist/ui/ink/App.d.ts +6 -1
  73. package/dist/ui/ink/App.d.ts.map +1 -1
  74. package/dist/ui/ink/App.js +20 -2
  75. package/dist/ui/ink/App.js.map +1 -1
  76. package/dist/ui/ink/ChatStatic.d.ts.map +1 -1
  77. package/dist/ui/ink/ChatStatic.js +9 -2
  78. package/dist/ui/ink/ChatStatic.js.map +1 -1
  79. package/dist/ui/ink/InkPromptController.d.ts +8 -8
  80. package/dist/ui/ink/InkPromptController.d.ts.map +1 -1
  81. package/dist/ui/ink/InkPromptController.js +19 -11
  82. package/dist/ui/ink/InkPromptController.js.map +1 -1
  83. package/dist/ui/ink/StatusLine.d.ts +6 -7
  84. package/dist/ui/ink/StatusLine.d.ts.map +1 -1
  85. package/dist/ui/ink/StatusLine.js +9 -9
  86. package/dist/ui/ink/StatusLine.js.map +1 -1
  87. package/dist/ui/ink/markdownRender.d.ts +2 -0
  88. package/dist/ui/ink/markdownRender.d.ts.map +1 -0
  89. package/dist/ui/ink/markdownRender.js +76 -0
  90. package/dist/ui/ink/markdownRender.js.map +1 -0
  91. package/package.json +2 -1
  92. package/dist/core/hostedAuth.d.ts +0 -88
  93. package/dist/core/hostedAuth.d.ts.map +0 -1
  94. package/dist/core/hostedAuth.js +0 -219
  95. package/dist/core/hostedAuth.js.map +0 -1
@@ -10,6 +10,7 @@ import { createErrorFixer } from '../core/aiErrorFixer.js';
10
10
  import { logDebug } from '../utils/debugLogger.js';
11
11
  import { createTestMonitor } from '../core/testFailureMonitor.js';
12
12
  import { getSudoPassword, invalidateSudoPassword } from '../core/sudoPasswordManager.js';
13
+ import { onShutdown } from '../core/shutdown.js';
13
14
  // ANSI color codes for enhanced output
14
15
  const ANSI_RESET = '\x1b[0m';
15
16
  const ANSI_RED = '\x1b[31m';
@@ -25,21 +26,30 @@ const ANSI_YELLOW_BOLD = '\x1b[1;33m';
25
26
  // ============================================================================
26
27
  // Background Shell Manager (consolidated from backgroundBashTools.ts)
27
28
  // ============================================================================
28
- class BackgroundShell {
29
+ export class BackgroundShell {
29
30
  id;
30
31
  command;
31
32
  workingDir;
33
+ killEscalationMs;
34
+ static MAX_BUFFER = 1_000_000; // ~1MB retained per stream
32
35
  process;
33
- outputBuffer = [];
34
- errorBuffer = [];
35
- lastReadPosition = 0;
36
- lastErrorReadPosition = 0;
36
+ // Rolling buffers capped at MAX_BUFFER. `*Dropped` counts bytes evicted from
37
+ // the front (so absolute offsets survive eviction); `*Read` is the absolute
38
+ // offset already returned by a poll. This bounds memory and makes each poll a
39
+ // single bounded slice instead of an O(n) re-join of an ever-growing array.
40
+ stdoutBuf = '';
41
+ stderrBuf = '';
42
+ stdoutDropped = 0;
43
+ stderrDropped = 0;
44
+ stdoutRead = 0;
45
+ stderrRead = 0;
37
46
  isRunning = false;
38
47
  exitCode;
39
- constructor(id, command, workingDir) {
48
+ constructor(id, command, workingDir, killEscalationMs = 5000) {
40
49
  this.id = id;
41
50
  this.command = command;
42
51
  this.workingDir = workingDir;
52
+ this.killEscalationMs = killEscalationMs;
43
53
  }
44
54
  start() {
45
55
  this.process = spawn('bash', ['-c', this.command], {
@@ -48,30 +58,52 @@ class BackgroundShell {
48
58
  });
49
59
  this.isRunning = true;
50
60
  this.process.stdout?.on('data', (data) => {
51
- this.outputBuffer.push(data.toString());
61
+ [this.stdoutBuf, this.stdoutDropped] = this.appendCapped(this.stdoutBuf, this.stdoutDropped, data.toString());
52
62
  });
53
63
  this.process.stderr?.on('data', (data) => {
54
- this.errorBuffer.push(data.toString());
64
+ [this.stderrBuf, this.stderrDropped] = this.appendCapped(this.stderrBuf, this.stderrDropped, data.toString());
55
65
  });
56
66
  this.process.on('exit', (code) => {
57
67
  this.exitCode = code ?? 0;
58
68
  this.isRunning = false;
59
69
  });
60
70
  }
71
+ /** Append a chunk, evicting the oldest bytes past MAX_BUFFER. Returns the new
72
+ * [buffer, totalDroppedBytes]. */
73
+ appendCapped(buf, dropped, chunk) {
74
+ buf += chunk;
75
+ if (buf.length > BackgroundShell.MAX_BUFFER) {
76
+ let drop = buf.length - BackgroundShell.MAX_BUFFER;
77
+ // Don't start the retained buffer on a lone low surrogate — that would
78
+ // emit a replacement char. Drop one more code unit to land on a boundary.
79
+ const lead = buf.charCodeAt(drop);
80
+ if (lead >= 0xdc00 && lead <= 0xdfff)
81
+ drop += 1;
82
+ buf = buf.slice(drop);
83
+ dropped += drop;
84
+ }
85
+ return [buf, dropped];
86
+ }
87
+ takeNew(buf, dropped, read) {
88
+ const endAbs = dropped + buf.length;
89
+ const startAbs = Math.max(read, dropped);
90
+ let text = buf.slice(startAbs - dropped);
91
+ // No silent caps: if the cap evicted bytes the reader never saw, say so.
92
+ if (dropped > read && text) {
93
+ text = `[…${dropped - read} bytes dropped to bound the buffer…]\n${text}`;
94
+ }
95
+ return { text, nextRead: endAbs };
96
+ }
61
97
  getNewOutput(filter) {
62
- const allOutput = this.outputBuffer.join('');
63
- const newOutput = allOutput.substring(this.lastReadPosition);
64
- this.lastReadPosition = allOutput.length;
65
- // stderr is incremental too — track its own read position so a poll returns
66
- // only NEW error output, not the entire stderr history re-dumped each time.
67
- const allError = this.errorBuffer.join('');
68
- const newError = allError.substring(this.lastErrorReadPosition);
69
- this.lastErrorReadPosition = allError.length;
70
- let stdout = newOutput;
71
- let stderr = newError;
98
+ const out = this.takeNew(this.stdoutBuf, this.stdoutDropped, this.stdoutRead);
99
+ this.stdoutRead = out.nextRead;
100
+ const err = this.takeNew(this.stderrBuf, this.stderrDropped, this.stderrRead);
101
+ this.stderrRead = err.nextRead;
102
+ let stdout = out.text;
103
+ let stderr = err.text;
72
104
  if (filter) {
73
- stdout = newOutput.split('\n').filter(line => filter.test(line)).join('\n');
74
- stderr = newError.split('\n').filter(line => filter.test(line)).join('\n');
105
+ stdout = stdout.split('\n').filter(line => filter.test(line)).join('\n');
106
+ stderr = stderr.split('\n').filter(line => filter.test(line)).join('\n');
75
107
  }
76
108
  return {
77
109
  stdout,
@@ -83,10 +115,15 @@ class BackgroundShell {
83
115
  if (this.process) {
84
116
  this.process.kill('SIGTERM');
85
117
  setTimeout(() => {
86
- if (this.process && !this.process.killed) {
118
+ // `.killed` only reflects that a signal was *sent*, not that the
119
+ // process exited — so it is true immediately after the SIGTERM above
120
+ // and SIGKILL would never fire. Escalate on real liveness instead (the
121
+ // 'exit' handler clears isRunning), or a SIGTERM-trapping process
122
+ // survives forever.
123
+ if (this.isRunning && this.process) {
87
124
  this.process.kill('SIGKILL');
88
125
  }
89
- }, 5000);
126
+ }, this.killEscalationMs);
90
127
  }
91
128
  }
92
129
  }
@@ -115,9 +152,17 @@ class BackgroundShellManager {
115
152
  listShells() {
116
153
  return Array.from(this.shells.keys());
117
154
  }
155
+ killAll() {
156
+ for (const id of Array.from(this.shells.keys())) {
157
+ this.killShell(id);
158
+ }
159
+ }
118
160
  }
119
161
  // Global shell manager instance
120
162
  const shellManager = new BackgroundShellManager();
163
+ // Reap background shells when the CLI shuts down — otherwise a long-running
164
+ // background command (e.g. a dev server) outlives the process that spawned it.
165
+ onShutdown(() => shellManager.killAll());
121
166
  /**
122
167
  * Number of currently running background shells. Used by the chat-box footer.
123
168
  */
@@ -135,6 +180,7 @@ async function execWithStreaming(command, options) {
135
180
  let stderrTruncated = false;
136
181
  let lineCount = 0;
137
182
  let killed = false;
183
+ let childExited = false;
138
184
  let earlyAbort = false;
139
185
  let abortReason;
140
186
  const child = spawn('bash', ['-c', command], {
@@ -160,7 +206,10 @@ async function execWithStreaming(command, options) {
160
206
  });
161
207
  child.kill('SIGTERM');
162
208
  setTimeout(() => {
163
- if (!child.killed) {
209
+ // `.killed` only means a signal was *sent*, not that the process
210
+ // exited — escalate based on real liveness, or a SIGTERM-trapping
211
+ // process survives.
212
+ if (!childExited) {
164
213
  child.kill('SIGKILL');
165
214
  }
166
215
  }, 2000);
@@ -245,6 +294,7 @@ async function execWithStreaming(command, options) {
245
294
  return output ? `${output}${notice}` : notice.trim();
246
295
  };
247
296
  child.on('close', (code) => {
297
+ childExited = true;
248
298
  clearTimeout(timeoutId);
249
299
  if (stdoutBuffer.trim())
250
300
  processLine(stdoutBuffer, false);
@@ -275,11 +325,19 @@ async function execWithStreaming(command, options) {
275
325
  });
276
326
  });
277
327
  }
328
+ // Deterministic, locale-proof sudo prompt. We detect THIS exact string on
329
+ // stderr to know precisely when sudo is asking for the password, instead of
330
+ // guessing from localized "[sudo] password" / "Password:" text. No spaces so it
331
+ // survives `bash -c` as a single token without quoting.
332
+ const SUDO_PROMPT_SENTINEL = 'trenchwork-sudo-auth-prompt:';
278
333
  /**
279
- * Execute a sudo command with password authentication
280
- * Uses -S flag to read password from stdin
334
+ * Execute a sudo command with password authentication.
335
+ * Uses `sudo -S -k -p`: -S reads the password from stdin, -k forces sudo to
336
+ * re-authenticate (so it ALWAYS consumes our password line rather than letting
337
+ * a cached-credential pass-through leak it into the command), and -p sets the
338
+ * sentinel prompt we detect. Exported for the security regression test.
281
339
  */
282
- async function execSudoWithPassword(command, password, options) {
340
+ export async function execSudoWithPassword(command, password, options) {
283
341
  const MAX_BUFFER_BYTES = 1_000_000;
284
342
  return new Promise((resolve, reject) => {
285
343
  const stdout = [];
@@ -291,9 +349,12 @@ async function execSudoWithPassword(command, password, options) {
291
349
  let lineCount = 0;
292
350
  let killed = false;
293
351
  let passwordSent = false;
294
- // Use sudo -S to read password from stdin, -k to ignore cached credentials
295
- // This ensures we always use our provided password
296
- const sudoCommand = command.replace(/^\s*sudo\s+/, 'sudo -S ');
352
+ // -S (stdin) + -k (ignore cached creds, always prompt) + -p (sentinel
353
+ // prompt). -k is the security-critical flag: without it, cached credentials
354
+ // make sudo skip stdin entirely and the password we write falls through to
355
+ // the command's own stdin (a leak). With -k, sudo always consumes our
356
+ // password line itself.
357
+ const sudoCommand = command.replace(/^\s*sudo\s+/, `sudo -S -k -p ${SUDO_PROMPT_SENTINEL} `);
297
358
  const child = spawn('bash', ['-c', sudoCommand], {
298
359
  cwd: options.cwd,
299
360
  env: options.env,
@@ -306,7 +367,7 @@ async function execSudoWithPassword(command, password, options) {
306
367
  }, options.timeout);
307
368
  const processLine = (line, isStderr) => {
308
369
  // Filter out password prompt from output
309
- if (line.includes('[sudo] password') || line.includes('Password:')) {
370
+ if (line.includes(SUDO_PROMPT_SENTINEL) || line.includes('[sudo] password') || line.includes('Password:')) {
310
371
  return;
311
372
  }
312
373
  lineCount++;
@@ -357,19 +418,27 @@ async function execSudoWithPassword(command, password, options) {
357
418
  }
358
419
  });
359
420
  let stderrBuffer = '';
421
+ let promptScan = ''; // bounded accumulator so a prompt split across chunks is still detected
360
422
  child.stderr?.on('data', (data) => {
361
423
  const text = data.toString();
362
- // Send password when sudo prompts for it
363
- if (!passwordSent && (text.includes('[sudo] password') || text.includes('Password:'))) {
364
- child.stdin?.write(password + '\n');
365
- child.stdin?.end();
366
- passwordSent = true;
367
- reportToolProgress({ current: 0, message: 'Authenticating with sudo…' });
368
- return; // Don't add password prompt to output
424
+ // Send the password ONLY in response to sudo's actual prompt. This is the
425
+ // single place the password is ever written — never on a blind timer — so
426
+ // it can only reach sudo (which is asking for it), never the command. Scan
427
+ // the ACCUMULATED tail (not just this chunk) so a prompt delivered across
428
+ // two reads still matches instead of hanging until timeout.
429
+ if (!passwordSent) {
430
+ promptScan = (promptScan + text).slice(-256);
431
+ if (promptScan.includes(SUDO_PROMPT_SENTINEL) || promptScan.includes('[sudo] password') || promptScan.includes('Password:')) {
432
+ child.stdin?.write(password + '\n');
433
+ child.stdin?.end();
434
+ passwordSent = true;
435
+ reportToolProgress({ current: 0, message: 'Authenticating with sudo…' });
436
+ return; // Don't add password prompt to output
437
+ }
369
438
  }
370
439
  // Filter password prompt lines from output
371
440
  const filteredText = text.split('\n')
372
- .filter(line => !line.includes('[sudo] password') && !line.includes('Password:'))
441
+ .filter(line => !line.includes(SUDO_PROMPT_SENTINEL) && !line.includes('[sudo] password') && !line.includes('Password:'))
373
442
  .join('\n');
374
443
  if (filteredText) {
375
444
  appendChunk(stderr, Buffer.from(filteredText), false);
@@ -385,19 +454,22 @@ async function execSudoWithPassword(command, password, options) {
385
454
  }
386
455
  }
387
456
  });
388
- // Send password immediately after spawn for cases where prompt comes fast
389
- setTimeout(() => {
457
+ // Safety net: if sudo never prompts within the window (a NOPASSWD rule, or a
458
+ // non-sudo command), close stdin so a command that reads it sees EOF instead
459
+ // of hanging. CRITICAL: never write the password here — writing it blindly
460
+ // when sudo didn't consume it is exactly how it leaks into the command's own
461
+ // stdin. We only close, never write.
462
+ const stdinCloseTimer = setTimeout(() => {
390
463
  if (!passwordSent && child.stdin?.writable) {
391
- child.stdin?.write(password + '\n');
392
464
  child.stdin?.end();
393
- passwordSent = true;
394
465
  }
395
- }, 100);
466
+ }, 3000);
396
467
  const buildOutput = (chunks, truncated) => {
397
468
  const output = chunks.join('');
398
- // Filter out any remaining password-related lines
469
+ // Filter out any remaining password-related lines (incl. our sentinel
470
+ // prompt, in case a split chunk slipped one through before detection).
399
471
  const filtered = output.split('\n')
400
- .filter(line => !line.includes('[sudo] password') && !line.includes('Password:') && !line.includes('Sorry, try again'))
472
+ .filter(line => !line.includes(SUDO_PROMPT_SENTINEL) && !line.includes('[sudo] password') && !line.includes('Password:') && !line.includes('Sorry, try again'))
401
473
  .join('\n');
402
474
  if (!truncated)
403
475
  return filtered;
@@ -411,6 +483,7 @@ async function execSudoWithPassword(command, password, options) {
411
483
  processLine(stdoutBuffer, false);
412
484
  if (stderrBuffer.trim())
413
485
  processLine(stderrBuffer, true);
486
+ clearTimeout(stdinCloseTimer);
414
487
  const stdoutText = buildOutput(stdout, stdoutTruncated);
415
488
  const stderrText = buildOutput(stderr, stderrTruncated);
416
489
  // Check for authentication failure
@@ -484,6 +557,15 @@ async function ensureSandboxPaths(workingDir) {
484
557
  let pending = sandboxCache.get(workingDir);
485
558
  if (!pending) {
486
559
  pending = createSandboxPaths(workingDir);
560
+ // Evict a FAILED attempt so a transient mkdir error (EACCES, disk full,
561
+ // read-only mount at startup) doesn't permanently poison execute_bash for
562
+ // this cwd — a cached rejected promise would replay forever. The next call
563
+ // retries. Guard the delete against a newer attempt having replaced us.
564
+ pending.catch(() => {
565
+ if (sandboxCache.get(workingDir) === pending) {
566
+ sandboxCache.delete(workingDir);
567
+ }
568
+ });
487
569
  sandboxCache.set(workingDir, pending);
488
570
  }
489
571
  return pending;
@@ -502,36 +584,47 @@ async function createSandboxPaths(workingDir) {
502
584
  * Detect if a command needs access to the real home directory for cloud CLI credentials.
503
585
  * Commands like firebase, gcloud, aws, az, kubectl require access to stored credentials.
504
586
  */
587
+ /**
588
+ * True if `command` actually INVOKES one of `tools` — i.e. the tool name sits at
589
+ * a command position (start of the line or a pipeline segment, possibly after
590
+ * benign prefixes like sudo/env/npx), not merely anywhere in the text. A bare
591
+ * `\btool\b` match misfired badly on short/common names: `echo "let's fly"` and
592
+ * `cat az.txt` would "invoke" fly.io / Azure, and innocuous text was refused.
593
+ */
594
+ function commandInvokes(command, tools) {
595
+ const prefix = '(?:(?:sudo|env|time|command|nice|npx|exec)\\s+(?:[A-Za-z_][\\w]*=\\S+\\s+)*)*';
596
+ const re = new RegExp(`(?:^|[\\n;&|(])\\s*${prefix}(?:${tools.map(escapeRegExp).join('|')})\\b`, 'i');
597
+ return re.test(command);
598
+ }
599
+ function escapeRegExp(s) {
600
+ return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
601
+ }
505
602
  function needsRealHome(command) {
506
- const cloudCliPatterns = [
507
- /\bfirebase\b/i, // Firebase CLI
508
- /\bgcloud\b/i, // Google Cloud CLI
509
- /\bgsutil\b/i, // Google Cloud Storage
510
- /\baws\b/i, // AWS CLI
511
- /\baz\b/i, // Azure CLI
512
- /\bkubectl\b/i, // Kubernetes
513
- /\bhelm\b/i, // Helm
514
- /\bdocker\b/i, // Docker (for registry auth)
515
- /\bnpm\s+publish\b/i, // npm publish (needs npm auth)
516
- /\byarn\s+publish\b/i, // yarn publish
517
- /\bpnpm\s+publish\b/i, // pnpm publish
518
- /\bgh\b/i, // GitHub CLI
519
- /\bvercel\b/i, // Vercel CLI
520
- /\bnetlify\b/i, // Netlify CLI
521
- /\bheroku\b/i, // Heroku CLI
522
- /\bfly\b/i, // Fly.io CLI
523
- /\bsupabase\b/i, // Supabase CLI
524
- /\bwrangler\b/i, // Cloudflare Workers
525
- ];
526
- return cloudCliPatterns.some(pattern => pattern.test(command));
603
+ return (commandInvokes(command, [
604
+ 'firebase', 'gcloud', 'gsutil', 'aws', 'az', 'kubectl', 'helm', 'docker',
605
+ 'gh', 'vercel', 'netlify', 'heroku', 'fly', 'supabase', 'wrangler',
606
+ ]) ||
607
+ // Package-manager publish (needs the registry auth in the real home).
608
+ /(?:^|[\n;&|(])\s*(?:npm|yarn|pnpm)\s+publish\b/i.test(command));
527
609
  }
528
- export async function buildSandboxEnv(workingDir, options) {
610
+ /**
611
+ * The single source of truth for whether a command runs against the REAL home
612
+ * (cloud-CLI credentials) or the sandbox. Honors TRENCHWORK_PRESERVE_HOME (1/0),
613
+ * then an explicit option, then whether the command needs cloud-CLI creds. Both
614
+ * buildSandboxEnv and the user-facing [sandboxed]/[real credentials] label use
615
+ * this, so the label can't disagree with the actual environment.
616
+ */
617
+ export function resolvesToRealHome(options) {
529
618
  const envPreference = process.env['TRENCHWORK_PRESERVE_HOME'];
530
- // Preserve home if: env var set, option passed, or command needs cloud CLI credentials
619
+ if (envPreference === '1')
620
+ return true;
621
+ if (envPreference === '0')
622
+ return false;
531
623
  const commandNeedsHome = options?.command ? needsRealHome(options.command) : false;
532
- const preserveHome = envPreference === '1' ? true :
533
- envPreference === '0' ? false :
534
- Boolean(options?.preserveHome) || commandNeedsHome;
624
+ return Boolean(options?.preserveHome) || commandNeedsHome;
625
+ }
626
+ export async function buildSandboxEnv(workingDir, options) {
627
+ const preserveHome = resolvesToRealHome(options);
535
628
  const paths = await ensureSandboxPaths(workingDir);
536
629
  const env = {
537
630
  ...process.env,
@@ -576,9 +669,15 @@ export function createBashTools(workingDir) {
576
669
  const timeout = userTimeout ?? getSmartTimeout(command);
577
670
  // Check if this is a sudo command
578
671
  const isSudoCommand = /^\s*sudo\s+/i.test(command);
579
- // Block commands that typically require passwords or interactive input (except sudo which we handle)
580
- const interactiveCommands = /\b(passwd|su\s|login|ssh\s(?!-o)|sftp|ftp|mysql\s+-p|psql\s+-W)\b/i;
581
- if (interactiveCommands.test(command)) {
672
+ // Block commands that typically require passwords or interactive input
673
+ // (except sudo, which we handle). Match the tool at a COMMAND position —
674
+ // a bare \b match refused innocuous lines like `cat login.txt` or
675
+ // `grep ftp config` as "interactive".
676
+ const interactiveInvoke = commandInvokes(command, ['passwd', 'su', 'login', 'sftp', 'ftp']);
677
+ const interactiveArgs = /(?:^|[\n;&|(])\s*ssh\s(?!-o)/i.test(command)
678
+ || /\bmysql\s+-p/i.test(command)
679
+ || /\bpsql\s+-W\b/i.test(command);
680
+ if (interactiveInvoke || interactiveArgs) {
582
681
  return 'Skipped: Command requires interactive authentication. Use non-interactive alternatives.';
583
682
  }
584
683
  // Flow guidance (debug only - don't pollute chat)
@@ -610,7 +709,10 @@ export function createBashTools(workingDir) {
610
709
  }
611
710
  // Foreground execution
612
711
  const startTime = Date.now();
613
- const usesRealHome = needsRealHome(command);
712
+ // Use the SAME decision buildSandboxEnv uses, so the [sandboxed] /
713
+ // [real credentials] label always matches the actual environment
714
+ // (it ignored TRENCHWORK_PRESERVE_HOME before and could lie).
715
+ const usesRealHome = resolvesToRealHome({ command });
614
716
  // Create test monitor for test commands to enable early abort on failures
615
717
  const testMonitor = createTestMonitor(command);
616
718
  if (testMonitor) {
@@ -677,8 +779,15 @@ export function createBashTools(workingDir) {
677
779
  }
678
780
  return verifiedFailure(`Command failed with exit code ${exitCode}`, `Command: ${command}\n\nOutput:\n${combinedOutput || '(none)'}${aiGuidance}`, suggestions, [commandCheck], durationMs);
679
781
  }
680
- if (analysis.isFailure) {
681
- return verifiedFailure(`Command completed with exit code 0 but output indicates failure`, `Command: ${command}\n\n${ANSI_RED_BOLD}Output:${ANSI_RESET}\n${combinedOutput || '(no output)'}`, ['Review the error message in the output', 'Fix the underlying issue and retry'], [commandCheck, { check: 'Output analysis', passed: false, details: `Failure pattern: ${analysis.matchedPattern}` }], durationMs);
782
+ // Exit code 0 means the command succeeded. Don't override that based on
783
+ // loose output substrings ("failed", "ENOENT", "error:") those appear
784
+ // constantly in legitimate output (grep results, "0 tests failed", a
785
+ // cat'd log, docs) and produced false VERIFIED_FAILUREs. The one genuine
786
+ // exit-0-but-failed case — a test runner that swallows its exit code —
787
+ // is caught explicitly via the test-failure monitor.
788
+ const swallowedTestFailures = testMonitor?.getState().failedTests.length ?? 0;
789
+ if (swallowedTestFailures > 0) {
790
+ return verifiedFailure(`Command exited 0 but ${swallowedTestFailures} test file(s) reported failures`, `Command: ${command}\n\n${ANSI_RED_BOLD}Output:${ANSI_RESET}\n${combinedOutput || '(no output)'}`, ['Review the failing tests', 'Fix the underlying issue and retry'], [commandCheck, { check: 'Test failures', passed: false, details: `${swallowedTestFailures} test file(s) failed` }], durationMs);
682
791
  }
683
792
  const envLabel = usesRealHome ? `${ANSI_CYAN}[real credentials]${ANSI_RESET}` : `${ANSI_DIM}[sandboxed]${ANSI_RESET}`;
684
793
  return verifiedSuccess(combinedOutput.trim() ? `Command executed successfully ${envLabel}` : `Command executed successfully (no output) ${envLabel}`, `Command: ${command}${combinedOutput.trim() ? `\n\n${ANSI_GREEN_BOLD}Output:${ANSI_RESET}\n${combinedOutput}` : ''}`, [commandCheck, ...(analysis.isSuccess ? [{ check: 'Output analysis', passed: true, details: `Success pattern matched` }] : [])], durationMs);
@@ -1 +1 @@
1
- {"version":3,"file":"bashTools.js","sourceRoot":"","sources":["../../src/tools/bashTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bashTools.js","sourceRoot":"","sources":["../../src/tools/bashTools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"grepTools.d.ts","sourceRoot":"","sources":["../../src/tools/grepTools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAc7D,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,EAAE,CAqIpE"}
1
+ {"version":3,"file":"grepTools.d.ts","sourceRoot":"","sources":["../../src/tools/grepTools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAc7D,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,EAAE,CAsJpE"}