compact-agent 1.20.0 → 1.22.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/api.d.ts +1 -1
- package/dist/api.js +7 -2
- package/dist/api.js.map +1 -1
- package/dist/config.js +8 -1
- package/dist/config.js.map +1 -1
- package/dist/index.js +41 -0
- package/dist/index.js.map +1 -1
- package/dist/live-queue.d.ts +55 -0
- package/dist/live-queue.js +137 -0
- package/dist/live-queue.js.map +1 -0
- package/dist/query.d.ts +6 -0
- package/dist/query.js +101 -4
- package/dist/query.js.map +1 -1
- package/dist/sandbox.d.ts +37 -0
- package/dist/sandbox.js +192 -0
- package/dist/sandbox.js.map +1 -0
- package/dist/tools/bash.js +27 -1
- package/dist/tools/bash.js.map +1 -1
- package/dist/types.d.ts +5 -0
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Live queue display — a bottom-anchored input box that stays visible
|
|
3
|
+
* during streaming and tool execution, so the user can see what they're
|
|
4
|
+
* typing into the queue (and erase it with backspace).
|
|
5
|
+
*
|
|
6
|
+
* The technique: ANSI DECSTBM (Set Top and Bottom Margins) reserves a
|
|
7
|
+
* scrolling region above the last row. Streaming output scrolls in the
|
|
8
|
+
* upper region; the bottom row is fixed and we redraw it on every
|
|
9
|
+
* keystroke.
|
|
10
|
+
*
|
|
11
|
+
* Layout:
|
|
12
|
+
*
|
|
13
|
+
* ┌── upper scroll region (rows 1..N-1) ──┐
|
|
14
|
+
* │ │
|
|
15
|
+
* │ streamed model output writes here │
|
|
16
|
+
* │ scrolling naturally as text arrives │
|
|
17
|
+
* │ │
|
|
18
|
+
* ├── fixed bottom row (row N) ────────────┤
|
|
19
|
+
* │ ▶ queued: <user's typed text> │ ← updated on each keystroke
|
|
20
|
+
* └────────────────────────────────────────┘
|
|
21
|
+
*
|
|
22
|
+
* Caveats:
|
|
23
|
+
* - DECSTBM is widely supported (xterm, iTerm, Windows Terminal,
|
|
24
|
+
* Alacritty, Kitty) but legacy ConHost has quirks. If activation
|
|
25
|
+
* fails or the terminal isn't a TTY, we no-op.
|
|
26
|
+
* - Terminal resize mid-stream isn't handled — the box stays at the
|
|
27
|
+
* row we reserved. Acceptable trade-off; resize is rare mid-chain.
|
|
28
|
+
* - Screen-reader mode skips this entirely — NVDA / JAWS read every
|
|
29
|
+
* cursor move as fresh text, which makes a live-updating widget
|
|
30
|
+
* much worse than a quiet one-line hint.
|
|
31
|
+
*/
|
|
32
|
+
const ANSI = {
|
|
33
|
+
saveCursor: '\x1B7', // DECSC (more reliable than ESC[s)
|
|
34
|
+
restoreCursor: '\x1B8', // DECRC
|
|
35
|
+
scrollRegion: (top, bot) => `\x1B[${top};${bot}r`,
|
|
36
|
+
resetScrollRegion: '\x1B[r',
|
|
37
|
+
moveTo: (row, col) => `\x1B[${row};${col}H`,
|
|
38
|
+
clearLine: '\x1B[2K',
|
|
39
|
+
bold: '\x1B[1m',
|
|
40
|
+
reset: '\x1B[0m',
|
|
41
|
+
dim: '\x1B[2m',
|
|
42
|
+
};
|
|
43
|
+
let active = null;
|
|
44
|
+
/**
|
|
45
|
+
* Begin reserving the bottom row + setting the scroll region.
|
|
46
|
+
* Safe to call repeatedly; subsequent calls are no-ops.
|
|
47
|
+
* Returns true if activation succeeded.
|
|
48
|
+
*/
|
|
49
|
+
export function activate() {
|
|
50
|
+
if (active)
|
|
51
|
+
return true;
|
|
52
|
+
const stdout = process.stdout;
|
|
53
|
+
if (!stdout.isTTY)
|
|
54
|
+
return false;
|
|
55
|
+
const rows = stdout.rows;
|
|
56
|
+
const cols = stdout.columns;
|
|
57
|
+
// Bail if terminal didn't report dimensions (rare but possible)
|
|
58
|
+
if (!rows || !cols || rows < 4)
|
|
59
|
+
return false;
|
|
60
|
+
// Print one blank line at the cursor position to ensure we don't
|
|
61
|
+
// collide with prior content, then move cursor up. This guarantees
|
|
62
|
+
// the reserved bottom row is logically below the current output.
|
|
63
|
+
stdout.write('\n');
|
|
64
|
+
// Set scroll region to rows 1..(rows-1), leaving the last row for us
|
|
65
|
+
stdout.write(ANSI.scrollRegion(1, rows - 1));
|
|
66
|
+
// Move cursor back into the scroll region (top of the last visible
|
|
67
|
+
// scroll line). This puts subsequent output one row above the box.
|
|
68
|
+
stdout.write(ANSI.moveTo(rows - 1, 1));
|
|
69
|
+
active = { rows, cols, boxRow: rows };
|
|
70
|
+
// Initial draw of empty box
|
|
71
|
+
drawBox('');
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Update the input-box content. Call on every typed char (or
|
|
76
|
+
* backspace) so the user sees their queue in real time.
|
|
77
|
+
*
|
|
78
|
+
* Truncates text to fit terminal width; if longer, shows the LAST
|
|
79
|
+
* (cols-12) chars so the most-recent typing is always visible.
|
|
80
|
+
*/
|
|
81
|
+
export function update(text) {
|
|
82
|
+
if (!active)
|
|
83
|
+
return;
|
|
84
|
+
drawBox(text);
|
|
85
|
+
}
|
|
86
|
+
function drawBox(text) {
|
|
87
|
+
if (!active)
|
|
88
|
+
return;
|
|
89
|
+
const stdout = process.stdout;
|
|
90
|
+
const { boxRow, cols } = active;
|
|
91
|
+
// Save where the streaming cursor was
|
|
92
|
+
stdout.write(ANSI.saveCursor);
|
|
93
|
+
// Move to the reserved row, clear it, draw the indicator + queue
|
|
94
|
+
stdout.write(ANSI.moveTo(boxRow, 1));
|
|
95
|
+
stdout.write(ANSI.clearLine);
|
|
96
|
+
const prefix = ' ▶ queued: ';
|
|
97
|
+
const budget = Math.max(20, cols - prefix.length - 2);
|
|
98
|
+
let display = text;
|
|
99
|
+
// Show the END of the text (most recently typed) when overflowing
|
|
100
|
+
if (display.length > budget) {
|
|
101
|
+
display = '…' + display.slice(display.length - budget + 1);
|
|
102
|
+
}
|
|
103
|
+
// Replace any CR/LF in the display so they don't break the box layout
|
|
104
|
+
display = display.replace(/[\r\n]+/g, ' ⏎ ');
|
|
105
|
+
// Soft-styled prefix + content. Bold for the marker, dim for "queued:",
|
|
106
|
+
// normal for the text itself.
|
|
107
|
+
stdout.write(ANSI.bold + ' ▶' + ANSI.reset + ANSI.dim + ' queued: ' + ANSI.reset + display);
|
|
108
|
+
// Restore cursor to where streaming was writing
|
|
109
|
+
stdout.write(ANSI.restoreCursor);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Tear down the box and restore the default scroll region.
|
|
113
|
+
* Safe to call repeatedly; no-op when not active.
|
|
114
|
+
*
|
|
115
|
+
* Idempotency matters because we want this in `finally` blocks alongside
|
|
116
|
+
* other cleanup that might also call it.
|
|
117
|
+
*/
|
|
118
|
+
export function deactivate() {
|
|
119
|
+
if (!active)
|
|
120
|
+
return;
|
|
121
|
+
const stdout = process.stdout;
|
|
122
|
+
const { boxRow } = active;
|
|
123
|
+
// Reset scroll region
|
|
124
|
+
stdout.write(ANSI.resetScrollRegion);
|
|
125
|
+
// Clear the reserved row
|
|
126
|
+
stdout.write(ANSI.moveTo(boxRow, 1));
|
|
127
|
+
stdout.write(ANSI.clearLine);
|
|
128
|
+
// Park the cursor on the row above the (now-cleared) box
|
|
129
|
+
stdout.write(ANSI.moveTo(boxRow - 1, 1));
|
|
130
|
+
stdout.write('\n'); // move down one for next prompt
|
|
131
|
+
active = null;
|
|
132
|
+
}
|
|
133
|
+
/** Test helper / fallback: are we currently active? */
|
|
134
|
+
export function isActive() {
|
|
135
|
+
return active !== null;
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=live-queue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"live-queue.js","sourceRoot":"","sources":["../src/live-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,MAAM,IAAI,GAAG;IACX,UAAU,EAAE,OAAO,EAA+B,mCAAmC;IACrF,aAAa,EAAE,OAAO,EAA4B,QAAQ;IAC1D,YAAY,EAAE,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE,CAAC,QAAQ,GAAG,IAAI,GAAG,GAAG;IACjE,iBAAiB,EAAE,QAAQ;IAC3B,MAAM,EAAE,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE,CAAC,QAAQ,GAAG,IAAI,GAAG,GAAG;IAC3D,SAAS,EAAE,SAAS;IACpB,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,SAAS;IAChB,GAAG,EAAE,SAAS;CACf,CAAC;AASF,IAAI,MAAM,GAAuB,IAAI,CAAC;AAEtC;;;;GAIG;AACH,MAAM,UAAU,QAAQ;IACtB,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,IAAI,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAEhC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC;IAC5B,gEAAgE;IAChE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAE7C,iEAAiE;IACjE,mEAAmE;IACnE,iEAAiE;IACjE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEnB,qEAAqE;IACrE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;IAE7C,mEAAmE;IACnE,mEAAmE;IACnE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEvC,MAAM,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAEtC,4BAA4B;IAC5B,OAAO,CAAC,EAAE,CAAC,CAAC;IACZ,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,OAAO,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAEhC,sCAAsC;IACtC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAE9B,iEAAiE;IACjE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAE7B,MAAM,MAAM,GAAG,cAAc,CAAC;IAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACtD,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,kEAAkE;IAClE,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;QAC5B,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7D,CAAC;IACD,sEAAsE;IACtE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAE7C,wEAAwE;IACxE,8BAA8B;IAC9B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,GAAG,WAAW,GAAG,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC;IAE7F,gDAAgD;IAChD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAE1B,sBAAsB;IACtB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAErC,yBAAyB;IACzB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAE7B,yDAAyD;IACzD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAG,gCAAgC;IAEtD,MAAM,GAAG,IAAI,CAAC;AAChB,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,QAAQ;IACtB,OAAO,MAAM,KAAK,IAAI,CAAC;AACzB,CAAC"}
|
package/dist/query.d.ts
CHANGED
|
@@ -14,6 +14,12 @@ export interface InputGuard {
|
|
|
14
14
|
resume(): void;
|
|
15
15
|
/** Return whatever the user typed during streaming, then clear the buffer. */
|
|
16
16
|
drainQueuedInput(): string;
|
|
17
|
+
/**
|
|
18
|
+
* Register a callback invoked when the user presses Ctrl+G (Steer).
|
|
19
|
+
* The handler is responsible for aborting the active stream / chain
|
|
20
|
+
* and treating the queued buffer as the next user message.
|
|
21
|
+
*/
|
|
22
|
+
onSteer(handler: () => void): void;
|
|
17
23
|
restore(): void;
|
|
18
24
|
}
|
|
19
25
|
/**
|
package/dist/query.js
CHANGED
|
@@ -12,22 +12,35 @@ import { isLikelyDestructive, describeDestructive, countWords, summarize } from
|
|
|
12
12
|
import { audioCue } from './audio.js';
|
|
13
13
|
import { setStatus } from './status.js';
|
|
14
14
|
import { collapseCompletedTurns } from './turn-context.js';
|
|
15
|
+
import * as liveQueue from './live-queue.js';
|
|
15
16
|
// Per-session set: once we've told the user "this model didn't emit
|
|
16
17
|
// reasoning tokens" we don't repeat it on every turn. Cleared per process,
|
|
17
18
|
// not persisted — restart, see hint again. Keyed by sessionId so different
|
|
18
19
|
// sessions get fresh hints.
|
|
19
20
|
const _thinkingHintShownForSession = new Set();
|
|
20
|
-
function startInputSuppression() {
|
|
21
|
+
function startInputSuppression(screenReader = false) {
|
|
21
22
|
const stdin = process.stdin;
|
|
22
23
|
if (!stdin.isTTY) {
|
|
23
24
|
return {
|
|
24
25
|
pause: () => { },
|
|
25
26
|
resume: () => { },
|
|
26
27
|
drainQueuedInput: () => '',
|
|
28
|
+
onSteer: () => { },
|
|
27
29
|
restore: () => { },
|
|
28
30
|
};
|
|
29
31
|
}
|
|
30
32
|
const wasRaw = stdin.isRaw;
|
|
33
|
+
// Live queue display — bottom-anchored input box that shows what the
|
|
34
|
+
// user has typed into the queue. Activate immediately so the box is
|
|
35
|
+
// present from the start of streaming, even when empty. Skip entirely
|
|
36
|
+
// in screen-reader mode: NVDA / JAWS read every cursor move as fresh
|
|
37
|
+
// content, which makes a live-updating widget far worse than silent.
|
|
38
|
+
const liveBoxActive = !screenReader && liveQueue.activate();
|
|
39
|
+
// Steer (Ctrl+G mid-stream cancel). Caller registers a handler via
|
|
40
|
+
// onSteer(); we invoke it when 0x07 (BEL / Ctrl+G) arrives during
|
|
41
|
+
// suppression. The handler is responsible for aborting the active
|
|
42
|
+
// stream — we just route the signal.
|
|
43
|
+
let steerHandler = null;
|
|
31
44
|
// Snapshot non-tagged keypress listeners. These are the ones we toggle
|
|
32
45
|
// on suppress/unsuppress; the tagged hotkey listener (F1–F10) stays
|
|
33
46
|
// attached unconditionally so status keys work during streaming and
|
|
@@ -68,8 +81,21 @@ function startInputSuppression() {
|
|
|
68
81
|
stdin.setRawMode(false);
|
|
69
82
|
}
|
|
70
83
|
catch { /* noop */ }
|
|
84
|
+
liveQueue.deactivate();
|
|
71
85
|
process.exit(0);
|
|
72
86
|
}
|
|
87
|
+
// Ctrl+G (BEL, 0x07) → Steer trigger. Fires the registered handler
|
|
88
|
+
// which aborts the active stream + uses the queued buffer as the
|
|
89
|
+
// next user turn. Doesn't append the 0x07 itself to the queue.
|
|
90
|
+
if (chunk[0] === 0x07 && detached) {
|
|
91
|
+
if (steerHandler) {
|
|
92
|
+
try {
|
|
93
|
+
steerHandler();
|
|
94
|
+
}
|
|
95
|
+
catch { /* never break input on a steer error */ }
|
|
96
|
+
}
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
73
99
|
if (!detached)
|
|
74
100
|
return; // only collect while we're suppressing
|
|
75
101
|
// Drop chunks that look like escape sequences (start with 0x1B)
|
|
@@ -77,15 +103,31 @@ function startInputSuppression() {
|
|
|
77
103
|
// the keypress emitter for tagged hotkeys; for us they're garbage.
|
|
78
104
|
if (chunk[0] === 0x1B)
|
|
79
105
|
return;
|
|
106
|
+
let mutated = false;
|
|
80
107
|
for (const byte of chunk) {
|
|
81
|
-
//
|
|
108
|
+
// Backspace (0x08) or DEL (0x7F) → erase last char from queue
|
|
109
|
+
if (byte === 0x08 || byte === 0x7F) {
|
|
110
|
+
if (queued.length > 0) {
|
|
111
|
+
queued.pop();
|
|
112
|
+
mutated = true;
|
|
113
|
+
}
|
|
114
|
+
continue;
|
|
115
|
+
}
|
|
116
|
+
// Printable ASCII or CR/LF → append
|
|
82
117
|
if ((byte >= 0x20 && byte < 0x7F) || byte === 0x0A || byte === 0x0D) {
|
|
83
118
|
queued.push(byte);
|
|
119
|
+
mutated = true;
|
|
84
120
|
}
|
|
85
121
|
}
|
|
86
122
|
// Cap to avoid runaway accumulation if the user holds down a key
|
|
87
123
|
if (queued.length > 4096)
|
|
88
124
|
queued.splice(0, queued.length - 4096);
|
|
125
|
+
// Refresh the live box with current buffer contents so the user
|
|
126
|
+
// sees their typing in real time. Done lazily — only when mutated
|
|
127
|
+
// — to avoid drawing on every random byte.
|
|
128
|
+
if (mutated && liveBoxActive) {
|
|
129
|
+
liveQueue.update(Buffer.from(queued).toString('utf-8').replace(/\r\n?/g, '\n'));
|
|
130
|
+
}
|
|
89
131
|
};
|
|
90
132
|
try {
|
|
91
133
|
stdin.setRawMode(true);
|
|
@@ -104,6 +146,9 @@ function startInputSuppression() {
|
|
|
104
146
|
// Normalize CR-only or CR-LF to LF, strip trailing whitespace
|
|
105
147
|
return text.replace(/\r\n?/g, '\n').replace(/\n+$/, '');
|
|
106
148
|
},
|
|
149
|
+
onSteer: (handler) => {
|
|
150
|
+
steerHandler = handler;
|
|
151
|
+
},
|
|
107
152
|
restore: () => {
|
|
108
153
|
unsuppress(); // ensure listeners are back before we leave
|
|
109
154
|
stdin.removeListener('data', dataHandler);
|
|
@@ -111,6 +156,9 @@ function startInputSuppression() {
|
|
|
111
156
|
stdin.setRawMode(wasRaw);
|
|
112
157
|
}
|
|
113
158
|
catch { /* noop */ }
|
|
159
|
+
// Tear down the live queue box + restore default scroll region.
|
|
160
|
+
// Idempotent; safe to call even if activation was skipped.
|
|
161
|
+
liveQueue.deactivate();
|
|
114
162
|
},
|
|
115
163
|
};
|
|
116
164
|
}
|
|
@@ -203,7 +251,12 @@ export async function runQuery(ctx) {
|
|
|
203
251
|
// permission prompts so rl.question() can still read user input. Final
|
|
204
252
|
// teardown happens in the finally block at the bottom of runQuery so
|
|
205
253
|
// the guard is always cleaned up even if something throws unexpectedly.
|
|
206
|
-
|
|
254
|
+
//
|
|
255
|
+
// Pass the screen-reader flag through — when on, suppressInputDuringStream
|
|
256
|
+
// skips the live queue box (NVDA/JAWS would re-read every cursor move
|
|
257
|
+
// as new text, drowning the actual response).
|
|
258
|
+
const isScreenReader = ctx.config.voice?.accessibility?.screenReader === true;
|
|
259
|
+
const inputGuard = startInputSuppression(isScreenReader);
|
|
207
260
|
try {
|
|
208
261
|
// Turn-boundary collapse runs BEFORE compaction. Every completed prior
|
|
209
262
|
// turn becomes [user, "<final text>\n[Completed: used X, Y]"] — the
|
|
@@ -287,8 +340,22 @@ export async function runQuery(ctx) {
|
|
|
287
340
|
// user pressing F1 hears "calling claude-sonnet-4, 6 seconds elapsed"
|
|
288
341
|
// instead of a stale "idle".
|
|
289
342
|
setStatus({ state: 'streaming' });
|
|
343
|
+
// Steer support — Ctrl+G during streaming aborts the API call and
|
|
344
|
+
// treats the queued buffer as the next user message (with a marker
|
|
345
|
+
// so the model knows the prior turn was interrupted). The handler
|
|
346
|
+
// is wired through InputGuard.onSteer; we create a fresh
|
|
347
|
+
// AbortController per turn and pass it to streamChat.
|
|
348
|
+
const streamAbort = new AbortController();
|
|
349
|
+
let wasSteered = false;
|
|
350
|
+
inputGuard.onSteer(() => {
|
|
351
|
+
wasSteered = true;
|
|
352
|
+
try {
|
|
353
|
+
streamAbort.abort();
|
|
354
|
+
}
|
|
355
|
+
catch { /* noop */ }
|
|
356
|
+
});
|
|
290
357
|
try {
|
|
291
|
-
for await (const event of streamChat(ctx.config, apiMessages, ALL_TOOLS)) {
|
|
358
|
+
for await (const event of streamChat(ctx.config, apiMessages, ALL_TOOLS, streamAbort.signal)) {
|
|
292
359
|
if (event.type === 'thinking' && event.content) {
|
|
293
360
|
sawAnyThinking = true;
|
|
294
361
|
// showThinking defaults to true; only off when explicitly disabled.
|
|
@@ -334,6 +401,36 @@ export async function runQuery(ctx) {
|
|
|
334
401
|
// Always close the streaming line first so the error doesn't glue to text.
|
|
335
402
|
if (hasOutput && !lastCharWasNewline)
|
|
336
403
|
process.stdout.write('\n');
|
|
404
|
+
// ── Steer path (graceful — not an error) ──────────────
|
|
405
|
+
// If the user pressed Ctrl+G during streaming, the AbortController
|
|
406
|
+
// fired and the OpenAI SDK threw something like "Request was
|
|
407
|
+
// aborted" or our own "Aborted before stream start". Treat as a
|
|
408
|
+
// controlled end-of-turn: save partial assistant text, push the
|
|
409
|
+
// queued buffer as the next user message, continue the chain.
|
|
410
|
+
const aborted = wasSteered || /abort|cancel/i.test(msg);
|
|
411
|
+
if (wasSteered || (aborted && streamAbort.signal.aborted)) {
|
|
412
|
+
console.log(theme.warning(' ⮌ steered — taking your queued input as the next turn'));
|
|
413
|
+
// Save whatever the model managed to emit before the abort
|
|
414
|
+
if (fullText.trim()) {
|
|
415
|
+
accumulatedAssistantText += (accumulatedAssistantText ? '\n\n' : '') + fullText + '\n[interrupted by user steer]';
|
|
416
|
+
ctx.messages.push({ role: 'assistant', content: fullText + '\n[interrupted by user steer]' });
|
|
417
|
+
}
|
|
418
|
+
// Drain the queue and push as the next user turn with a marker.
|
|
419
|
+
const steerText = inputGuard.drainQueuedInput().trim();
|
|
420
|
+
if (steerText) {
|
|
421
|
+
ctx.messages.push({
|
|
422
|
+
role: 'user',
|
|
423
|
+
content: `[steer mid-turn] ${steerText}`,
|
|
424
|
+
});
|
|
425
|
+
// Don't break — continue the while loop so the new user turn
|
|
426
|
+
// gets processed in the next iteration. turns-- because the
|
|
427
|
+
// steer doesn't count against the max-turn budget.
|
|
428
|
+
turns--;
|
|
429
|
+
continue;
|
|
430
|
+
}
|
|
431
|
+
// No steer text (user hit Ctrl+G but typed nothing) — just end the chain.
|
|
432
|
+
break;
|
|
433
|
+
}
|
|
337
434
|
// ── Auto-fallback path ─────────────────────────────────
|
|
338
435
|
// Categorize the error. If it's "unknown" (the provider returned a
|
|
339
436
|
// cryptic empty error like "ERROR" or "Provider returned error" that
|
package/dist/query.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export type SandboxBackend = 'seatbelt' | 'bwrap' | 'none';
|
|
2
|
+
export type SandboxLevel = 'off' | 'standard' | 'strict';
|
|
3
|
+
interface BackendDetect {
|
|
4
|
+
backend: SandboxBackend;
|
|
5
|
+
available: boolean;
|
|
6
|
+
reason?: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Detect which sandbox backend (if any) is available on this machine.
|
|
10
|
+
* Cached after the first call; pass force=true to re-probe.
|
|
11
|
+
*/
|
|
12
|
+
export declare function detectBackend(force?: boolean): BackendDetect;
|
|
13
|
+
/**
|
|
14
|
+
* Wrap a shell command for the active backend at the requested level.
|
|
15
|
+
* Returns the wrapped command string and a label for logging. If the
|
|
16
|
+
* backend isn't available or level is 'off', returns the command
|
|
17
|
+
* unchanged (callers don't need to special-case).
|
|
18
|
+
*/
|
|
19
|
+
export declare function wrapCommand(cmd: string, opts: {
|
|
20
|
+
level: SandboxLevel;
|
|
21
|
+
cwd: string;
|
|
22
|
+
}): {
|
|
23
|
+
cmd: string;
|
|
24
|
+
label: string;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Status snapshot for the /sandbox slash command. Tells the user what's
|
|
28
|
+
* supported on this machine + what's currently active.
|
|
29
|
+
*/
|
|
30
|
+
export interface SandboxStatus {
|
|
31
|
+
backend: SandboxBackend;
|
|
32
|
+
available: boolean;
|
|
33
|
+
reason?: string;
|
|
34
|
+
platform: NodeJS.Platform;
|
|
35
|
+
}
|
|
36
|
+
export declare function status(): SandboxStatus;
|
|
37
|
+
export {};
|