erosolar-cli 1.5.13 → 1.5.15

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.
Files changed (28) hide show
  1. package/dist/capabilities/frontendTestingCapability.d.ts +13 -0
  2. package/dist/capabilities/frontendTestingCapability.d.ts.map +1 -0
  3. package/dist/capabilities/frontendTestingCapability.js +28 -0
  4. package/dist/capabilities/frontendTestingCapability.js.map +1 -0
  5. package/dist/capabilities/index.d.ts +1 -0
  6. package/dist/capabilities/index.d.ts.map +1 -1
  7. package/dist/capabilities/index.js +1 -0
  8. package/dist/capabilities/index.js.map +1 -1
  9. package/dist/plugins/tools/frontendTesting/frontendTestingPlugin.d.ts +3 -0
  10. package/dist/plugins/tools/frontendTesting/frontendTestingPlugin.d.ts.map +1 -0
  11. package/dist/plugins/tools/frontendTesting/frontendTestingPlugin.js +14 -0
  12. package/dist/plugins/tools/frontendTesting/frontendTestingPlugin.js.map +1 -0
  13. package/dist/plugins/tools/nodeDefaults.d.ts.map +1 -1
  14. package/dist/plugins/tools/nodeDefaults.js +2 -0
  15. package/dist/plugins/tools/nodeDefaults.js.map +1 -1
  16. package/dist/shell/interactiveShell.d.ts +1 -0
  17. package/dist/shell/interactiveShell.d.ts.map +1 -1
  18. package/dist/shell/interactiveShell.js +34 -1
  19. package/dist/shell/interactiveShell.js.map +1 -1
  20. package/dist/tools/frontendTestingTools.d.ts +35 -0
  21. package/dist/tools/frontendTestingTools.d.ts.map +1 -0
  22. package/dist/tools/frontendTestingTools.js +1254 -0
  23. package/dist/tools/frontendTestingTools.js.map +1 -0
  24. package/dist/ui/persistentPrompt.d.ts +172 -0
  25. package/dist/ui/persistentPrompt.d.ts.map +1 -1
  26. package/dist/ui/persistentPrompt.js +397 -0
  27. package/dist/ui/persistentPrompt.js.map +1 -1
  28. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frontendTestingTools.js","sourceRoot":"","sources":["../../src/tools/frontendTestingTools.ts"],"names":[],"mappings":"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"}
@@ -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