@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.
- package/dist/contracts/v1/agent.d.ts +2 -0
- package/dist/contracts/v1/agent.d.ts.map +1 -1
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js +77 -2
- package/dist/core/agent.js.map +1 -1
- package/dist/core/contextManager.d.ts +10 -137
- package/dist/core/contextManager.d.ts.map +1 -1
- package/dist/core/contextManager.js +74 -540
- package/dist/core/contextManager.js.map +1 -1
- package/dist/core/errorClassification.d.ts.map +1 -1
- package/dist/core/errorClassification.js +8 -0
- package/dist/core/errorClassification.js.map +1 -1
- package/dist/core/hooks.d.ts.map +1 -1
- package/dist/core/hooks.js +42 -19
- package/dist/core/hooks.js.map +1 -1
- package/dist/core/keyResolution.d.ts +30 -0
- package/dist/core/keyResolution.d.ts.map +1 -0
- package/dist/core/keyResolution.js +38 -0
- package/dist/core/keyResolution.js.map +1 -0
- package/dist/core/permissionMode.d.ts +17 -2
- package/dist/core/permissionMode.d.ts.map +1 -1
- package/dist/core/permissionMode.js +20 -7
- package/dist/core/permissionMode.js.map +1 -1
- package/dist/core/reasoningFallback.d.ts +22 -0
- package/dist/core/reasoningFallback.d.ts.map +1 -0
- package/dist/core/reasoningFallback.js +22 -0
- package/dist/core/reasoningFallback.js.map +1 -0
- package/dist/core/sessionStore.js +34 -8
- package/dist/core/sessionStore.js.map +1 -1
- package/dist/core/slashCommands.d.ts.map +1 -1
- package/dist/core/slashCommands.js +0 -3
- package/dist/core/slashCommands.js.map +1 -1
- package/dist/core/taskCompletionDetector.d.ts.map +1 -1
- package/dist/core/taskCompletionDetector.js +10 -3
- package/dist/core/taskCompletionDetector.js.map +1 -1
- package/dist/core/toolRuntime.d.ts +1 -0
- package/dist/core/toolRuntime.d.ts.map +1 -1
- package/dist/core/toolRuntime.js +21 -2
- package/dist/core/toolRuntime.js.map +1 -1
- package/dist/core/turnTokenMeter.d.ts +19 -0
- package/dist/core/turnTokenMeter.d.ts.map +1 -0
- package/dist/core/turnTokenMeter.js +36 -0
- package/dist/core/turnTokenMeter.js.map +1 -0
- package/dist/headless/interactiveShell.d.ts +3 -3
- package/dist/headless/interactiveShell.d.ts.map +1 -1
- package/dist/headless/interactiveShell.js +68 -115
- package/dist/headless/interactiveShell.js.map +1 -1
- package/dist/plugins/providers/deepseek/index.js +4 -6
- package/dist/plugins/providers/deepseek/index.js.map +1 -1
- package/dist/providers/openaiChatCompletionsProvider.d.ts.map +1 -1
- package/dist/providers/openaiChatCompletionsProvider.js +33 -26
- package/dist/providers/openaiChatCompletionsProvider.js.map +1 -1
- package/dist/runtime/agentController.d.ts.map +1 -1
- package/dist/runtime/agentController.js +16 -7
- package/dist/runtime/agentController.js.map +1 -1
- package/dist/runtime/agentSession.d.ts.map +1 -1
- package/dist/runtime/agentSession.js +10 -3
- package/dist/runtime/agentSession.js.map +1 -1
- package/dist/tools/bashTools.d.ts +63 -0
- package/dist/tools/bashTools.d.ts.map +1 -1
- package/dist/tools/bashTools.js +186 -77
- package/dist/tools/bashTools.js.map +1 -1
- package/dist/tools/grepTools.d.ts.map +1 -1
- package/dist/tools/grepTools.js +41 -23
- package/dist/tools/grepTools.js.map +1 -1
- package/dist/tools/searchTools.d.ts.map +1 -1
- package/dist/tools/searchTools.js +18 -8
- package/dist/tools/searchTools.js.map +1 -1
- package/dist/tools/webTools.d.ts.map +1 -1
- package/dist/tools/webTools.js +10 -2
- package/dist/tools/webTools.js.map +1 -1
- package/dist/ui/ink/App.d.ts +6 -1
- package/dist/ui/ink/App.d.ts.map +1 -1
- package/dist/ui/ink/App.js +20 -2
- package/dist/ui/ink/App.js.map +1 -1
- package/dist/ui/ink/ChatStatic.d.ts.map +1 -1
- package/dist/ui/ink/ChatStatic.js +9 -2
- package/dist/ui/ink/ChatStatic.js.map +1 -1
- package/dist/ui/ink/InkPromptController.d.ts +8 -8
- package/dist/ui/ink/InkPromptController.d.ts.map +1 -1
- package/dist/ui/ink/InkPromptController.js +19 -11
- package/dist/ui/ink/InkPromptController.js.map +1 -1
- package/dist/ui/ink/StatusLine.d.ts +6 -7
- package/dist/ui/ink/StatusLine.d.ts.map +1 -1
- package/dist/ui/ink/StatusLine.js +9 -9
- package/dist/ui/ink/StatusLine.js.map +1 -1
- package/dist/ui/ink/markdownRender.d.ts +2 -0
- package/dist/ui/ink/markdownRender.d.ts.map +1 -0
- package/dist/ui/ink/markdownRender.js +76 -0
- package/dist/ui/ink/markdownRender.js.map +1 -0
- package/package.json +2 -1
- package/dist/core/hostedAuth.d.ts +0 -88
- package/dist/core/hostedAuth.d.ts.map +0 -1
- package/dist/core/hostedAuth.js +0 -219
- package/dist/core/hostedAuth.js.map +0 -1
package/dist/tools/bashTools.js
CHANGED
|
@@ -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
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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.
|
|
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.
|
|
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
|
|
63
|
-
|
|
64
|
-
this.
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
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 =
|
|
74
|
-
stderr =
|
|
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
|
-
|
|
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
|
-
},
|
|
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
|
-
|
|
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
|
|
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
|
-
//
|
|
295
|
-
//
|
|
296
|
-
|
|
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
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
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
|
-
//
|
|
389
|
-
|
|
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
|
-
},
|
|
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
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
533
|
-
|
|
534
|
-
|
|
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
|
|
580
|
-
|
|
581
|
-
|
|
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
|
-
|
|
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
|
-
|
|
681
|
-
|
|
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,
|
|
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"}
|