erosolar-cli 1.7.161 → 1.7.164
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/dist/contracts/unified-schema.json +6 -6
- package/dist/core/unified/tools.d.ts.map +1 -1
- package/dist/core/unified/tools.js +12 -34
- package/dist/core/unified/tools.js.map +1 -1
- package/dist/security/tool-security-wrapper.js +3 -3
- package/dist/security/tool-security-wrapper.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 +312 -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 +21 -0
- package/dist/shell/interactiveShell.d.ts.map +1 -1
- package/dist/shell/interactiveShell.js +140 -51
- package/dist/shell/interactiveShell.js.map +1 -1
- package/dist/shell/streamingOutputManager.d.ts +88 -0
- package/dist/shell/streamingOutputManager.d.ts.map +1 -0
- package/dist/shell/streamingOutputManager.js +155 -0
- package/dist/shell/streamingOutputManager.js.map +1 -0
- package/dist/shell/systemPrompt.js +2 -2
- package/dist/shell/systemPrompt.js.map +1 -1
- package/dist/shell/taskCompletionDetector.d.ts.map +1 -1
- package/dist/shell/taskCompletionDetector.js +1 -3
- package/dist/shell/taskCompletionDetector.js.map +1 -1
- package/dist/shell/unifiedChatBox.d.ts +178 -0
- package/dist/shell/unifiedChatBox.d.ts.map +1 -0
- package/dist/shell/unifiedChatBox.js +539 -0
- package/dist/shell/unifiedChatBox.js.map +1 -0
- package/dist/tools/diffUtils.d.ts +1 -1
- package/dist/tools/diffUtils.d.ts.map +1 -1
- package/dist/tools/diffUtils.js +19 -3
- package/dist/tools/diffUtils.js.map +1 -1
- package/dist/tools/editTools.d.ts +11 -0
- package/dist/tools/editTools.d.ts.map +1 -1
- package/dist/tools/editTools.js +141 -98
- package/dist/tools/editTools.js.map +1 -1
- package/dist/tools/fileTools.d.ts.map +1 -1
- package/dist/tools/fileTools.js +2 -126
- package/dist/tools/fileTools.js.map +1 -1
- package/dist/tools/softwareEngineeringTools.d.ts +7 -0
- package/dist/tools/softwareEngineeringTools.d.ts.map +1 -0
- package/dist/tools/softwareEngineeringTools.js +338 -0
- package/dist/tools/softwareEngineeringTools.js.map +1 -0
- package/dist/ui/toolDisplay.d.ts.map +1 -1
- package/dist/ui/toolDisplay.js +1 -3
- package/dist/ui/toolDisplay.js.map +1 -1
- package/dist/ui/toolDisplayAdapter.d.ts.map +1 -1
- package/dist/ui/toolDisplayAdapter.js +0 -3
- package/dist/ui/toolDisplayAdapter.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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"}
|
|
@@ -79,6 +79,8 @@ export declare class InteractiveShell {
|
|
|
79
79
|
private readonly pinnedChatBox;
|
|
80
80
|
private readlineOutputSuppressed;
|
|
81
81
|
private originalStdoutWrite;
|
|
82
|
+
private readonly streamHandler;
|
|
83
|
+
private readonly unifiedChatBox;
|
|
82
84
|
constructor(config: ShellConfig);
|
|
83
85
|
private initializeSessionHistory;
|
|
84
86
|
private showSessionResumeNotice;
|
|
@@ -116,10 +118,15 @@ export declare class InteractiveShell {
|
|
|
116
118
|
* Suppress readline's character echo during streaming.
|
|
117
119
|
* Characters typed will be captured but not echoed to the main output.
|
|
118
120
|
* Instead, they appear only in the persistent input box at the bottom.
|
|
121
|
+
*
|
|
122
|
+
* @deprecated Use streamHandler.startStreaming() instead - kept for backwards compatibility
|
|
123
|
+
* @internal Kept for legacy code paths that may still reference this method
|
|
119
124
|
*/
|
|
120
125
|
private suppressReadlineOutput;
|
|
121
126
|
/**
|
|
122
127
|
* Restore normal readline output after streaming completes.
|
|
128
|
+
*
|
|
129
|
+
* @deprecated Use streamHandler.endStreaming() instead
|
|
123
130
|
*/
|
|
124
131
|
private restoreReadlineOutput;
|
|
125
132
|
private enqueueUserInput;
|
|
@@ -156,6 +163,20 @@ export declare class InteractiveShell {
|
|
|
156
163
|
private refreshQueueIndicators;
|
|
157
164
|
private enqueueFollowUpAction;
|
|
158
165
|
private scheduleQueueProcessing;
|
|
166
|
+
/**
|
|
167
|
+
* Process any inputs that were queued during streaming.
|
|
168
|
+
* Claude Code style: User can type while streaming, input is stored in queue,
|
|
169
|
+
* processed after streaming ends.
|
|
170
|
+
*
|
|
171
|
+
* @deprecated Use processUnifiedChatBoxQueue() instead
|
|
172
|
+
*/
|
|
173
|
+
private processQueuedInputs;
|
|
174
|
+
/**
|
|
175
|
+
* Process any inputs that were queued in UnifiedChatBox during streaming.
|
|
176
|
+
* Claude Code style: User can type while streaming, input is stored invisibly,
|
|
177
|
+
* processed after streaming ends.
|
|
178
|
+
*/
|
|
179
|
+
private processUnifiedChatBoxQueue;
|
|
159
180
|
private processQueuedActions;
|
|
160
181
|
private processInputBlock;
|
|
161
182
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactiveShell.d.ts","sourceRoot":"","sources":["../../src/shell/interactiveShell.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAiCtE,OAAO,EAAE,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAI/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAyB,KAAK,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAQtF,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"interactiveShell.d.ts","sourceRoot":"","sources":["../../src/shell/interactiveShell.ts"],"names":[],"mappings":"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"}
|