erosolar-cli 1.7.117 → 1.7.119
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/core/agent.js +4 -4
- package/dist/core/agent.js.map +1 -1
- package/dist/shell/systemPrompt.d.ts.map +1 -1
- package/dist/shell/systemPrompt.js +3 -4
- package/dist/shell/systemPrompt.js.map +1 -1
- package/dist/tools/editTools.d.ts.map +1 -1
- package/dist/tools/editTools.js +29 -6
- 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/ui/EnhancedPinnedChatBox.d.ts +2 -0
- package/dist/ui/EnhancedPinnedChatBox.d.ts.map +1 -0
- package/dist/ui/EnhancedPinnedChatBox.js +3 -0
- package/dist/ui/EnhancedPinnedChatBox.js.map +1 -0
- package/dist/ui/persistentPrompt.d.ts +32 -2
- package/dist/ui/persistentPrompt.d.ts.map +1 -1
- package/dist/ui/persistentPrompt.js +231 -79
- package/dist/ui/persistentPrompt.js.map +1 -1
- package/package.json +1 -1
- package/dist/shell/enhancedInteractiveShell.d.ts +0 -42
- package/dist/shell/enhancedInteractiveShell.d.ts.map +0 -1
- package/dist/shell/enhancedInteractiveShell.js +0 -139
- package/dist/shell/enhancedInteractiveShell.js.map +0 -1
- package/dist/shell/enhancedShellApp.d.ts +0 -22
- package/dist/shell/enhancedShellApp.d.ts.map +0 -1
- package/dist/shell/enhancedShellApp.js +0 -148
- package/dist/shell/enhancedShellApp.js.map +0 -1
- package/dist/ui/enhancedPinnedChatBox.d.ts +0 -93
- package/dist/ui/enhancedPinnedChatBox.d.ts.map +0 -1
- package/dist/ui/enhancedPinnedChatBox.js +0 -372
- package/dist/ui/enhancedPinnedChatBox.js.map +0 -1
- package/dist/ui/persistentChatBox.d.ts +0 -137
- package/dist/ui/persistentChatBox.d.ts.map +0 -1
- package/dist/ui/persistentChatBox.js +0 -298
- package/dist/ui/persistentChatBox.js.map +0 -1
|
@@ -1,298 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Persistent Chat Box - Stays at bottom during AI streaming
|
|
3
|
-
*
|
|
4
|
-
* Features:
|
|
5
|
-
* - Always visible at bottom of terminal
|
|
6
|
-
* - Supports typing while AI is streaming
|
|
7
|
-
* - Gracefully handles long pastes without errors
|
|
8
|
-
* - Only submits to AI when user hits enter key
|
|
9
|
-
* - Integrates with existing multiline paste handler
|
|
10
|
-
*/
|
|
11
|
-
import readline from 'node:readline';
|
|
12
|
-
import { stdin as input, stdout as output } from 'node:process';
|
|
13
|
-
import { theme } from './theme.js';
|
|
14
|
-
import { processPaste, isMultilinePaste } from '../core/multilinePasteHandler.js';
|
|
15
|
-
import { display } from './display.js';
|
|
16
|
-
export class PersistentChatBox {
|
|
17
|
-
rl;
|
|
18
|
-
config;
|
|
19
|
-
state;
|
|
20
|
-
onSubmit;
|
|
21
|
-
onCancel;
|
|
22
|
-
isActive = false;
|
|
23
|
-
originalPrompt = '';
|
|
24
|
-
pasteBuffer = '';
|
|
25
|
-
pasteMode = false;
|
|
26
|
-
constructor(onSubmit, onCancel, config = {}) {
|
|
27
|
-
this.onSubmit = onSubmit;
|
|
28
|
-
this.onCancel = onCancel;
|
|
29
|
-
this.config = {
|
|
30
|
-
enabled: true,
|
|
31
|
-
position: 1,
|
|
32
|
-
maxLines: 3,
|
|
33
|
-
showPasteSummaries: true,
|
|
34
|
-
autoScroll: true,
|
|
35
|
-
...config,
|
|
36
|
-
};
|
|
37
|
-
this.state = {
|
|
38
|
-
input: '',
|
|
39
|
-
isStreaming: false,
|
|
40
|
-
isTyping: false,
|
|
41
|
-
isPasteMode: false,
|
|
42
|
-
cursorPosition: 0,
|
|
43
|
-
history: [],
|
|
44
|
-
historyIndex: -1,
|
|
45
|
-
};
|
|
46
|
-
// Create readline interface with custom prompt handling
|
|
47
|
-
this.rl = readline.createInterface({
|
|
48
|
-
input,
|
|
49
|
-
output,
|
|
50
|
-
prompt: '',
|
|
51
|
-
terminal: true,
|
|
52
|
-
historySize: 100,
|
|
53
|
-
});
|
|
54
|
-
this.setupEventHandlers();
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Setup readline event handlers
|
|
58
|
-
*/
|
|
59
|
-
setupEventHandlers() {
|
|
60
|
-
this.rl.on('line', (line) => {
|
|
61
|
-
this.handleLineInput(line);
|
|
62
|
-
});
|
|
63
|
-
this.rl.on('close', () => {
|
|
64
|
-
this.handleClose();
|
|
65
|
-
});
|
|
66
|
-
// Handle paste detection
|
|
67
|
-
this.rl.input.on('data', (data) => {
|
|
68
|
-
this.handleDataInput(data.toString());
|
|
69
|
-
});
|
|
70
|
-
// Handle keyboard shortcuts
|
|
71
|
-
this.rl.input.on('keypress', (str, key) => {
|
|
72
|
-
if (key.ctrl && key.name === 'c') {
|
|
73
|
-
this.handleCancel();
|
|
74
|
-
}
|
|
75
|
-
else if (key.name === 'up') {
|
|
76
|
-
this.handleHistoryUp();
|
|
77
|
-
}
|
|
78
|
-
else if (key.name === 'down') {
|
|
79
|
-
this.handleHistoryDown();
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Handle line input (when user presses enter)
|
|
85
|
-
*/
|
|
86
|
-
handleLineInput(line) {
|
|
87
|
-
if (!this.isActive)
|
|
88
|
-
return;
|
|
89
|
-
const trimmed = line.trim();
|
|
90
|
-
if (this.pasteMode) {
|
|
91
|
-
// Handle paste completion
|
|
92
|
-
this.handlePasteComplete(trimmed);
|
|
93
|
-
}
|
|
94
|
-
else if (trimmed.length > 0) {
|
|
95
|
-
// Handle normal input
|
|
96
|
-
this.handleNormalInput(trimmed);
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
// Empty input - just clear and reset
|
|
100
|
-
this.clearInput();
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Handle normal text input
|
|
105
|
-
*/
|
|
106
|
-
handleNormalInput(text) {
|
|
107
|
-
// Add to history
|
|
108
|
-
if (this.state.history[0] !== text) {
|
|
109
|
-
this.state.history.unshift(text);
|
|
110
|
-
if (this.state.history.length > 100) {
|
|
111
|
-
this.state.history.pop();
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
// Submit to AI
|
|
115
|
-
this.onSubmit(text);
|
|
116
|
-
// Clear input
|
|
117
|
-
this.clearInput();
|
|
118
|
-
this.state.historyIndex = -1;
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Handle paste completion
|
|
122
|
-
*/
|
|
123
|
-
handlePasteComplete(text) {
|
|
124
|
-
const fullPaste = this.pasteBuffer + text;
|
|
125
|
-
if (this.config.showPasteSummaries && isMultilinePaste(fullPaste)) {
|
|
126
|
-
const processed = processPaste(fullPaste);
|
|
127
|
-
display.showSystemMessage(processed.displaySummary);
|
|
128
|
-
}
|
|
129
|
-
// Submit the full paste content
|
|
130
|
-
this.onSubmit(fullPaste);
|
|
131
|
-
// Reset paste state
|
|
132
|
-
this.pasteMode = false;
|
|
133
|
-
this.pasteBuffer = '';
|
|
134
|
-
this.clearInput();
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Handle raw data input for paste detection
|
|
138
|
-
*/
|
|
139
|
-
handleDataInput(data) {
|
|
140
|
-
if (!this.isActive)
|
|
141
|
-
return;
|
|
142
|
-
// Detect paste by checking for multiple lines or large content
|
|
143
|
-
if (data.includes('\n') && data.length > 100) {
|
|
144
|
-
this.pasteMode = true;
|
|
145
|
-
this.pasteBuffer = data;
|
|
146
|
-
// Show paste indicator
|
|
147
|
-
this.updatePrompt('📋 Paste mode - Press Enter to submit or Ctrl+C to cancel');
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Handle cancel (Ctrl+C)
|
|
152
|
-
*/
|
|
153
|
-
handleCancel() {
|
|
154
|
-
if (this.pasteMode) {
|
|
155
|
-
// Cancel paste mode
|
|
156
|
-
this.pasteMode = false;
|
|
157
|
-
this.pasteBuffer = '';
|
|
158
|
-
this.clearInput();
|
|
159
|
-
display.showSystemMessage('Paste cancelled');
|
|
160
|
-
}
|
|
161
|
-
else {
|
|
162
|
-
// Call cancel callback
|
|
163
|
-
this.onCancel();
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* Handle close
|
|
168
|
-
*/
|
|
169
|
-
handleClose() {
|
|
170
|
-
this.isActive = false;
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
* Handle history navigation - up
|
|
174
|
-
*/
|
|
175
|
-
handleHistoryUp() {
|
|
176
|
-
if (this.state.history.length === 0)
|
|
177
|
-
return;
|
|
178
|
-
if (this.state.historyIndex < this.state.history.length - 1) {
|
|
179
|
-
this.state.historyIndex++;
|
|
180
|
-
const historyItem = this.state.history[this.state.historyIndex];
|
|
181
|
-
this.setInput(historyItem);
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
/**
|
|
185
|
-
* Handle history navigation - down
|
|
186
|
-
*/
|
|
187
|
-
handleHistoryDown() {
|
|
188
|
-
if (this.state.historyIndex > 0) {
|
|
189
|
-
this.state.historyIndex--;
|
|
190
|
-
const historyItem = this.state.history[this.state.historyIndex];
|
|
191
|
-
this.setInput(historyItem);
|
|
192
|
-
}
|
|
193
|
-
else if (this.state.historyIndex === 0) {
|
|
194
|
-
this.state.historyIndex = -1;
|
|
195
|
-
this.clearInput();
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
/**
|
|
199
|
-
* Update the readline prompt
|
|
200
|
-
*/
|
|
201
|
-
updatePrompt(prompt) {
|
|
202
|
-
this.rl.setPrompt(prompt);
|
|
203
|
-
this.rl.prompt();
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* Set input text
|
|
207
|
-
*/
|
|
208
|
-
setInput(text) {
|
|
209
|
-
this.state.input = text;
|
|
210
|
-
this.state.cursorPosition = text.length;
|
|
211
|
-
// Update the readline line
|
|
212
|
-
this.rl.write('\x1B[2K\r'); // Clear line
|
|
213
|
-
this.rl.write(text);
|
|
214
|
-
}
|
|
215
|
-
/**
|
|
216
|
-
* Clear input
|
|
217
|
-
*/
|
|
218
|
-
clearInput() {
|
|
219
|
-
this.state.input = '';
|
|
220
|
-
this.state.cursorPosition = 0;
|
|
221
|
-
this.updatePrompt(this.getDefaultPrompt());
|
|
222
|
-
}
|
|
223
|
-
/**
|
|
224
|
-
* Get default prompt based on streaming state
|
|
225
|
-
*/
|
|
226
|
-
getDefaultPrompt() {
|
|
227
|
-
if (this.state.isStreaming) {
|
|
228
|
-
return `${theme.info('◉')} ${theme.ui.muted('Type while AI streams (Enter to send)')}: `;
|
|
229
|
-
}
|
|
230
|
-
else {
|
|
231
|
-
return `${theme.success('>')} `;
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
/**
|
|
235
|
-
* Activate the chat box
|
|
236
|
-
*/
|
|
237
|
-
activate() {
|
|
238
|
-
if (this.isActive)
|
|
239
|
-
return;
|
|
240
|
-
this.isActive = true;
|
|
241
|
-
this.clearInput();
|
|
242
|
-
// Show initial prompt
|
|
243
|
-
display.showSystemMessage('Persistent chat box activated - Type while AI streams, press Enter to send');
|
|
244
|
-
}
|
|
245
|
-
/**
|
|
246
|
-
* Deactivate the chat box
|
|
247
|
-
*/
|
|
248
|
-
deactivate() {
|
|
249
|
-
this.isActive = false;
|
|
250
|
-
this.rl.pause();
|
|
251
|
-
}
|
|
252
|
-
/**
|
|
253
|
-
* Set streaming state
|
|
254
|
-
*/
|
|
255
|
-
setStreaming(isStreaming) {
|
|
256
|
-
this.state.isStreaming = isStreaming;
|
|
257
|
-
if (this.isActive) {
|
|
258
|
-
this.updatePrompt(this.getDefaultPrompt());
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
/**
|
|
262
|
-
* Add message to history
|
|
263
|
-
*/
|
|
264
|
-
addToHistory(message) {
|
|
265
|
-
if (message.trim() && this.state.history[0] !== message.trim()) {
|
|
266
|
-
this.state.history.unshift(message.trim());
|
|
267
|
-
if (this.state.history.length > 100) {
|
|
268
|
-
this.state.history.pop();
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
/**
|
|
273
|
-
* Get current state
|
|
274
|
-
*/
|
|
275
|
-
getState() {
|
|
276
|
-
return { ...this.state };
|
|
277
|
-
}
|
|
278
|
-
/**
|
|
279
|
-
* Get config
|
|
280
|
-
*/
|
|
281
|
-
getConfig() {
|
|
282
|
-
return { ...this.config };
|
|
283
|
-
}
|
|
284
|
-
/**
|
|
285
|
-
* Update config
|
|
286
|
-
*/
|
|
287
|
-
updateConfig(config) {
|
|
288
|
-
this.config = { ...this.config, ...config };
|
|
289
|
-
}
|
|
290
|
-
/**
|
|
291
|
-
* Dispose of resources
|
|
292
|
-
*/
|
|
293
|
-
dispose() {
|
|
294
|
-
this.deactivate();
|
|
295
|
-
this.rl.close();
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
//# sourceMappingURL=PersistentChatBox.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PersistentChatBox.js","sourceRoot":"","sources":["../../src/ui/PersistentChatBox.ts"],"names":[],"mappings":"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"}
|