erosolar-cli 1.7.377 → 1.7.380

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.
@@ -13,11 +13,11 @@
13
13
  * - Shift+Tab: Cycle edit modes (auto -> ask -> plan)
14
14
  * - Tab: Toggle thinking modes (standard -> extended -> ultrathinking)
15
15
  * - PageUp/PageDown: Scroll through output
16
- * - Alt+V: Toggle verification
17
- * - Alt+C: Toggle auto-continue
18
- * - Alt+T: Toggle thinking mode
19
- * - Alt+E: Toggle edit permission mode
20
- * - Alt+X: Clear/compact context
16
+ * - Ctrl+Shift+V: Toggle verification
17
+ * - Ctrl+Shift+C: Toggle auto-continue
18
+ * - Ctrl+Shift+T: Toggle thinking mode
19
+ * - Ctrl+Shift+E: Toggle edit permission mode
20
+ * - Ctrl+Shift+X: Clear/compact context
21
21
  */
22
22
  export interface KeyboardShortcut {
23
23
  key: string;
@@ -13,11 +13,11 @@
13
13
  * - Shift+Tab: Cycle edit modes (auto -> ask -> plan)
14
14
  * - Tab: Toggle thinking modes (standard -> extended -> ultrathinking)
15
15
  * - PageUp/PageDown: Scroll through output
16
- * - Alt+V: Toggle verification
17
- * - Alt+C: Toggle auto-continue
18
- * - Alt+T: Toggle thinking mode
19
- * - Alt+E: Toggle edit permission mode
20
- * - Alt+X: Clear/compact context
16
+ * - Ctrl+Shift+V: Toggle verification
17
+ * - Ctrl+Shift+C: Toggle auto-continue
18
+ * - Ctrl+Shift+T: Toggle thinking mode
19
+ * - Ctrl+Shift+E: Toggle edit permission mode
20
+ * - Ctrl+Shift+X: Clear/compact context
21
21
  */
22
22
  /**
23
23
  * All registered keyboard shortcuts
@@ -39,12 +39,12 @@ export const KEYBOARD_SHORTCUTS = [
39
39
  { key: 'PageDown', modifiers: [], action: 'scroll-down', description: 'Scroll down', category: 'navigation' },
40
40
  { key: 'Home', modifiers: ['ctrl'], action: 'scroll-top', description: 'Scroll to top', category: 'navigation' },
41
41
  { key: 'End', modifiers: ['ctrl'], action: 'scroll-bottom', description: 'Scroll to bottom', category: 'navigation' },
42
- // Mode toggles (Alt/Option key)
43
- { key: 'v', modifiers: ['alt'], action: 'toggle-verify', description: 'Toggle verification mode', category: 'mode' },
44
- { key: 'c', modifiers: ['alt'], action: 'toggle-auto-continue', description: 'Toggle auto-continue', category: 'mode' },
45
- { key: 't', modifiers: ['alt'], action: 'toggle-thinking', description: 'Toggle thinking mode', category: 'mode' },
46
- { key: 'e', modifiers: ['alt'], action: 'toggle-edit-mode', description: 'Toggle edit permission', category: 'mode' },
47
- { key: 'x', modifiers: ['alt'], action: 'compact-context', description: 'Compact context', category: 'session' },
42
+ // Mode toggles (Ctrl+Shift key)
43
+ { key: 'v', modifiers: ['ctrl', 'shift'], action: 'toggle-verify', description: 'Toggle verification mode', category: 'mode' },
44
+ { key: 'c', modifiers: ['ctrl', 'shift'], action: 'toggle-auto-continue', description: 'Toggle auto-continue', category: 'mode' },
45
+ { key: 't', modifiers: ['ctrl', 'shift'], action: 'toggle-thinking', description: 'Toggle thinking mode', category: 'mode' },
46
+ { key: 'e', modifiers: ['ctrl', 'shift'], action: 'toggle-edit-mode', description: 'Toggle edit permission', category: 'mode' },
47
+ { key: 'x', modifiers: ['ctrl', 'shift'], action: 'compact-context', description: 'Compact context', category: 'session' },
48
48
  // Editing
49
49
  { key: 'Return', modifiers: ['shift'], action: 'newline', description: 'Insert newline', category: 'editing' },
50
50
  { key: 'Return', modifiers: ['alt'], action: 'newline', description: 'Insert newline', category: 'editing' },
@@ -132,13 +132,13 @@ export function formatShortcutsHelp() {
132
132
  for (const s of shortcuts) {
133
133
  const mods = s.modifiers.map(m => {
134
134
  switch (m) {
135
- case 'ctrl': return 'Ctrl';
135
+ case 'ctrl': return '^';
136
136
  case 'alt': return '⌥';
137
137
  case 'shift': return '⇧';
138
138
  case 'meta': return '⌘';
139
139
  default: return m;
140
140
  }
141
- }).join('+');
141
+ }).join('');
142
142
  const keyStr = mods ? `${mods}+${s.key}` : s.key;
143
143
  const padding = ' '.repeat(Math.max(1, 18 - keyStr.length));
144
144
  lines.push(` ${keyStr}${padding}${s.description}`);
@@ -151,7 +151,7 @@ export function formatShortcutsHelp() {
151
151
  * Format compact shortcuts for status bar
152
152
  */
153
153
  export function formatCompactShortcuts() {
154
- return '? help · Esc stop · ⇧Tab mode · V verify · C auto · PgUp/Dn scroll';
154
+ return '? help · Esc stop · ⇧Tab mode · ^⇧V verify · ^⇧C auto · PgUp/Dn scroll';
155
155
  }
156
156
  /**
157
157
  * Get action description for display
@@ -1 +1 @@
1
- {"version":3,"file":"keyboardShortcuts.js","sourceRoot":"","sources":["../../src/shell/keyboardShortcuts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keyboardShortcuts.js","sourceRoot":"","sources":["../../src/shell/keyboardShortcuts.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,14 @@ export interface TerminalInputConfig {
52
52
  promptChar?: string;
53
53
  continuationChar?: string;
54
54
  }
55
+ /**
56
+ * Command suggestion for autocomplete
57
+ */
58
+ export interface CommandSuggestion {
59
+ command: string;
60
+ description: string;
61
+ category?: string;
62
+ }
55
63
  /**
56
64
  * Unified terminal input handler
57
65
  */
@@ -107,6 +115,10 @@ export declare class TerminalInput extends EventEmitter {
107
115
  private lastStreamingRender;
108
116
  private streamingRenderInterval;
109
117
  private streamingRenderTimer;
118
+ private commandSuggestions;
119
+ private showingSuggestions;
120
+ private selectedSuggestionIndex;
121
+ private maxVisibleSuggestions;
110
122
  constructor(writeStream?: NodeJS.WriteStream, config?: TerminalInputConfig);
111
123
  /**
112
124
  * Enable bracketed paste mode in terminal
@@ -183,6 +195,43 @@ export declare class TerminalInput extends EventEmitter {
183
195
  * Clear the queue
184
196
  */
185
197
  clearQueue(): void;
198
+ /**
199
+ * Set available commands for autocomplete.
200
+ * Call this once during initialization with all slash commands.
201
+ */
202
+ setAvailableCommands(commands: CommandSuggestion[]): void;
203
+ /**
204
+ * Check if command suggestions are currently being shown
205
+ */
206
+ isShowingSuggestions(): boolean;
207
+ /**
208
+ * Get filtered commands based on current input
209
+ */
210
+ private getFilteredCommands;
211
+ /**
212
+ * Update suggestion visibility based on current buffer
213
+ */
214
+ private updateSuggestionVisibility;
215
+ /**
216
+ * Handle selecting a suggestion (Enter key or click)
217
+ */
218
+ private selectSuggestion;
219
+ /**
220
+ * Move selection up in suggestions list
221
+ */
222
+ private moveSuggestionUp;
223
+ /**
224
+ * Move selection down in suggestions list
225
+ */
226
+ private moveSuggestionDown;
227
+ /**
228
+ * Cancel suggestion display (Escape)
229
+ */
230
+ private cancelSuggestions;
231
+ /**
232
+ * Build command suggestion display lines
233
+ */
234
+ private buildSuggestionLines;
186
235
  /**
187
236
  * Update the inline status message shown before the prompt (e.g., streaming heartbeat).
188
237
  */
@@ -325,6 +374,7 @@ export declare class TerminalInput extends EventEmitter {
325
374
  * - Meta lines (model, elapsed, tokens)
326
375
  * - Divider
327
376
  * - Input line(s) - expands for multi-line/wrapped input
377
+ * - Command suggestions (when showing)
328
378
  * - Control lines (wraps as needed to fit all toggles)
329
379
  * - Buffer
330
380
  */
@@ -1 +1 @@
1
- {"version":3,"file":"terminalInput.d.ts","sourceRoot":"","sources":["../../src/shell/terminalInput.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminalInput.d.ts","sourceRoot":"","sources":["../../src/shell/terminalInput.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAwD3C;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC;AACvD,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,gBAAgB,GAAG,MAAM,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAWD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAqB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IAGvD,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,IAAI,CAAqB;IAGjC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,YAAY,CAAK;IAGzB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAe;IAG1C,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,cAAc,CAAa;IAGnC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,qBAAqB,CAAuB;IACpD,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,sBAAsB,CAAkB;IAChD,OAAO,CAAC,iBAAiB,CAAc;IACvC,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,WAAW,CAAkB;IAGrC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,2BAA2B,CAAc;IAGjD,OAAO,CAAC,UAAU,CAAa;IAE/B,OAAO,CAAC,kBAAkB,CAAkB;IAC5C,OAAO,CAAC,iBAAiB,CAAuB;IAGhD,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAiB;IACpD,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,kBAAkB,CAAkB;IAC5C,OAAO,CAAC,oBAAoB,CAAa;IAGzC,OAAO,CAAC,qBAAqB,CAAkB;IAC/C,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,mBAAmB,CAAiB;IAC5C,OAAO,CAAC,mBAAmB,CAAkB;IAC7C,OAAO,CAAC,kBAAkB,CAAmB;IAC7C,OAAO,CAAC,kBAAkB,CAAmB;IAC7C,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,aAAa,CAAuB;IAG5C,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,uBAAuB,CAAe;IAC9C,OAAO,CAAC,oBAAoB,CAA8C;IAG1E,OAAO,CAAC,kBAAkB,CAA2B;IACrD,OAAO,CAAC,kBAAkB,CAAkB;IAC5C,OAAO,CAAC,uBAAuB,CAAa;IAC5C,OAAO,CAAC,qBAAqB,CAAc;gBAGzC,WAAW,GAAE,MAAM,CAAC,WAA4B,EAChD,MAAM,GAAE,mBAAwB;IAiBlC;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAM5B;;OAEG;IACH,qBAAqB,IAAI,IAAI;IAM7B;;OAEG;IACH,mBAAmB,IAAI,IAAI;IAM3B;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAM5B;;;OAGG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE;IAkExE;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAmCxB;;OAEG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI;IA2B3D;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAe9B;;;OAGG;IACH,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI1C;;OAEG;IACH,OAAO,IAAI,SAAS;IAIpB;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IASjD;;OAEG;IACH,KAAK,IAAI,IAAI;IAWb;;OAEG;IACH,QAAQ,IAAI,WAAW,EAAE;IAIzB;;OAEG;IACH,OAAO,IAAI,WAAW,GAAG,SAAS;IAMlC;;OAEG;IACH,UAAU,IAAI,IAAI;IASlB;;;OAGG;IACH,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,IAAI;IAIzD;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAmB3B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAiBlC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiBxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAc1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAQzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA4C5B;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAiB9C;;;OAGG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAgB/C;;;OAGG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAgB7C;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE;QAClB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B,GAAG,IAAI;IAyCR;;;OAGG;IACH,cAAc,CAAC,OAAO,EAAE;QACtB,mBAAmB,EAAE,OAAO,CAAC;QAC7B,mBAAmB,EAAE,OAAO,CAAC;QAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAClC,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,IAAI;IA6BR;;OAEG;IACH,cAAc,IAAI,IAAI;IAOtB;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI;IAWnF;;;;;;OAMG;IACH,MAAM,IAAI,IAAI;IAoCd;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IA+J3B;;;OAGG;IACH,OAAO,CAAC,cAAc;IAuDtB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,iBAAiB;IA4HzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,YAAY;IAyBpB,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,aAAa;IAKrB;;;OAGG;IACH,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE;IAQ1E;;OAEG;IACH,WAAW,IAAI,IAAI;IAOnB;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC;;OAEG;IACH,YAAY,IAAI,IAAI;IAapB;;;OAGG;IACH,0BAA0B,IAAI,IAAI;IAqBlC;;;OAGG;IACH,yBAAyB,IAAI,IAAI;IAiCjC;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;;OAGG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAuBpC;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAI1B;;OAEG;IACH,mBAAmB,IAAI,IAAI;IAI3B;;;;;;;;;OASG;IACH,OAAO,CAAC,gBAAgB;IAmCxB;;;OAGG;IACH,yBAAyB,CAAC,QAAQ,EAAE;QAClC,yBAAyB,EAAE,CAAC,CAAC,EAAE;YAAE,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;SAAE,KAAK,MAAM,IAAI,CAAC;KACrG,GAAG,IAAI;IAIR;;;OAGG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAyB1C;;;OAGG;IACH,oBAAoB,IAAI,IAAI;IAK5B;;;OAGG;IACH,mBAAmB,IAAI,IAAI;IAI3B;;;OAGG;IACH,uBAAuB,IAAI,OAAO;IAIlC;;OAEG;IACH,qBAAqB,IAAI,MAAM,EAAE;IAIjC;;;;OAIG;IACH,WAAW,IAAI,IAAI;IAanB;;;OAGG;IACH,oBAAoB,IAAI,IAAI;IAI5B;;;OAGG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIhC;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,OAAO,IAAI,IAAI;IAgBf,OAAO,CAAC,aAAa;IAwCrB;;;OAGG;IACH,OAAO,CAAC,aAAa;IA4FrB;;OAEG;IACH,OAAO,CAAC,WAAW;IAMnB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,gBAAgB;IAqHxB,OAAO,CAAC,UAAU;IAqBlB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,UAAU;IAuBlB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,QAAQ;IAuBhB,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,YAAY;IA2BpB,OAAO,CAAC,cAAc;IAwBtB,OAAO,CAAC,iBAAiB;IAuBzB,OAAO,CAAC,MAAM;IAoCd,OAAO,CAAC,WAAW;IAkCnB,OAAO,CAAC,UAAU;IAkElB;;OAEG;IACH,OAAO,CAAC,eAAe;IA0BvB;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAMhB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAIlB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAInB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAMtB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA4B7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA0BzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IASxB;;OAEG;IACH,mBAAmB,IAAI,MAAM,EAAE;IAI/B;;OAEG;IACH,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAQ3C;;OAEG;IACH,qBAAqB,IAAI,IAAI;IAU7B,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,WAAW;IA0BnB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,sBAAsB;IAuB9B,OAAO,CAAC,iBAAiB;IAQzB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI;IAe7E,WAAW,IAAI,aAAa;IAI5B,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAIxC,OAAO,CAAC,WAAW;IAOnB,cAAc,IAAI,IAAI;IAQtB,OAAO,CAAC,uBAAuB;IAc/B,OAAO,CAAC,4BAA4B;IAQpC,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,KAAK;IAUb,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,WAAW;CAIpB;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -127,6 +127,11 @@ export class TerminalInput extends EventEmitter {
127
127
  lastStreamingRender = 0;
128
128
  streamingRenderInterval = 250; // ms between renders during streaming
129
129
  streamingRenderTimer = null;
130
+ // Command autocomplete state
131
+ commandSuggestions = [];
132
+ showingSuggestions = false;
133
+ selectedSuggestionIndex = 0;
134
+ maxVisibleSuggestions = 10;
130
135
  constructor(writeStream = process.stdout, config = {}) {
131
136
  super();
132
137
  this.out = writeStream;
@@ -356,6 +361,8 @@ export class TerminalInput extends EventEmitter {
356
361
  this.historyIndex = -1;
357
362
  this.tempInput = '';
358
363
  this.pastePlaceholders = [];
364
+ this.showingSuggestions = false;
365
+ this.selectedSuggestionIndex = 0;
359
366
  this.scheduleRender();
360
367
  }
361
368
  /**
@@ -379,6 +386,148 @@ export class TerminalInput extends EventEmitter {
379
386
  this.queue = [];
380
387
  this.scheduleRender();
381
388
  }
389
+ // ===========================================================================
390
+ // COMMAND AUTOCOMPLETE
391
+ // ===========================================================================
392
+ /**
393
+ * Set available commands for autocomplete.
394
+ * Call this once during initialization with all slash commands.
395
+ */
396
+ setAvailableCommands(commands) {
397
+ this.commandSuggestions = commands;
398
+ }
399
+ /**
400
+ * Check if command suggestions are currently being shown
401
+ */
402
+ isShowingSuggestions() {
403
+ return this.showingSuggestions;
404
+ }
405
+ /**
406
+ * Get filtered commands based on current input
407
+ */
408
+ getFilteredCommands() {
409
+ const input = this.buffer.trim().toLowerCase();
410
+ // Only show suggestions if buffer starts with "/"
411
+ if (!input.startsWith('/')) {
412
+ return [];
413
+ }
414
+ // If just "/", show all commands
415
+ if (input === '/') {
416
+ return this.commandSuggestions;
417
+ }
418
+ // Filter commands that match the typed prefix
419
+ return this.commandSuggestions.filter(cmd => cmd.command.toLowerCase().startsWith(input));
420
+ }
421
+ /**
422
+ * Update suggestion visibility based on current buffer
423
+ */
424
+ updateSuggestionVisibility() {
425
+ const filtered = this.getFilteredCommands();
426
+ const shouldShow = filtered.length > 0 && this.buffer.startsWith('/');
427
+ if (shouldShow !== this.showingSuggestions) {
428
+ this.showingSuggestions = shouldShow;
429
+ this.selectedSuggestionIndex = 0;
430
+ this.scheduleRender();
431
+ }
432
+ else if (shouldShow) {
433
+ // Clamp selection index
434
+ this.selectedSuggestionIndex = Math.min(this.selectedSuggestionIndex, Math.max(0, filtered.length - 1));
435
+ }
436
+ }
437
+ /**
438
+ * Handle selecting a suggestion (Enter key or click)
439
+ */
440
+ selectSuggestion() {
441
+ if (!this.showingSuggestions)
442
+ return false;
443
+ const filtered = this.getFilteredCommands();
444
+ if (filtered.length === 0)
445
+ return false;
446
+ const selected = filtered[this.selectedSuggestionIndex];
447
+ if (!selected)
448
+ return false;
449
+ // Replace buffer with selected command
450
+ this.buffer = selected.command + ' ';
451
+ this.cursor = this.buffer.length;
452
+ this.showingSuggestions = false;
453
+ this.scheduleRender();
454
+ return true;
455
+ }
456
+ /**
457
+ * Move selection up in suggestions list
458
+ */
459
+ moveSuggestionUp() {
460
+ if (!this.showingSuggestions)
461
+ return false;
462
+ const filtered = this.getFilteredCommands();
463
+ if (filtered.length === 0)
464
+ return false;
465
+ this.selectedSuggestionIndex = Math.max(0, this.selectedSuggestionIndex - 1);
466
+ this.scheduleRender();
467
+ return true;
468
+ }
469
+ /**
470
+ * Move selection down in suggestions list
471
+ */
472
+ moveSuggestionDown() {
473
+ if (!this.showingSuggestions)
474
+ return false;
475
+ const filtered = this.getFilteredCommands();
476
+ if (filtered.length === 0)
477
+ return false;
478
+ this.selectedSuggestionIndex = Math.min(filtered.length - 1, this.selectedSuggestionIndex + 1);
479
+ this.scheduleRender();
480
+ return true;
481
+ }
482
+ /**
483
+ * Cancel suggestion display (Escape)
484
+ */
485
+ cancelSuggestions() {
486
+ if (!this.showingSuggestions)
487
+ return false;
488
+ this.showingSuggestions = false;
489
+ this.scheduleRender();
490
+ return true;
491
+ }
492
+ /**
493
+ * Build command suggestion display lines
494
+ */
495
+ buildSuggestionLines(width) {
496
+ if (!this.showingSuggestions)
497
+ return [];
498
+ const filtered = this.getFilteredCommands();
499
+ if (filtered.length === 0)
500
+ return [];
501
+ const lines = [];
502
+ const maxDisplay = Math.min(filtered.length, this.maxVisibleSuggestions);
503
+ // Header with navigation hint
504
+ const headerText = theme.ui.muted(`─── Commands (↑↓ navigate, Tab/Enter select, Esc cancel) ───`);
505
+ lines.push(headerText);
506
+ // Render visible suggestions
507
+ for (let i = 0; i < maxDisplay; i++) {
508
+ const cmd = filtered[i];
509
+ const isSelected = i === this.selectedSuggestionIndex;
510
+ // Format: [indicator] /command description
511
+ const indicator = isSelected ? theme.accent('▸') : ' ';
512
+ const cmdText = isSelected
513
+ ? theme.accent(cmd.command.padEnd(18))
514
+ : theme.primary(cmd.command.padEnd(18));
515
+ // Truncate description to fit
516
+ const descMaxLen = Math.max(10, width - 22);
517
+ const desc = cmd.description.length > descMaxLen
518
+ ? cmd.description.slice(0, descMaxLen - 2) + '..'
519
+ : cmd.description;
520
+ const descText = isSelected
521
+ ? theme.info(desc)
522
+ : theme.ui.muted(desc);
523
+ lines.push(`${indicator} ${cmdText} ${descText}`);
524
+ }
525
+ // Show "more" indicator if truncated
526
+ if (filtered.length > maxDisplay) {
527
+ lines.push(theme.ui.muted(` ... ${filtered.length - maxDisplay} more commands`));
528
+ }
529
+ return lines;
530
+ }
382
531
  /**
383
532
  * Update the inline status message shown before the prompt (e.g., streaming heartbeat).
384
533
  */
@@ -638,10 +787,19 @@ export class TerminalInput extends EventEmitter {
638
787
  this.write(' '.repeat(padding));
639
788
  this.write(ESC.RESET);
640
789
  }
790
+ // Command suggestions (shown above controls when "/" is typed)
791
+ const suggestionLines = this.buildSuggestionLines(cols - 2);
792
+ let suggestionRow = currentRow + visibleLines.length;
793
+ for (const suggestionLine of suggestionLines) {
794
+ this.write(ESC.TO(suggestionRow, 1));
795
+ this.write(' '); // Indent to match input
796
+ this.write(suggestionLine);
797
+ suggestionRow += 1;
798
+ }
641
799
  // Mode controls lines with all keyboard shortcuts
642
800
  // Can be multiple lines during streaming (status + toggles)
643
801
  const controlLines = this.buildModeControls(cols);
644
- let controlRow = currentRow + visibleLines.length;
802
+ let controlRow = suggestionRow;
645
803
  for (const controlLine of controlLines) {
646
804
  this.write(ESC.TO(controlRow, 1));
647
805
  this.write(controlLine);
@@ -771,19 +929,19 @@ export class TerminalInput extends EventEmitter {
771
929
  const contextTone = this.contextUsage > 80 ? 'warn' : this.contextUsage > 60 ? 'info' : 'muted';
772
930
  toggleParts.push({ text: `ctx:${remaining}%`, tone: contextTone });
773
931
  }
774
- // Verification toggle (Option+V) - Use "⌥" for Mac clarity
932
+ // Verification toggle (Alt+V)
775
933
  const verifyStatus = this.verificationEnabled ? '✓' : '○';
776
934
  toggleParts.push({
777
935
  text: `⌥V:${verifyStatus}verify`,
778
936
  tone: this.verificationEnabled ? 'success' : 'muted'
779
937
  });
780
- // Auto-continue toggle (Option+C) - Use "⌥" for Mac clarity
938
+ // Auto-continue toggle (Alt+C)
781
939
  const autoStatus = this.autoContinueEnabled ? '↻' : '○';
782
940
  toggleParts.push({
783
941
  text: `⌥C:${autoStatus}auto`,
784
942
  tone: this.autoContinueEnabled ? 'info' : 'muted'
785
943
  });
786
- // Thinking mode toggle (if available)
944
+ // Thinking mode toggle (Alt+T)
787
945
  if (this.thinkingModeLabel) {
788
946
  const shortThinking = this.thinkingModeLabel.length > 10
789
947
  ? this.thinkingModeLabel.slice(0, 8) + '..'
@@ -1048,6 +1206,7 @@ export class TerminalInput extends EventEmitter {
1048
1206
  * - Meta lines (model, elapsed, tokens)
1049
1207
  * - Divider
1050
1208
  * - Input line(s) - expands for multi-line/wrapped input
1209
+ * - Command suggestions (when showing)
1051
1210
  * - Control lines (wraps as needed to fit all toggles)
1052
1211
  * - Buffer
1053
1212
  */
@@ -1065,10 +1224,18 @@ export class TerminalInput extends EventEmitter {
1065
1224
  // Meta line only if we have model/elapsed info
1066
1225
  const hasMetaInfo = this.modelLabel || this.metaElapsedSeconds !== null || this.metaTokensUsed !== null;
1067
1226
  const metaLines = hasMetaInfo ? 1 : 0;
1068
- // Total: meta + divider + input lines + controls + buffer
1069
- // Limit total height to leave room for content (max ~40% of terminal)
1070
- const totalHeight = metaLines + 1 + inputLines + controlLineCount + 1;
1071
- const maxHeight = Math.max(6, Math.floor(rows * 0.4));
1227
+ // Command suggestion lines (when showing)
1228
+ let suggestionLines = 0;
1229
+ if (this.showingSuggestions) {
1230
+ const filtered = this.getFilteredCommands();
1231
+ suggestionLines = Math.min(filtered.length, this.maxVisibleSuggestions) + 1; // +1 for header
1232
+ }
1233
+ // Total: meta + divider + input lines + suggestions + controls + buffer
1234
+ // Limit total height to leave room for content (max ~50% of terminal when showing suggestions)
1235
+ const totalHeight = metaLines + 1 + inputLines + suggestionLines + controlLineCount + 1;
1236
+ const maxHeight = this.showingSuggestions
1237
+ ? Math.max(12, Math.floor(rows * 0.5))
1238
+ : Math.max(6, Math.floor(rows * 0.4));
1072
1239
  return Math.min(totalHeight, maxHeight);
1073
1240
  }
1074
1241
  /**
@@ -1325,10 +1492,21 @@ export class TerminalInput extends EventEmitter {
1325
1492
  if (key.shift || key.meta) {
1326
1493
  this.insertNewline();
1327
1494
  }
1495
+ else if (this.showingSuggestions) {
1496
+ // Select suggestion and don't submit yet
1497
+ this.selectSuggestion();
1498
+ }
1328
1499
  else {
1329
1500
  this.submit();
1330
1501
  }
1331
1502
  return true;
1503
+ case 'escape':
1504
+ // Cancel suggestions first, or emit interrupt
1505
+ if (this.cancelSuggestions()) {
1506
+ return true;
1507
+ }
1508
+ this.emit('interrupt');
1509
+ return true;
1332
1510
  case 'backspace':
1333
1511
  this.deleteBackward();
1334
1512
  return true;
@@ -1336,12 +1514,25 @@ export class TerminalInput extends EventEmitter {
1336
1514
  this.deleteForward();
1337
1515
  return true;
1338
1516
  case 'left':
1517
+ // Cancel suggestions on cursor movement
1518
+ if (this.showingSuggestions) {
1519
+ this.cancelSuggestions();
1520
+ }
1339
1521
  this.moveCursorLeft();
1340
1522
  return true;
1341
1523
  case 'right':
1524
+ // Cancel suggestions on cursor movement
1525
+ if (this.showingSuggestions) {
1526
+ this.cancelSuggestions();
1527
+ }
1342
1528
  this.moveCursorRight();
1343
1529
  return true;
1344
1530
  case 'up':
1531
+ // When showing suggestions, navigate up
1532
+ if (this.showingSuggestions) {
1533
+ this.moveSuggestionUp();
1534
+ return true;
1535
+ }
1345
1536
  // Ctrl+Shift+Up or Shift+Up: Quick scroll up in scrollback
1346
1537
  if ((key.ctrl && key.shift) || key.shift) {
1347
1538
  this.scrollUp(5);
@@ -1351,6 +1542,11 @@ export class TerminalInput extends EventEmitter {
1351
1542
  }
1352
1543
  return true;
1353
1544
  case 'down':
1545
+ // When showing suggestions, navigate down
1546
+ if (this.showingSuggestions) {
1547
+ this.moveSuggestionDown();
1548
+ return true;
1549
+ }
1354
1550
  // Ctrl+Shift+Down or Shift+Down: Quick scroll down in scrollback
1355
1551
  if ((key.ctrl && key.shift) || key.shift) {
1356
1552
  this.scrollDown(5);
@@ -1385,6 +1581,11 @@ export class TerminalInput extends EventEmitter {
1385
1581
  // Scrollback disabled in alternate screen mode
1386
1582
  return true;
1387
1583
  case 'tab':
1584
+ // Tab can select suggestion too
1585
+ if (this.showingSuggestions && !key.shift) {
1586
+ this.selectSuggestion();
1587
+ return true;
1588
+ }
1388
1589
  if (key.shift) {
1389
1590
  this.toggleEditMode();
1390
1591
  return true;
@@ -1407,6 +1608,8 @@ export class TerminalInput extends EventEmitter {
1407
1608
  this.insertPlainText(chunk, insertPos);
1408
1609
  this.cursor = insertPos + chunk.length;
1409
1610
  this.emit('change', this.buffer);
1611
+ // Update command autocomplete visibility
1612
+ this.updateSuggestionVisibility();
1410
1613
  this.scheduleRender();
1411
1614
  }
1412
1615
  insertNewline() {
@@ -1431,6 +1634,7 @@ export class TerminalInput extends EventEmitter {
1431
1634
  this.cursor = Math.max(0, this.cursor - 1);
1432
1635
  }
1433
1636
  this.emit('change', this.buffer);
1637
+ this.updateSuggestionVisibility();
1434
1638
  this.scheduleRender();
1435
1639
  }
1436
1640
  deleteForward() {
@@ -1444,6 +1648,7 @@ export class TerminalInput extends EventEmitter {
1444
1648
  this.removeRange(this.cursor, this.cursor + 1);
1445
1649
  }
1446
1650
  this.emit('change', this.buffer);
1651
+ this.updateSuggestionVisibility();
1447
1652
  this.scheduleRender();
1448
1653
  }
1449
1654
  deleteToStart() {
@@ -1452,6 +1657,7 @@ export class TerminalInput extends EventEmitter {
1452
1657
  this.removeRange(0, this.cursor);
1453
1658
  this.cursor = 0;
1454
1659
  this.emit('change', this.buffer);
1660
+ this.updateSuggestionVisibility();
1455
1661
  this.scheduleRender();
1456
1662
  }
1457
1663
  deleteToEnd() {
@@ -1459,6 +1665,7 @@ export class TerminalInput extends EventEmitter {
1459
1665
  return;
1460
1666
  this.removeRange(this.cursor, this.buffer.length);
1461
1667
  this.emit('change', this.buffer);
1668
+ this.updateSuggestionVisibility();
1462
1669
  this.scheduleRender();
1463
1670
  }
1464
1671
  deleteWord() {