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.
@@ -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":"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"}
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
- // Printable ASCII or CR/LF
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
- const inputGuard = startInputSuppression();
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 {};