erosolar-cli 1.7.231 → 1.7.232
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.
- package/README.md +148 -22
- package/dist/core/aiFlowOptimizer.d.ts +26 -0
- package/dist/core/aiFlowOptimizer.d.ts.map +1 -0
- package/dist/core/aiFlowOptimizer.js +31 -0
- package/dist/core/aiFlowOptimizer.js.map +1 -0
- package/dist/core/aiOptimizationEngine.d.ts +158 -0
- package/dist/core/aiOptimizationEngine.d.ts.map +1 -0
- package/dist/core/aiOptimizationEngine.js +428 -0
- package/dist/core/aiOptimizationEngine.js.map +1 -0
- package/dist/core/aiOptimizationIntegration.d.ts +93 -0
- package/dist/core/aiOptimizationIntegration.d.ts.map +1 -0
- package/dist/core/aiOptimizationIntegration.js +250 -0
- package/dist/core/aiOptimizationIntegration.js.map +1 -0
- package/dist/core/enhancedErrorRecovery.d.ts +100 -0
- package/dist/core/enhancedErrorRecovery.d.ts.map +1 -0
- package/dist/core/enhancedErrorRecovery.js +345 -0
- package/dist/core/enhancedErrorRecovery.js.map +1 -0
- package/dist/mcp/sseClient.d.ts.map +1 -1
- package/dist/mcp/sseClient.js +18 -9
- package/dist/mcp/sseClient.js.map +1 -1
- package/dist/plugins/tools/build/buildPlugin.d.ts +6 -0
- package/dist/plugins/tools/build/buildPlugin.d.ts.map +1 -1
- package/dist/plugins/tools/build/buildPlugin.js +10 -4
- package/dist/plugins/tools/build/buildPlugin.js.map +1 -1
- package/dist/shell/claudeCodeStreamHandler.d.ts +145 -0
- package/dist/shell/claudeCodeStreamHandler.d.ts.map +1 -0
- package/dist/shell/claudeCodeStreamHandler.js +322 -0
- package/dist/shell/claudeCodeStreamHandler.js.map +1 -0
- package/dist/shell/inputQueueManager.d.ts +144 -0
- package/dist/shell/inputQueueManager.d.ts.map +1 -0
- package/dist/shell/inputQueueManager.js +290 -0
- package/dist/shell/inputQueueManager.js.map +1 -0
- package/dist/shell/interactiveShell.d.ts +2 -2
- package/dist/shell/interactiveShell.d.ts.map +1 -1
- package/dist/shell/interactiveShell.js +14 -13
- package/dist/shell/interactiveShell.js.map +1 -1
- package/dist/shell/streamingOutputManager.d.ts +115 -0
- package/dist/shell/streamingOutputManager.d.ts.map +1 -0
- package/dist/shell/streamingOutputManager.js +225 -0
- package/dist/shell/streamingOutputManager.js.map +1 -0
- package/dist/shell/terminalInput.d.ts +65 -21
- package/dist/shell/terminalInput.d.ts.map +1 -1
- package/dist/shell/terminalInput.js +460 -209
- package/dist/shell/terminalInput.js.map +1 -1
- package/dist/shell/terminalInputAdapter.d.ts +14 -6
- package/dist/shell/terminalInputAdapter.d.ts.map +1 -1
- package/dist/shell/terminalInputAdapter.js +20 -6
- package/dist/shell/terminalInputAdapter.js.map +1 -1
- package/dist/ui/persistentPrompt.d.ts +50 -0
- package/dist/ui/persistentPrompt.d.ts.map +1 -0
- package/dist/ui/persistentPrompt.js +92 -0
- package/dist/ui/persistentPrompt.js.map +1 -0
- package/dist/ui/theme.d.ts.map +1 -1
- package/dist/ui/theme.js +8 -6
- package/dist/ui/theme.js.map +1 -1
- package/dist/ui/unified/layout.d.ts.map +1 -1
- package/dist/ui/unified/layout.js +26 -13
- package/dist/ui/unified/layout.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* InputQueueManager - Queue-based input handling for Claude Code style streaming
|
|
3
|
+
*
|
|
4
|
+
* Key principles from Claude Code:
|
|
5
|
+
* 1. Readline handles input - Uses Node.js readline module
|
|
6
|
+
* 2. User can type while streaming - Input is queued in memory, not rendered
|
|
7
|
+
* 3. Queue-based approach: User types → stored in queue → processed after streaming ends
|
|
8
|
+
*
|
|
9
|
+
* The key insight is that the cursor is never moved during streaming.
|
|
10
|
+
* Input is captured "invisibly" while streaming, then processed when streaming ends.
|
|
11
|
+
*/
|
|
12
|
+
import { EventEmitter } from 'node:events';
|
|
13
|
+
/**
|
|
14
|
+
* Manages input queuing during streaming output.
|
|
15
|
+
*
|
|
16
|
+
* When streaming is active:
|
|
17
|
+
* - Captures keystrokes into a buffer
|
|
18
|
+
* - On Enter, queues the input for later processing
|
|
19
|
+
* - Provides methods to process queue after streaming ends
|
|
20
|
+
*/
|
|
21
|
+
export class InputQueueManager extends EventEmitter {
|
|
22
|
+
state = {
|
|
23
|
+
isCapturing: false,
|
|
24
|
+
buffer: '',
|
|
25
|
+
cursorPosition: 0,
|
|
26
|
+
queue: [],
|
|
27
|
+
};
|
|
28
|
+
inputIdCounter = 0;
|
|
29
|
+
maxQueueSize;
|
|
30
|
+
maxBufferLength;
|
|
31
|
+
constructor(options = {}) {
|
|
32
|
+
super();
|
|
33
|
+
this.maxQueueSize = options.maxQueueSize ?? 100;
|
|
34
|
+
this.maxBufferLength = options.maxBufferLength ?? 10000;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Start capturing input (during streaming)
|
|
38
|
+
* Input will be buffered and queued, not immediately processed
|
|
39
|
+
*/
|
|
40
|
+
startCapturing() {
|
|
41
|
+
if (this.state.isCapturing) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
this.state.isCapturing = true;
|
|
45
|
+
this.state.buffer = '';
|
|
46
|
+
this.state.cursorPosition = 0;
|
|
47
|
+
this.emit('capture-start');
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Stop capturing input (after streaming ends)
|
|
51
|
+
* Returns any remaining buffer content
|
|
52
|
+
*/
|
|
53
|
+
stopCapturing() {
|
|
54
|
+
const remaining = this.state.buffer;
|
|
55
|
+
this.state.isCapturing = false;
|
|
56
|
+
this.state.buffer = '';
|
|
57
|
+
this.state.cursorPosition = 0;
|
|
58
|
+
this.emit('capture-end');
|
|
59
|
+
return remaining;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Check if currently capturing input
|
|
63
|
+
*/
|
|
64
|
+
isCapturing() {
|
|
65
|
+
return this.state.isCapturing;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Handle a character input
|
|
69
|
+
* During capturing, adds to buffer; otherwise ignored
|
|
70
|
+
*/
|
|
71
|
+
handleChar(char) {
|
|
72
|
+
if (!this.state.isCapturing) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
// Respect buffer length limit
|
|
76
|
+
if (this.state.buffer.length >= this.maxBufferLength) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
// Insert at cursor position
|
|
80
|
+
this.state.buffer =
|
|
81
|
+
this.state.buffer.slice(0, this.state.cursorPosition) +
|
|
82
|
+
char +
|
|
83
|
+
this.state.buffer.slice(this.state.cursorPosition);
|
|
84
|
+
this.state.cursorPosition += char.length;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Handle backspace
|
|
88
|
+
*/
|
|
89
|
+
handleBackspace() {
|
|
90
|
+
if (!this.state.isCapturing || this.state.cursorPosition === 0) {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
this.state.buffer =
|
|
94
|
+
this.state.buffer.slice(0, this.state.cursorPosition - 1) +
|
|
95
|
+
this.state.buffer.slice(this.state.cursorPosition);
|
|
96
|
+
this.state.cursorPosition = Math.max(0, this.state.cursorPosition - 1);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Handle delete key
|
|
100
|
+
*/
|
|
101
|
+
handleDelete() {
|
|
102
|
+
if (!this.state.isCapturing || this.state.cursorPosition >= this.state.buffer.length) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
this.state.buffer =
|
|
106
|
+
this.state.buffer.slice(0, this.state.cursorPosition) +
|
|
107
|
+
this.state.buffer.slice(this.state.cursorPosition + 1);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Handle cursor left
|
|
111
|
+
*/
|
|
112
|
+
handleCursorLeft() {
|
|
113
|
+
if (!this.state.isCapturing)
|
|
114
|
+
return;
|
|
115
|
+
this.state.cursorPosition = Math.max(0, this.state.cursorPosition - 1);
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Handle cursor right
|
|
119
|
+
*/
|
|
120
|
+
handleCursorRight() {
|
|
121
|
+
if (!this.state.isCapturing)
|
|
122
|
+
return;
|
|
123
|
+
this.state.cursorPosition = Math.min(this.state.buffer.length, this.state.cursorPosition + 1);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Handle Enter - queue the current buffer
|
|
127
|
+
* Returns the queued input or null if buffer was empty
|
|
128
|
+
*/
|
|
129
|
+
handleSubmit() {
|
|
130
|
+
if (!this.state.isCapturing) {
|
|
131
|
+
return null;
|
|
132
|
+
}
|
|
133
|
+
const text = this.state.buffer.trim();
|
|
134
|
+
if (!text) {
|
|
135
|
+
return null;
|
|
136
|
+
}
|
|
137
|
+
// Check queue size limit
|
|
138
|
+
if (this.state.queue.length >= this.maxQueueSize) {
|
|
139
|
+
// Remove oldest non-command input to make room
|
|
140
|
+
const idx = this.state.queue.findIndex(q => q.type !== 'command');
|
|
141
|
+
if (idx >= 0) {
|
|
142
|
+
this.state.queue.splice(idx, 1);
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
return null; // Queue is full of commands
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
const input = {
|
|
149
|
+
id: `input-${++this.inputIdCounter}`,
|
|
150
|
+
text,
|
|
151
|
+
timestamp: Date.now(),
|
|
152
|
+
type: text.startsWith('/') ? 'command' : 'message',
|
|
153
|
+
};
|
|
154
|
+
this.state.queue.push(input);
|
|
155
|
+
this.state.buffer = '';
|
|
156
|
+
this.state.cursorPosition = 0;
|
|
157
|
+
this.emit('input-queued', input);
|
|
158
|
+
return input;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Handle Ctrl+C during capture - queue an interrupt
|
|
162
|
+
*/
|
|
163
|
+
handleInterrupt() {
|
|
164
|
+
const input = {
|
|
165
|
+
id: `input-${++this.inputIdCounter}`,
|
|
166
|
+
text: '',
|
|
167
|
+
timestamp: Date.now(),
|
|
168
|
+
type: 'interrupt',
|
|
169
|
+
};
|
|
170
|
+
// Interrupt goes to front of queue
|
|
171
|
+
this.state.queue.unshift(input);
|
|
172
|
+
this.state.buffer = '';
|
|
173
|
+
this.state.cursorPosition = 0;
|
|
174
|
+
this.emit('input-queued', input);
|
|
175
|
+
return input;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Get current buffer contents (for display purposes)
|
|
179
|
+
*/
|
|
180
|
+
getBuffer() {
|
|
181
|
+
return this.state.buffer;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Get current cursor position
|
|
185
|
+
*/
|
|
186
|
+
getCursorPosition() {
|
|
187
|
+
return this.state.cursorPosition;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Get the number of queued inputs
|
|
191
|
+
*/
|
|
192
|
+
getQueueLength() {
|
|
193
|
+
return this.state.queue.length;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Check if there are queued inputs
|
|
197
|
+
*/
|
|
198
|
+
hasQueuedInput() {
|
|
199
|
+
return this.state.queue.length > 0;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Get the next queued input without removing it
|
|
203
|
+
*/
|
|
204
|
+
peekQueue() {
|
|
205
|
+
return this.state.queue[0];
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Get and remove the next queued input
|
|
209
|
+
*/
|
|
210
|
+
dequeue() {
|
|
211
|
+
const input = this.state.queue.shift();
|
|
212
|
+
if (input) {
|
|
213
|
+
this.emit('input-processed', input);
|
|
214
|
+
}
|
|
215
|
+
return input;
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Get all queued inputs (copy)
|
|
219
|
+
*/
|
|
220
|
+
getQueue() {
|
|
221
|
+
return [...this.state.queue];
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Clear all queued inputs
|
|
225
|
+
*/
|
|
226
|
+
clearQueue() {
|
|
227
|
+
const hadItems = this.state.queue.length > 0;
|
|
228
|
+
this.state.queue = [];
|
|
229
|
+
if (hadItems) {
|
|
230
|
+
this.emit('queue-cleared');
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Clear the current buffer
|
|
235
|
+
*/
|
|
236
|
+
clearBuffer() {
|
|
237
|
+
this.state.buffer = '';
|
|
238
|
+
this.state.cursorPosition = 0;
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Set the buffer content directly (for paste handling)
|
|
242
|
+
*/
|
|
243
|
+
setBuffer(content, cursorPos) {
|
|
244
|
+
this.state.buffer = content.slice(0, this.maxBufferLength);
|
|
245
|
+
this.state.cursorPosition = cursorPos ?? this.state.buffer.length;
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Get queue summary for display
|
|
249
|
+
*/
|
|
250
|
+
getQueueSummary() {
|
|
251
|
+
const count = this.state.queue.length;
|
|
252
|
+
if (count === 0) {
|
|
253
|
+
return '';
|
|
254
|
+
}
|
|
255
|
+
const commands = this.state.queue.filter(q => q.type === 'command').length;
|
|
256
|
+
const messages = this.state.queue.filter(q => q.type === 'message').length;
|
|
257
|
+
const interrupts = this.state.queue.filter(q => q.type === 'interrupt').length;
|
|
258
|
+
const parts = [];
|
|
259
|
+
if (interrupts > 0) {
|
|
260
|
+
parts.push(`${interrupts} interrupt${interrupts === 1 ? '' : 's'}`);
|
|
261
|
+
}
|
|
262
|
+
if (commands > 0) {
|
|
263
|
+
parts.push(`${commands} command${commands === 1 ? '' : 's'}`);
|
|
264
|
+
}
|
|
265
|
+
if (messages > 0) {
|
|
266
|
+
parts.push(`${messages} message${messages === 1 ? '' : 's'}`);
|
|
267
|
+
}
|
|
268
|
+
return parts.join(', ') + ' queued';
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Get full state (for debugging)
|
|
272
|
+
*/
|
|
273
|
+
getState() {
|
|
274
|
+
return { ...this.state, queue: [...this.state.queue] };
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Singleton instance for global use
|
|
279
|
+
*/
|
|
280
|
+
let globalInstance = null;
|
|
281
|
+
export function getInputQueueManager() {
|
|
282
|
+
if (!globalInstance) {
|
|
283
|
+
globalInstance = new InputQueueManager();
|
|
284
|
+
}
|
|
285
|
+
return globalInstance;
|
|
286
|
+
}
|
|
287
|
+
export function resetInputQueueManager() {
|
|
288
|
+
globalInstance = null;
|
|
289
|
+
}
|
|
290
|
+
//# sourceMappingURL=inputQueueManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputQueueManager.js","sourceRoot":"","sources":["../../src/shell/inputQueueManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -171,8 +171,8 @@ export declare class InteractiveShell {
|
|
|
171
171
|
*/
|
|
172
172
|
private ensureReadlineReady;
|
|
173
173
|
/**
|
|
174
|
-
*
|
|
175
|
-
*
|
|
174
|
+
* Log the user's prompt as a visible message in the conversation.
|
|
175
|
+
* This creates a persistent log entry that remains visible during and after streaming.
|
|
176
176
|
*/
|
|
177
177
|
private logUserPrompt;
|
|
178
178
|
private requestPromptRefresh;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactiveShell.d.ts","sourceRoot":"","sources":["../../src/shell/interactiveShell.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"interactiveShell.d.ts","sourceRoot":"","sources":["../../src/shell/interactiveShell.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { stdin as input, stdout as output, exit } from 'node:process';
|
|
|
2
2
|
import { exec } from 'node:child_process';
|
|
3
3
|
import { promisify } from 'node:util';
|
|
4
4
|
import { display } from '../ui/display.js';
|
|
5
|
-
import { theme } from '../ui/theme.js';
|
|
5
|
+
import { theme, formatUserPrompt } from '../ui/theme.js';
|
|
6
6
|
import { getContextWindowTokens } from '../core/contextWindow.js';
|
|
7
7
|
import { ensureSecretForProvider, getSecretDefinitionForProvider, getSecretValue, listSecretDefinitions, maskSecret, setSecretValue, } from '../core/secretStore.js';
|
|
8
8
|
import { saveActiveProfilePreference, saveModelPreference, loadToolSettings, saveToolSettings, clearToolSettings, clearActiveProfilePreference, loadSessionPreferences, saveSessionPreferences, } from '../core/preferences.js';
|
|
@@ -215,6 +215,9 @@ export class InteractiveShell {
|
|
|
215
215
|
});
|
|
216
216
|
// Register output interceptor for cursor positioning during streaming
|
|
217
217
|
this.terminalInput.registerOutputInterceptor(display);
|
|
218
|
+
// Use flow mode: input renders inline after content for a unified layout
|
|
219
|
+
// This eliminates the blank space between banner and input area
|
|
220
|
+
this.terminalInput.setFlowMode(true);
|
|
218
221
|
// Initialize Alpha Zero 2 metrics tracking
|
|
219
222
|
this.alphaZeroMetrics = new MetricsTracker(`${this.profile}-${Date.now()}`);
|
|
220
223
|
this.setupStatusTracking();
|
|
@@ -288,8 +291,9 @@ export class InteractiveShell {
|
|
|
288
291
|
this.handleInputChange('');
|
|
289
292
|
return;
|
|
290
293
|
}
|
|
291
|
-
//
|
|
292
|
-
//
|
|
294
|
+
// Enter streaming mode BEFORE logging prompt - this positions cursor correctly
|
|
295
|
+
// so content appears right after the banner, not at bottom with blank space above
|
|
296
|
+
this.terminalInput.setStreaming(true);
|
|
293
297
|
this.logUserPrompt(approved);
|
|
294
298
|
void this.processInputBlock(approved).catch((err) => {
|
|
295
299
|
display.showError(err instanceof Error ? err.message : String(err), err);
|
|
@@ -492,7 +496,7 @@ export class InteractiveShell {
|
|
|
492
496
|
this.uiAdapter.dispose();
|
|
493
497
|
display.newLine();
|
|
494
498
|
console.log(theme.ui.muted('━'.repeat(44)));
|
|
495
|
-
console.log(theme.ui.muted(' Goodbye! ·
|
|
499
|
+
console.log(theme.ui.muted(' Goodbye! · github.com/ErosolarAI/erosolar-by-bo'));
|
|
496
500
|
console.log(theme.ui.muted('━'.repeat(44)));
|
|
497
501
|
exit(0);
|
|
498
502
|
}
|
|
@@ -726,11 +730,6 @@ export class InteractiveShell {
|
|
|
726
730
|
// Set main status (tool execution, etc.) - shown when not overridden
|
|
727
731
|
const statusText = this.formatStatusLine(this.statusLineState);
|
|
728
732
|
this.terminalInput.setStatusMessage(statusText);
|
|
729
|
-
// Surface meta header (elapsed + context usage) above the divider
|
|
730
|
-
const elapsedSeconds = this.statusLineState
|
|
731
|
-
? Math.max(0, Math.floor((Date.now() - this.statusLineState.startedAt) / 1000))
|
|
732
|
-
: null;
|
|
733
|
-
this.terminalInput.setMetaStatus({ elapsedSeconds });
|
|
734
733
|
if (forceRender) {
|
|
735
734
|
this.terminalInput.render();
|
|
736
735
|
}
|
|
@@ -790,11 +789,13 @@ export class InteractiveShell {
|
|
|
790
789
|
this.terminalInput.render();
|
|
791
790
|
}
|
|
792
791
|
/**
|
|
793
|
-
*
|
|
794
|
-
*
|
|
792
|
+
* Log the user's prompt as a visible message in the conversation.
|
|
793
|
+
* This creates a persistent log entry that remains visible during and after streaming.
|
|
795
794
|
*/
|
|
796
|
-
logUserPrompt(
|
|
797
|
-
//
|
|
795
|
+
logUserPrompt(text) {
|
|
796
|
+
// Display the user's prompt with the standard prefix
|
|
797
|
+
const prefix = formatUserPrompt();
|
|
798
|
+
display.stream(`\n${prefix}${text}\n\n`);
|
|
798
799
|
}
|
|
799
800
|
requestPromptRefresh(force = false) {
|
|
800
801
|
if (force) {
|