erosolar-cli 1.5.12 → 1.5.14

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.
@@ -110,4 +110,176 @@ export declare class SimpleInputBox {
110
110
  */
111
111
  close(): void;
112
112
  }
113
+ /**
114
+ * Queued command entry
115
+ */
116
+ export interface QueuedCommand {
117
+ id: string;
118
+ text: string;
119
+ type: 'request' | 'continuous' | 'slash';
120
+ timestamp: number;
121
+ preview: string;
122
+ }
123
+ /**
124
+ * Pinned chat box state
125
+ */
126
+ export interface PinnedChatBoxState {
127
+ isProcessing: boolean;
128
+ queuedCommands: QueuedCommand[];
129
+ currentInput: string;
130
+ contextUsage: number;
131
+ statusMessage: string | null;
132
+ isVisible: boolean;
133
+ }
134
+ /**
135
+ * PinnedChatBox - Persistent input box pinned to bottom of terminal
136
+ *
137
+ * Features:
138
+ * - Always visible at bottom of terminal
139
+ * - Accepts input while AI is processing (queues commands)
140
+ * - Shows queue status and context usage
141
+ * - Non-blocking - doesn't interfere with output scroll
142
+ */
143
+ export declare class PinnedChatBox {
144
+ private writeStream;
145
+ private state;
146
+ private promptText;
147
+ private reservedLines;
148
+ private _lastRenderedHeight;
149
+ private inputBuffer;
150
+ private cursorPosition;
151
+ private commandIdCounter;
152
+ private onCommandQueued?;
153
+ private onInputSubmit?;
154
+ private renderScheduled;
155
+ private isEnabled;
156
+ constructor(writeStream: NodeJS.WriteStream, promptText?: string, options?: {
157
+ onCommandQueued?: (cmd: QueuedCommand) => void;
158
+ onInputSubmit?: (input: string) => void;
159
+ });
160
+ /**
161
+ * Enable or disable the pinned chat box
162
+ */
163
+ setEnabled(enabled: boolean): void;
164
+ /**
165
+ * Set processing state
166
+ */
167
+ setProcessing(isProcessing: boolean): void;
168
+ /**
169
+ * Update context usage percentage
170
+ */
171
+ setContextUsage(percentage: number): void;
172
+ /**
173
+ * Set status message
174
+ */
175
+ setStatusMessage(message: string | null): void;
176
+ /**
177
+ * Set prompt text
178
+ */
179
+ setPromptText(text: string): void;
180
+ /**
181
+ * Queue a command for execution
182
+ */
183
+ queueCommand(text: string, type?: 'request' | 'continuous' | 'slash'): QueuedCommand;
184
+ /**
185
+ * Remove a command from the queue
186
+ */
187
+ dequeueCommand(): QueuedCommand | undefined;
188
+ /**
189
+ * Clear the entire queue
190
+ */
191
+ clearQueue(): void;
192
+ /**
193
+ * Get current queue
194
+ */
195
+ getQueue(): QueuedCommand[];
196
+ /**
197
+ * Get queue length
198
+ */
199
+ getQueueLength(): number;
200
+ /**
201
+ * Handle character input
202
+ */
203
+ handleInput(char: string): void;
204
+ /**
205
+ * Handle backspace
206
+ */
207
+ handleBackspace(): void;
208
+ /**
209
+ * Handle delete key
210
+ */
211
+ handleDelete(): void;
212
+ /**
213
+ * Handle cursor left
214
+ */
215
+ handleCursorLeft(): void;
216
+ /**
217
+ * Handle cursor right
218
+ */
219
+ handleCursorRight(): void;
220
+ /**
221
+ * Handle home key
222
+ */
223
+ handleHome(): void;
224
+ /**
225
+ * Handle end key
226
+ */
227
+ handleEnd(): void;
228
+ /**
229
+ * Handle enter/submit
230
+ */
231
+ handleSubmit(): string | null;
232
+ /**
233
+ * Clear input buffer
234
+ */
235
+ clearInput(): void;
236
+ /**
237
+ * Set input text (for history navigation etc)
238
+ */
239
+ setInput(text: string): void;
240
+ /**
241
+ * Get current input
242
+ */
243
+ getInput(): string;
244
+ /**
245
+ * Schedule a render on next tick (debounced)
246
+ */
247
+ private scheduleRender;
248
+ /**
249
+ * Render the pinned chat box
250
+ */
251
+ render(): void;
252
+ /**
253
+ * Clear the pinned area
254
+ */
255
+ clear(): void;
256
+ /**
257
+ * Show the chat box
258
+ */
259
+ show(): void;
260
+ /**
261
+ * Hide the chat box
262
+ */
263
+ hide(): void;
264
+ /**
265
+ * Get current state
266
+ */
267
+ getState(): PinnedChatBoxState;
268
+ /**
269
+ * Handle terminal resize
270
+ */
271
+ handleResize(): void;
272
+ /**
273
+ * Get number of reserved lines at bottom
274
+ */
275
+ getReservedLines(): number;
276
+ /**
277
+ * Get last rendered height (for layout calculations)
278
+ */
279
+ getLastRenderedHeight(): number;
280
+ /**
281
+ * Dispose and cleanup
282
+ */
283
+ dispose(): void;
284
+ }
113
285
  //# sourceMappingURL=persistentPrompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"persistentPrompt.d.ts","sourceRoot":"","sources":["../../src/ui/persistentPrompt.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAG1C,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,WAAW,CAAc;gBAErB,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,UAAU,GAAE,MAAa;IAWtE;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIjC;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAKnD;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI;IAIrD;;OAEG;IACH,UAAU,IAAI,IAAI;IASlB;;OAEG;IACH,IAAI,IAAI,IAAI;IAIZ;;OAEG;IACH,IAAI,IAAI,IAAI;IAIZ;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,OAAO,CAAC,eAAe;IAuBvB;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;OAEG;IACH,OAAO,IAAI,IAAI;CAGhB;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,EAAE,CAAmC;IAC7C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAc;gBAEpB,UAAU,GAAE,MAAa;IAIrC;;OAEG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC,SAAS;IAU9E;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAO7B;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI7B;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,IAAI;IAYtC;;OAEG;IACH,YAAY,IAAI,QAAQ,CAAC,SAAS,GAAG,IAAI;IAIzC;;OAEG;IACH,KAAK,IAAI,IAAI;CAMd"}
1
+ {"version":3,"file":"persistentPrompt.d.ts","sourceRoot":"","sources":["../../src/ui/persistentPrompt.ts"],"names":[],"mappings":"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"}
@@ -186,4 +186,401 @@ export class SimpleInputBox {
186
186
  }
187
187
  }
188
188
  }
189
+ /**
190
+ * ANSI escape codes for terminal control
191
+ */
192
+ const ANSI = {
193
+ SAVE_CURSOR: '\u001b7',
194
+ RESTORE_CURSOR: '\u001b8',
195
+ CURSOR_TO_BOTTOM: (rows) => `\u001b[${rows};1H`,
196
+ CLEAR_LINE: '\u001b[2K',
197
+ CLEAR_TO_END: '\u001b[0J',
198
+ MOVE_UP: (n) => `\u001b[${n}A`,
199
+ MOVE_DOWN: (n) => `\u001b[${n}B`,
200
+ MOVE_TO_COL: (col) => `\u001b[${col}G`,
201
+ HIDE_CURSOR: '\u001b[?25l',
202
+ SHOW_CURSOR: '\u001b[?25h',
203
+ // Scroll region
204
+ SET_SCROLL_REGION: (top, bottom) => `\u001b[${top};${bottom}r`,
205
+ RESET_SCROLL_REGION: '\u001b[r',
206
+ };
207
+ /**
208
+ * PinnedChatBox - Persistent input box pinned to bottom of terminal
209
+ *
210
+ * Features:
211
+ * - Always visible at bottom of terminal
212
+ * - Accepts input while AI is processing (queues commands)
213
+ * - Shows queue status and context usage
214
+ * - Non-blocking - doesn't interfere with output scroll
215
+ */
216
+ export class PinnedChatBox {
217
+ writeStream;
218
+ state;
219
+ promptText;
220
+ reservedLines = 3; // Lines reserved at bottom for chat box
221
+ _lastRenderedHeight = 0;
222
+ inputBuffer = '';
223
+ cursorPosition = 0;
224
+ commandIdCounter = 0;
225
+ onCommandQueued;
226
+ onInputSubmit;
227
+ renderScheduled = false;
228
+ isEnabled = true;
229
+ constructor(writeStream, promptText = '> ', options = {}) {
230
+ this.writeStream = writeStream;
231
+ this.promptText = promptText;
232
+ this.onCommandQueued = options.onCommandQueued;
233
+ this.onInputSubmit = options.onInputSubmit;
234
+ this.state = {
235
+ isProcessing: false,
236
+ queuedCommands: [],
237
+ currentInput: '',
238
+ contextUsage: 0,
239
+ statusMessage: null,
240
+ isVisible: true,
241
+ };
242
+ }
243
+ /**
244
+ * Enable or disable the pinned chat box
245
+ */
246
+ setEnabled(enabled) {
247
+ this.isEnabled = enabled;
248
+ if (!enabled) {
249
+ this.clear();
250
+ }
251
+ }
252
+ /**
253
+ * Set processing state
254
+ */
255
+ setProcessing(isProcessing) {
256
+ this.state.isProcessing = isProcessing;
257
+ this.scheduleRender();
258
+ }
259
+ /**
260
+ * Update context usage percentage
261
+ */
262
+ setContextUsage(percentage) {
263
+ this.state.contextUsage = Math.max(0, Math.min(100, percentage));
264
+ this.scheduleRender();
265
+ }
266
+ /**
267
+ * Set status message
268
+ */
269
+ setStatusMessage(message) {
270
+ this.state.statusMessage = message;
271
+ this.scheduleRender();
272
+ }
273
+ /**
274
+ * Set prompt text
275
+ */
276
+ setPromptText(text) {
277
+ this.promptText = text;
278
+ this.scheduleRender();
279
+ }
280
+ /**
281
+ * Queue a command for execution
282
+ */
283
+ queueCommand(text, type = 'request') {
284
+ const preview = text.length > 60 ? text.slice(0, 57) + '...' : text;
285
+ const cmd = {
286
+ id: `cmd-${++this.commandIdCounter}`,
287
+ text,
288
+ type,
289
+ timestamp: Date.now(),
290
+ preview,
291
+ };
292
+ this.state.queuedCommands.push(cmd);
293
+ this.scheduleRender();
294
+ if (this.onCommandQueued) {
295
+ this.onCommandQueued(cmd);
296
+ }
297
+ return cmd;
298
+ }
299
+ /**
300
+ * Remove a command from the queue
301
+ */
302
+ dequeueCommand() {
303
+ const cmd = this.state.queuedCommands.shift();
304
+ this.scheduleRender();
305
+ return cmd;
306
+ }
307
+ /**
308
+ * Clear the entire queue
309
+ */
310
+ clearQueue() {
311
+ this.state.queuedCommands = [];
312
+ this.scheduleRender();
313
+ }
314
+ /**
315
+ * Get current queue
316
+ */
317
+ getQueue() {
318
+ return [...this.state.queuedCommands];
319
+ }
320
+ /**
321
+ * Get queue length
322
+ */
323
+ getQueueLength() {
324
+ return this.state.queuedCommands.length;
325
+ }
326
+ /**
327
+ * Handle character input
328
+ */
329
+ handleInput(char) {
330
+ if (!this.isEnabled)
331
+ return;
332
+ // Insert character at cursor position
333
+ this.inputBuffer =
334
+ this.inputBuffer.slice(0, this.cursorPosition) +
335
+ char +
336
+ this.inputBuffer.slice(this.cursorPosition);
337
+ this.cursorPosition++;
338
+ this.state.currentInput = this.inputBuffer;
339
+ this.scheduleRender();
340
+ }
341
+ /**
342
+ * Handle backspace
343
+ */
344
+ handleBackspace() {
345
+ if (!this.isEnabled || this.cursorPosition === 0)
346
+ return;
347
+ this.inputBuffer =
348
+ this.inputBuffer.slice(0, this.cursorPosition - 1) +
349
+ this.inputBuffer.slice(this.cursorPosition);
350
+ this.cursorPosition--;
351
+ this.state.currentInput = this.inputBuffer;
352
+ this.scheduleRender();
353
+ }
354
+ /**
355
+ * Handle delete key
356
+ */
357
+ handleDelete() {
358
+ if (!this.isEnabled || this.cursorPosition >= this.inputBuffer.length)
359
+ return;
360
+ this.inputBuffer =
361
+ this.inputBuffer.slice(0, this.cursorPosition) +
362
+ this.inputBuffer.slice(this.cursorPosition + 1);
363
+ this.state.currentInput = this.inputBuffer;
364
+ this.scheduleRender();
365
+ }
366
+ /**
367
+ * Handle cursor left
368
+ */
369
+ handleCursorLeft() {
370
+ if (this.cursorPosition > 0) {
371
+ this.cursorPosition--;
372
+ this.scheduleRender();
373
+ }
374
+ }
375
+ /**
376
+ * Handle cursor right
377
+ */
378
+ handleCursorRight() {
379
+ if (this.cursorPosition < this.inputBuffer.length) {
380
+ this.cursorPosition++;
381
+ this.scheduleRender();
382
+ }
383
+ }
384
+ /**
385
+ * Handle home key
386
+ */
387
+ handleHome() {
388
+ this.cursorPosition = 0;
389
+ this.scheduleRender();
390
+ }
391
+ /**
392
+ * Handle end key
393
+ */
394
+ handleEnd() {
395
+ this.cursorPosition = this.inputBuffer.length;
396
+ this.scheduleRender();
397
+ }
398
+ /**
399
+ * Handle enter/submit
400
+ */
401
+ handleSubmit() {
402
+ if (!this.isEnabled)
403
+ return null;
404
+ const input = this.inputBuffer.trim();
405
+ if (!input)
406
+ return null;
407
+ // If processing, queue the command instead of submitting
408
+ if (this.state.isProcessing) {
409
+ const type = input.startsWith('/') ? 'slash' : 'request';
410
+ this.queueCommand(input, type);
411
+ this.clearInput();
412
+ return null;
413
+ }
414
+ // Clear input and notify
415
+ this.clearInput();
416
+ if (this.onInputSubmit) {
417
+ this.onInputSubmit(input);
418
+ }
419
+ return input;
420
+ }
421
+ /**
422
+ * Clear input buffer
423
+ */
424
+ clearInput() {
425
+ this.inputBuffer = '';
426
+ this.cursorPosition = 0;
427
+ this.state.currentInput = '';
428
+ this.scheduleRender();
429
+ }
430
+ /**
431
+ * Set input text (for history navigation etc)
432
+ */
433
+ setInput(text) {
434
+ this.inputBuffer = text;
435
+ this.cursorPosition = text.length;
436
+ this.state.currentInput = text;
437
+ this.scheduleRender();
438
+ }
439
+ /**
440
+ * Get current input
441
+ */
442
+ getInput() {
443
+ return this.inputBuffer;
444
+ }
445
+ /**
446
+ * Schedule a render on next tick (debounced)
447
+ */
448
+ scheduleRender() {
449
+ if (this.renderScheduled)
450
+ return;
451
+ this.renderScheduled = true;
452
+ queueMicrotask(() => {
453
+ this.renderScheduled = false;
454
+ this.render();
455
+ });
456
+ }
457
+ /**
458
+ * Render the pinned chat box
459
+ */
460
+ render() {
461
+ if (!this.isEnabled || !this.state.isVisible)
462
+ return;
463
+ const rows = this.writeStream.rows || 24;
464
+ const cols = this.writeStream.columns || 80;
465
+ // Build the chat box content
466
+ const lines = [];
467
+ // Line 1: Status bar (queue count, context usage, status message)
468
+ const statusParts = [];
469
+ if (this.state.queuedCommands.length > 0) {
470
+ const count = this.state.queuedCommands.length;
471
+ statusParts.push(theme.warning(`📋 ${count} queued`));
472
+ }
473
+ if (this.state.contextUsage > 0) {
474
+ const remaining = 100 - this.state.contextUsage;
475
+ const color = remaining < 10 ? theme.error : remaining < 30 ? theme.warning : theme.ui.muted;
476
+ statusParts.push(color(`${remaining}% context`));
477
+ }
478
+ if (this.state.statusMessage) {
479
+ statusParts.push(theme.ui.muted(this.state.statusMessage));
480
+ }
481
+ if (this.state.isProcessing) {
482
+ statusParts.push(theme.info('⏳ Processing...'));
483
+ }
484
+ const statusLine = statusParts.length > 0
485
+ ? statusParts.join(' │ ')
486
+ : theme.ui.muted('Ready');
487
+ lines.push(statusLine);
488
+ // Line 2: Separator
489
+ lines.push(theme.ui.border('─'.repeat(Math.min(cols - 2, 80))));
490
+ // Line 3: Input prompt with current input
491
+ const promptPrefix = this.state.isProcessing
492
+ ? theme.warning('⏸ ')
493
+ : theme.success('▶ ');
494
+ const displayInput = this.inputBuffer || '';
495
+ const inputLine = `${promptPrefix}${this.promptText}${displayInput}`;
496
+ lines.push(inputLine);
497
+ // Calculate cursor position for proper placement
498
+ const cursorCol = promptPrefix.replace(/\u001b\[[0-9;]*m/g, '').length +
499
+ this.promptText.length +
500
+ this.cursorPosition + 1;
501
+ // Save cursor, render at bottom, restore cursor
502
+ let output = ANSI.SAVE_CURSOR;
503
+ // Move to bottom area
504
+ const startRow = rows - this.reservedLines;
505
+ output += ANSI.CURSOR_TO_BOTTOM(startRow);
506
+ // Render each line
507
+ for (let i = 0; i < lines.length; i++) {
508
+ output += ANSI.CLEAR_LINE + lines[i];
509
+ if (i < lines.length - 1) {
510
+ output += '\n';
511
+ }
512
+ }
513
+ // Position cursor in input field
514
+ output += ANSI.MOVE_TO_COL(cursorCol);
515
+ // Don't restore cursor - keep it in the input field for typing
516
+ // output += ANSI.RESTORE_CURSOR;
517
+ this.writeStream.write(output);
518
+ this._lastRenderedHeight = lines.length;
519
+ }
520
+ /**
521
+ * Clear the pinned area
522
+ */
523
+ clear() {
524
+ if (!this.writeStream.rows)
525
+ return;
526
+ const rows = this.writeStream.rows;
527
+ let output = ANSI.SAVE_CURSOR;
528
+ // Move to pinned area and clear
529
+ const startRow = rows - this.reservedLines;
530
+ output += ANSI.CURSOR_TO_BOTTOM(startRow);
531
+ for (let i = 0; i < this.reservedLines; i++) {
532
+ output += ANSI.CLEAR_LINE;
533
+ if (i < this.reservedLines - 1) {
534
+ output += '\n';
535
+ }
536
+ }
537
+ output += ANSI.RESTORE_CURSOR;
538
+ this.writeStream.write(output);
539
+ }
540
+ /**
541
+ * Show the chat box
542
+ */
543
+ show() {
544
+ this.state.isVisible = true;
545
+ this.render();
546
+ }
547
+ /**
548
+ * Hide the chat box
549
+ */
550
+ hide() {
551
+ this.state.isVisible = false;
552
+ this.clear();
553
+ }
554
+ /**
555
+ * Get current state
556
+ */
557
+ getState() {
558
+ return { ...this.state };
559
+ }
560
+ /**
561
+ * Handle terminal resize
562
+ */
563
+ handleResize() {
564
+ this.scheduleRender();
565
+ }
566
+ /**
567
+ * Get number of reserved lines at bottom
568
+ */
569
+ getReservedLines() {
570
+ return this.reservedLines;
571
+ }
572
+ /**
573
+ * Get last rendered height (for layout calculations)
574
+ */
575
+ getLastRenderedHeight() {
576
+ return this._lastRenderedHeight;
577
+ }
578
+ /**
579
+ * Dispose and cleanup
580
+ */
581
+ dispose() {
582
+ this.clear();
583
+ this.isEnabled = false;
584
+ }
585
+ }
189
586
  //# sourceMappingURL=persistentPrompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"persistentPrompt.js","sourceRoot":"","sources":["../../src/ui/persistentPrompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persistentPrompt.js","sourceRoot":"","sources":["../../src/ui/persistentPrompt.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "erosolar-cli",
3
- "version": "1.5.12",
3
+ "version": "1.5.14",
4
4
  "description": "Unified AI agent framework for the command line - Multi-provider support with schema-driven tools, code intelligence, and transparent reasoning",
5
5
  "main": "dist/bin/erosolar-optimized.js",
6
6
  "type": "module",