compact-agent 1.32.1 → 1.33.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,25 @@
1
+ import type { Interface as RLInterface } from 'node:readline';
2
+ export interface SuggestItem {
3
+ /** The slash command, e.g. "/help". */
4
+ command: string;
5
+ /** One-line description shown in the second column. */
6
+ description: string;
7
+ }
8
+ export interface InlineSuggestResult {
9
+ /** True if the user picked an item (Enter); false on Esc / Ctrl+C / Backspace-to-empty. */
10
+ accepted: boolean;
11
+ /** The chosen command, only set when accepted=true. */
12
+ command?: string;
13
+ /** The filter string at exit. Caller restores rl.line to this on
14
+ * cancel so the user can keep typing the partial command. */
15
+ filter: string;
16
+ }
17
+ /**
18
+ * Show the inline suggest dropdown and resolve when the user picks
19
+ * or cancels.
20
+ *
21
+ * The caller must have already cleared rl.line and refreshed the
22
+ * prompt — the cursor should be sitting at the typing position when
23
+ * this is called (so DECSC captures the right anchor).
24
+ */
25
+ export declare function inlineSuggest(_rl: RLInterface, items: SuggestItem[], initialFilter?: string): Promise<InlineSuggestResult>;
@@ -0,0 +1,277 @@
1
+ /**
2
+ * Inline command-suggest dropdown — renders directly below the prompt
3
+ * cursor without taking over the screen.
4
+ *
5
+ * Mental model: Claude Code's `/` autocomplete. The dropdown sits
6
+ * inline beneath the live prompt, showing matching slash commands in
7
+ * two columns (command + one-line description), narrowing as the user
8
+ * types. Unlike picker.ts (which uses the alt-screen buffer for a
9
+ * full-screen list), this widget stays in the normal screen buffer
10
+ * and only paints a few rows of dropdown below the cursor — the
11
+ * surrounding chat output stays visible.
12
+ *
13
+ * Render strategy
14
+ * ───────────────
15
+ * On entry we save the current cursor position with DECSC (`\x1b7`).
16
+ * That position is the anchor: right after the prompt glyph, before
17
+ * the filter chars. Every render:
18
+ *
19
+ * 1. Restore to anchor (DECRC `\x1b8`)
20
+ * 2. Clear from cursor to end of screen (`\x1b[J`)
21
+ * 3. Write the filter text (cursor advances along the prompt row)
22
+ * 4. `\r\n` + rows of dropdown content below
23
+ * 5. Restore to anchor again, then move right by filter.length so
24
+ * the cursor sits at the end of the filter (where the user
25
+ * expects to be typing)
26
+ *
27
+ * The single DECSC/DECRC pair is enough because the anchor never
28
+ * moves during the lifetime of the widget. We compute the final
29
+ * cursor position from filter.length rather than re-saving.
30
+ *
31
+ * Caveats:
32
+ * - Long filter that wraps to a new line breaks the column math.
33
+ * Filters are typically < 30 chars so this is acceptable.
34
+ * - If the dropdown would extend past the bottom of the terminal,
35
+ * the screen scrolls and the saved cursor position becomes
36
+ * stale. We cap visible rows to MAX_ROWS to keep this rare.
37
+ *
38
+ * Key handling
39
+ * ────────────
40
+ * While suggest is active, we detach all non-hotkey `keypress`
41
+ * listeners so readline's line editor stops processing input (which
42
+ * would otherwise echo chars into rl.line, navigate history on Up,
43
+ * and emit 'line' on Enter — fighting our dropdown). We add a raw
44
+ * `data` listener that parses bytes directly:
45
+ *
46
+ * Ctrl+C / Esc cancel
47
+ * Enter (CR or LF) accept current selection
48
+ * Up / Down move selection
49
+ * Backspace delete last filter char; dismiss if empty
50
+ * Printable ASCII append to filter, reset selection to 0
51
+ *
52
+ * Returns `{ accepted, command?, filter }`. The caller is
53
+ * responsible for:
54
+ * - On accept: stashing the chosen command in
55
+ * __crowcoderQueuedInput and emitting 'line' to submit
56
+ * - On cancel: restoring rl.line to `filter` so the user can keep
57
+ * typing the partial command they had
58
+ */
59
+ import { stdin, stdout } from 'node:process';
60
+ const ANSI = {
61
+ cursorSave: '\x1b7',
62
+ cursorRestore: '\x1b8',
63
+ clearToEnd: '\x1b[J',
64
+ reverse: '\x1b[7m',
65
+ dim: '\x1b[2m',
66
+ reset: '\x1b[0m',
67
+ };
68
+ /** Cap visible dropdown rows. Trades discoverability for keeping the
69
+ * surrounding chat output visible. Matches Claude Code's behavior. */
70
+ const MAX_ROWS = 8;
71
+ /**
72
+ * Show the inline suggest dropdown and resolve when the user picks
73
+ * or cancels.
74
+ *
75
+ * The caller must have already cleared rl.line and refreshed the
76
+ * prompt — the cursor should be sitting at the typing position when
77
+ * this is called (so DECSC captures the right anchor).
78
+ */
79
+ export async function inlineSuggest(_rl, items, initialFilter = '/') {
80
+ return new Promise((resolve) => {
81
+ let filter = initialFilter;
82
+ let selected = 0;
83
+ // Save the anchor — current cursor position is right after the
84
+ // prompt glyph, before the filter text we're about to render.
85
+ stdout.write(ANSI.cursorSave);
86
+ // Defensive: ensure raw mode is on and the stream is flowing.
87
+ // readline normally has these set already, but if the parent ever
88
+ // pauses stdin or flips raw mode off, our data listener wouldn't
89
+ // see typed bytes and the per-char update would silently break.
90
+ const wasRaw = stdin.isRaw;
91
+ try {
92
+ stdin.setRawMode(true);
93
+ }
94
+ catch { /* noop */ }
95
+ stdin.resume();
96
+ // Detach readline's keypress listeners so the line editor doesn't
97
+ // also process input. The hotkey listener (tagged
98
+ // __crowcoderHotkey__) stays attached because it has its own
99
+ // bail for `pickerActive`; the others (readline's own internal
100
+ // emitter, history nav) get pulled.
101
+ const allKeypress = stdin.listeners('keypress').slice();
102
+ const togglable = allKeypress.filter((l) => !l.__crowcoderHotkey__);
103
+ for (const l of togglable)
104
+ stdin.removeListener('keypress', l);
105
+ function visibleItems() {
106
+ // Strip leading '/' for matching — the filter starts with '/'
107
+ // (since that's the trigger) but the commands also start with
108
+ // '/', so the slash is implicit and we want to match on the
109
+ // letters that come after.
110
+ const f = filter.replace(/^\//, '').toLowerCase();
111
+ if (!f)
112
+ return items.slice();
113
+ return items.filter((it) => it.command.toLowerCase().includes(f) ||
114
+ it.description.toLowerCase().includes(f));
115
+ }
116
+ function render() {
117
+ const visible = visibleItems();
118
+ if (selected >= visible.length)
119
+ selected = Math.max(0, visible.length - 1);
120
+ if (selected < 0)
121
+ selected = 0;
122
+ const shown = visible.slice(0, MAX_ROWS);
123
+ // Column widths — command col sized to longest visible command,
124
+ // clamped to a reasonable range so the description col gets
125
+ // enough space on narrow terminals.
126
+ const cmdCol = Math.min(20, Math.max(10, shown.reduce((m, it) => Math.max(m, it.command.length), 0)));
127
+ const termCols = stdout.columns || 80;
128
+ // Reserve: 2 (indent) + cmdCol + 2 (gutter) + descMax + safety
129
+ const descMax = Math.max(20, termCols - cmdCol - 6);
130
+ stdout.write(ANSI.cursorRestore); // back to anchor
131
+ stdout.write(ANSI.clearToEnd); // wipe filter + dropdown from prev frame
132
+ stdout.write(filter); // redraw filter on prompt row
133
+ if (shown.length === 0) {
134
+ stdout.write(`\r\n ${ANSI.dim}(no matches — Backspace to clear, Esc to dismiss)${ANSI.reset}`);
135
+ }
136
+ else {
137
+ for (let i = 0; i < shown.length; i++) {
138
+ const it = shown[i];
139
+ const isSel = i === selected;
140
+ let cmd = it.command;
141
+ if (cmd.length > cmdCol)
142
+ cmd = cmd.slice(0, cmdCol - 1) + '…';
143
+ else
144
+ cmd = cmd.padEnd(cmdCol, ' ');
145
+ let desc = it.description;
146
+ if (desc.length > descMax)
147
+ desc = desc.slice(0, descMax - 1) + '…';
148
+ // Selected row: reverse-video the whole row for clear
149
+ // contrast (matches Claude Code's highlight). Unselected:
150
+ // command in default color, description dim — keeps the
151
+ // dropdown visually quiet.
152
+ const line = isSel
153
+ ? `${ANSI.reverse} ${cmd} ${desc}${ANSI.reset}`
154
+ : ` ${cmd} ${ANSI.dim}${desc}${ANSI.reset}`;
155
+ stdout.write(`\r\n${line}`);
156
+ }
157
+ if (visible.length > shown.length) {
158
+ stdout.write(`\r\n ${ANSI.dim}… ${visible.length - shown.length} more · type to narrow${ANSI.reset}`);
159
+ }
160
+ }
161
+ // Cursor back to anchor + advance to end of filter, so the
162
+ // user sees the caret where they expect to be typing.
163
+ stdout.write(ANSI.cursorRestore);
164
+ if (filter.length > 0) {
165
+ stdout.write(`\x1b[${filter.length}C`);
166
+ }
167
+ }
168
+ function teardown() {
169
+ stdin.removeListener('data', onData);
170
+ for (const l of togglable)
171
+ stdin.on('keypress', l);
172
+ // Restore raw-mode state. (Leaving stdin paused or in cooked
173
+ // mode would break readline's next prompt.)
174
+ try {
175
+ stdin.setRawMode(wasRaw);
176
+ }
177
+ catch { /* noop */ }
178
+ // Wipe the dropdown + filter from the screen. The caller
179
+ // restores rl.line + redraws the prompt as needed.
180
+ stdout.write(ANSI.cursorRestore);
181
+ stdout.write(ANSI.clearToEnd);
182
+ }
183
+ function onData(buf) {
184
+ // Ctrl+C — cancel (treated same as Esc; the parent loop sees
185
+ // Ctrl+C separately if pressed mid-stream).
186
+ if (buf.length === 1 && buf[0] === 0x03) {
187
+ teardown();
188
+ resolve({ accepted: false, filter });
189
+ return;
190
+ }
191
+ // Esc (bare) — cancel. Multi-byte chunks starting with 0x1B
192
+ // are arrow keys / function keys (handled below).
193
+ if (buf.length === 1 && buf[0] === 0x1B) {
194
+ teardown();
195
+ resolve({ accepted: false, filter });
196
+ return;
197
+ }
198
+ // Enter — accept current selection (if any).
199
+ if (buf.length === 1 && (buf[0] === 0x0D || buf[0] === 0x0A)) {
200
+ const visible = visibleItems();
201
+ if (visible.length === 0)
202
+ return;
203
+ const chosen = visible[selected];
204
+ teardown();
205
+ resolve({ accepted: true, command: chosen.command, filter });
206
+ return;
207
+ }
208
+ // Backspace (DEL 0x7F on POSIX, BS 0x08 on Windows).
209
+ if (buf.length === 1 && (buf[0] === 0x7F || buf[0] === 0x08)) {
210
+ if (filter.length <= 1) {
211
+ // Deleting the only char (typically the leading '/') —
212
+ // dismiss the dropdown and let the user have a blank line.
213
+ filter = '';
214
+ teardown();
215
+ resolve({ accepted: false, filter });
216
+ return;
217
+ }
218
+ filter = filter.slice(0, -1);
219
+ selected = 0;
220
+ render();
221
+ return;
222
+ }
223
+ // Arrow keys: `Esc [ <code>` (3 bytes).
224
+ if (buf.length >= 3 && buf[0] === 0x1B && buf[1] === 0x5B) {
225
+ const code = buf[2];
226
+ if (code === 0x41) { // Up
227
+ const visible = visibleItems();
228
+ if (visible.length > 0) {
229
+ selected = (selected - 1 + visible.length) % visible.length;
230
+ }
231
+ render();
232
+ return;
233
+ }
234
+ if (code === 0x42) { // Down
235
+ const visible = visibleItems();
236
+ if (visible.length > 0) {
237
+ selected = (selected + 1) % visible.length;
238
+ }
239
+ render();
240
+ return;
241
+ }
242
+ // Left/Right/Home/End/PgUp/PgDn — ignore in inline mode.
243
+ return;
244
+ }
245
+ // Tab — accept selection but DON'T submit. Useful when the
246
+ // command takes args (e.g. /model <name>) and the user wants
247
+ // to fill the command then add the arg.
248
+ if (buf.length === 1 && buf[0] === 0x09) {
249
+ const visible = visibleItems();
250
+ if (visible.length === 0)
251
+ return;
252
+ const chosen = visible[selected];
253
+ teardown();
254
+ // We signal "accepted, but don't submit" by returning the
255
+ // command with a trailing space — the caller checks for that.
256
+ resolve({ accepted: true, command: chosen.command + ' ', filter });
257
+ return;
258
+ }
259
+ // Printable input — extend filter and re-render. This is the
260
+ // per-char update path: every byte the user types lands here
261
+ // and immediately triggers render(), which recomputes visible
262
+ // items from the current filter and repaints the dropdown.
263
+ // Fast typing can deliver a multi-byte chunk in a single data
264
+ // event; we treat that as one render rather than one per byte
265
+ // (no visible difference, fewer paints).
266
+ const s = buf.toString('utf-8');
267
+ if (/^[\x20-\x7E]+$/.test(s)) {
268
+ filter += s;
269
+ selected = 0;
270
+ render();
271
+ }
272
+ }
273
+ stdin.on('data', onData);
274
+ render();
275
+ });
276
+ }
277
+ //# sourceMappingURL=inline-suggest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline-suggest.js","sourceRoot":"","sources":["../src/inline-suggest.ts"],"names":[],"mappings":"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"}
package/dist/query.js CHANGED
@@ -505,7 +505,11 @@ export async function runQuery(ctx) {
505
505
  // showThinking defaults to true; only off when explicitly disabled.
506
506
  if (ctx.config.showThinking !== false) {
507
507
  if (!thinkingActive) {
508
- printThinkingOpen();
508
+ // Await the boot animation before streaming the first
509
+ // thinking token — the animation paints in-place on the
510
+ // header row and the streamed text needs to land on the
511
+ // row below it.
512
+ await printThinkingOpen();
509
513
  thinkingActive = true;
510
514
  }
511
515
  printThinkingText(event.content);
@@ -513,7 +517,9 @@ export async function runQuery(ctx) {
513
517
  }
514
518
  else if (event.type === 'text' && event.content) {
515
519
  if (thinkingActive) {
516
- printThinkingClose();
520
+ // Await the collapse animation so subsequent text streams
521
+ // onto a fresh row beneath the settled footer.
522
+ await printThinkingClose();
517
523
  thinkingActive = false;
518
524
  }
519
525
  if (!hasOutput) {
@@ -1019,7 +1025,11 @@ async function executeToolCalls(toolCalls, ctx, inputGuard, chainStats) {
1019
1025
  continue;
1020
1026
  }
1021
1027
  // ── Execute ───────────────────────────────────────────
1022
- printToolRun(toolName, formatArgs(tool, input));
1028
+ // printToolRun is now async (animated boot + persistent spinner).
1029
+ // Await before kicking off the actual tool — the boot animation
1030
+ // is short (~150ms) and the spinner starts ticking immediately
1031
+ // after, so the user sees motion the entire time the tool runs.
1032
+ await printToolRun(toolName, formatArgs(tool, input));
1023
1033
  // Update status for F1 status hotkey — include a short arg snippet so
1024
1034
  // the speaker can hear "executing bash, list directory, 4 seconds
1025
1035
  // elapsed" instead of just "tool".
@@ -1044,7 +1054,10 @@ async function executeToolCalls(toolCalls, ctx, inputGuard, chainStats) {
1044
1054
  isError: !!result.isError,
1045
1055
  outputPreview: String(result.output ?? '').slice(0, 200),
1046
1056
  });
1047
- printToolResult(!result.isError, elapsed, result.output);
1057
+ // Stops the spinner, paints the settle animation, then commits
1058
+ // the final ✓/✗ result line. Async — must await so the next
1059
+ // tool's run line doesn't overwrite mid-settle.
1060
+ await printToolResult(!result.isError, elapsed, result.output);
1048
1061
  }
1049
1062
  // Stash last-tool-call info so the Shift+F3 hotkey (src/index.ts) can
1050
1063
  // re-announce "what did the model just do." Truncate the preview to
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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"}
package/dist/theme.d.ts CHANGED
@@ -81,18 +81,45 @@ export declare const theme: Theme;
81
81
  * was found and applied; false if id was unknown.
82
82
  */
83
83
  export declare function setPalette(id: string): boolean;
84
- export declare function printBanner(provider: string, model: string, mode: string, permissionMode: string, sessionId: string, toolNames: string[]): void;
84
+ export declare function printBanner(provider: string, model: string, mode: string, permissionMode: string, sessionId: string, _toolNames: string[]): void;
85
85
  export declare function formatDuration(ms: number): string;
86
86
  export declare function printSplash(): void;
87
87
  export declare function installScreenReaderDispatch(transform: (s: string) => string): void;
88
88
  export declare function uninstallScreenReaderDispatch(): void;
89
89
  export declare function printSection(title: string): void;
90
90
  export declare function printKV(key: string, value: string, indent?: number): void;
91
- export declare function printToolRun(name: string, args: string): void;
92
- export declare function printToolResult(success: boolean, elapsed: number, output: string): void;
93
- export declare function printThinkingOpen(): void;
91
+ export declare function printToolRun(name: string, args: string): Promise<void>;
92
+ export declare function printToolResult(success: boolean, elapsed: number, output: string): Promise<void>;
93
+ export declare function printThinkingOpen(): Promise<void>;
94
94
  export declare function printThinkingText(text: string): void;
95
- export declare function printThinkingClose(): void;
95
+ /**
96
+ * Close the thinking section.
97
+ *
98
+ * By default, COLLAPSES the streamed content into a one-liner — uses
99
+ * ANSI cursor-up + clear-to-end-of-screen to erase the panel we just
100
+ * printed, then writes a compact "▶ thinking · N tokens · /think to
101
+ * expand" footer in its place. The full buffer is stashed on
102
+ * globalThis so /think can re-print it later.
103
+ *
104
+ * Pass `{ collapse: false }` to skip the collapse and leave the
105
+ * expanded panel on screen (used by expandLastThinking()).
106
+ *
107
+ * Safety: if the thinking output is taller than the terminal can
108
+ * reliably address with cursor-up (more rows than the terminal has,
109
+ * or terminal-width-wrapped lines we can't count precisely), we skip
110
+ * the collapse and just print the footer below. The user still gets
111
+ * the count + elapsed; the panel stays where it is.
112
+ */
113
+ export declare function printThinkingClose(opts?: {
114
+ collapse?: boolean;
115
+ }): Promise<void>;
116
+ /**
117
+ * Re-print the most recent thinking block (the one /think collapses)
118
+ * in expanded form. Returns false if there's no thinking buffered for
119
+ * this session yet — the slash command uses that to print a "no
120
+ * thinking captured yet" message instead.
121
+ */
122
+ export declare function expandLastThinking(): boolean;
96
123
  export declare function printCost(prompt: number, completion: number, cost: number, warning?: string, elapsedMs?: number): void;
97
124
  /**
98
125
  * Pattern-match an API error message + status into a specific category,