erosolar-cli 1.7.253 → 1.7.255
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/customCommands.d.ts +0 -1
- package/dist/core/customCommands.d.ts.map +1 -1
- package/dist/core/customCommands.js +0 -3
- package/dist/core/customCommands.js.map +1 -1
- 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/core/toolPreconditions.d.ts.map +1 -1
- package/dist/core/toolPreconditions.js +14 -0
- package/dist/core/toolPreconditions.js.map +1 -1
- package/dist/core/toolRuntime.d.ts.map +1 -1
- package/dist/core/toolRuntime.js +5 -0
- package/dist/core/toolRuntime.js.map +1 -1
- package/dist/core/toolValidation.d.ts.map +1 -1
- package/dist/core/toolValidation.js +3 -14
- package/dist/core/toolValidation.js.map +1 -1
- 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 -10
- package/dist/shell/interactiveShell.d.ts.map +1 -1
- package/dist/shell/interactiveShell.js +31 -183
- 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 +126 -54
- package/dist/shell/terminalInput.d.ts.map +1 -1
- package/dist/shell/terminalInput.js +587 -354
- package/dist/shell/terminalInput.js.map +1 -1
- package/dist/shell/terminalInputAdapter.d.ts +15 -12
- package/dist/shell/terminalInputAdapter.d.ts.map +1 -1
- package/dist/shell/terminalInputAdapter.js +22 -8
- package/dist/shell/terminalInputAdapter.js.map +1 -1
- package/dist/ui/display.d.ts +0 -19
- package/dist/ui/display.d.ts.map +1 -1
- package/dist/ui/display.js +2 -133
- package/dist/ui/display.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/terminalUISchema.d.ts +195 -0
- package/dist/ui/terminalUISchema.d.ts.map +1 -0
- package/dist/ui/terminalUISchema.js +113 -0
- package/dist/ui/terminalUISchema.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 +0 -1
- package/dist/ui/unified/layout.d.ts.map +1 -1
- package/dist/ui/unified/layout.js +25 -15
- package/dist/ui/unified/layout.js.map +1 -1
- package/package.json +1 -1
package/dist/mcp/sseClient.js
CHANGED
|
@@ -105,6 +105,7 @@ export class McpSseClient {
|
|
|
105
105
|
const processStream = async () => {
|
|
106
106
|
let eventType = 'message';
|
|
107
107
|
let eventDataLines = [];
|
|
108
|
+
const sanitizeLine = (line) => line.replace(/\r/g, '');
|
|
108
109
|
const handleCompleteEvent = () => {
|
|
109
110
|
if (!eventDataLines.length) {
|
|
110
111
|
return;
|
|
@@ -140,13 +141,17 @@ export class McpSseClient {
|
|
|
140
141
|
const trailingLines = buffer ? buffer.split('\n') : [''];
|
|
141
142
|
buffer = '';
|
|
142
143
|
for (const line of trailingLines) {
|
|
143
|
-
|
|
144
|
-
|
|
144
|
+
const sanitized = sanitizeLine(line);
|
|
145
|
+
if (sanitized.startsWith('event:')) {
|
|
146
|
+
if (eventDataLines.length > 0) {
|
|
147
|
+
handleCompleteEvent();
|
|
148
|
+
}
|
|
149
|
+
eventType = sanitized.slice(6).trim();
|
|
145
150
|
}
|
|
146
151
|
else if (line.startsWith('data:')) {
|
|
147
|
-
eventDataLines.push(
|
|
152
|
+
eventDataLines.push(sanitized.slice(5));
|
|
148
153
|
}
|
|
149
|
-
else if (
|
|
154
|
+
else if (sanitized === '') {
|
|
150
155
|
handleCompleteEvent();
|
|
151
156
|
}
|
|
152
157
|
}
|
|
@@ -167,13 +172,17 @@ export class McpSseClient {
|
|
|
167
172
|
const lines = buffer.split('\n');
|
|
168
173
|
buffer = lines.pop() ?? '';
|
|
169
174
|
for (const line of lines) {
|
|
170
|
-
|
|
171
|
-
|
|
175
|
+
const sanitized = sanitizeLine(line);
|
|
176
|
+
if (sanitized.startsWith('event:')) {
|
|
177
|
+
if (eventDataLines.length > 0) {
|
|
178
|
+
handleCompleteEvent();
|
|
179
|
+
}
|
|
180
|
+
eventType = sanitized.slice(6).trim();
|
|
172
181
|
}
|
|
173
|
-
else if (
|
|
174
|
-
eventDataLines.push(
|
|
182
|
+
else if (sanitized.startsWith('data:')) {
|
|
183
|
+
eventDataLines.push(sanitized.slice(5));
|
|
175
184
|
}
|
|
176
|
-
else if (
|
|
185
|
+
else if (sanitized === '') {
|
|
177
186
|
handleCompleteEvent();
|
|
178
187
|
}
|
|
179
188
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sseClient.js","sourceRoot":"","sources":["../../src/mcp/sseClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sseClient.js","sourceRoot":"","sources":["../../src/mcp/sseClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build Tool Plugin
|
|
3
|
+
*
|
|
4
|
+
* Provides build and test tools with AI-powered error analysis.
|
|
5
|
+
* Auto-enabled by default for all coding sessions.
|
|
6
|
+
*/
|
|
1
7
|
import type { ToolPlugin } from '../registry.js';
|
|
2
8
|
export declare function createBuildToolPlugin(): ToolPlugin;
|
|
3
9
|
//# sourceMappingURL=buildPlugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildPlugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/tools/build/buildPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"buildPlugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/tools/build/buildPlugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,wBAAgB,qBAAqB,IAAI,UAAU,CAWlD"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build Tool Plugin
|
|
3
|
+
*
|
|
4
|
+
* Provides build and test tools with AI-powered error analysis.
|
|
5
|
+
* Auto-enabled by default for all coding sessions.
|
|
6
|
+
*/
|
|
1
7
|
import { BuildCapabilityModule } from '../../../capabilities/buildCapability.js';
|
|
2
8
|
export function createBuildToolPlugin() {
|
|
3
9
|
return {
|
|
4
|
-
id: 'tool.build.
|
|
5
|
-
description: 'Build and test
|
|
6
|
-
targets: ['node'],
|
|
7
|
-
create:
|
|
10
|
+
id: 'tool.build.ai',
|
|
11
|
+
description: 'Build and test execution with AI-powered error analysis.',
|
|
12
|
+
targets: ['node', 'cloud'],
|
|
13
|
+
create: (context) => {
|
|
8
14
|
return new BuildCapabilityModule({
|
|
9
15
|
workingDir: context.workingDir,
|
|
10
16
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildPlugin.js","sourceRoot":"","sources":["../../../../src/plugins/tools/build/buildPlugin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"buildPlugin.js","sourceRoot":"","sources":["../../../../src/plugins/tools/build/buildPlugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAGjF,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,EAAE,EAAE,eAAe;QACnB,WAAW,EAAE,0DAA0D;QACvE,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QAC1B,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;YAClB,OAAO,IAAI,qBAAqB,CAAC;gBAC/B,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ClaudeCodeStreamHandler - Complete streaming I/O handler following Claude Code's approach
|
|
3
|
+
*
|
|
4
|
+
* This module combines StreamingOutputManager and InputQueueManager to provide
|
|
5
|
+
* the complete Claude Code streaming experience:
|
|
6
|
+
*
|
|
7
|
+
* 1. Natural Output Flow
|
|
8
|
+
* - Streaming output just writes to stdout normally
|
|
9
|
+
* - Cursor stays where it is after each write
|
|
10
|
+
* - Lines scroll up naturally as new content appears
|
|
11
|
+
* - NO scroll regions, NO save/restore cursor during streaming
|
|
12
|
+
*
|
|
13
|
+
* 2. Readline Handles Input
|
|
14
|
+
* - Uses Node.js readline module
|
|
15
|
+
* - Input prompt naturally moves up as output streams above it
|
|
16
|
+
* - User can type while streaming - input is queued in memory, not rendered
|
|
17
|
+
*
|
|
18
|
+
* 3. Queue-Based Approach
|
|
19
|
+
* User types during streaming → Input stored in queue → Processed after streaming ends
|
|
20
|
+
*
|
|
21
|
+
* 4. The Key Insight
|
|
22
|
+
* The cursor is NEVER moved during streaming. Output just appends at current position.
|
|
23
|
+
* The "input at bottom" effect comes from:
|
|
24
|
+
* - New output pushes older content (including the prompt) upward
|
|
25
|
+
* - After streaming ends, a new prompt is shown at the bottom
|
|
26
|
+
*/
|
|
27
|
+
import * as readline from 'node:readline';
|
|
28
|
+
import { EventEmitter } from 'node:events';
|
|
29
|
+
import { type QueuedInput } from './inputQueueManager.js';
|
|
30
|
+
export interface ClaudeCodeStreamState {
|
|
31
|
+
isStreaming: boolean;
|
|
32
|
+
queuedCount: number;
|
|
33
|
+
charsWritten: number;
|
|
34
|
+
linesWritten: number;
|
|
35
|
+
elapsedMs: number;
|
|
36
|
+
}
|
|
37
|
+
export interface ClaudeCodeStreamEvents {
|
|
38
|
+
'streaming-start': () => void;
|
|
39
|
+
'streaming-end': (stats: {
|
|
40
|
+
duration: number;
|
|
41
|
+
chars: number;
|
|
42
|
+
lines: number;
|
|
43
|
+
}) => void;
|
|
44
|
+
'input-queued': (input: QueuedInput) => void;
|
|
45
|
+
'queue-processed': (input: QueuedInput) => void;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Coordinates streaming output and queued input for Claude Code style UX.
|
|
49
|
+
*/
|
|
50
|
+
export declare class ClaudeCodeStreamHandler extends EventEmitter {
|
|
51
|
+
private readonly outputManager;
|
|
52
|
+
private readonly inputManager;
|
|
53
|
+
private readonly writeStream;
|
|
54
|
+
private readonly readStream;
|
|
55
|
+
private rl;
|
|
56
|
+
private keypressHandler;
|
|
57
|
+
private originalStdoutWrite;
|
|
58
|
+
private isOutputSuppressed;
|
|
59
|
+
constructor(writeStream?: NodeJS.WriteStream, readStream?: NodeJS.ReadStream);
|
|
60
|
+
/**
|
|
61
|
+
* Attach to an existing readline interface
|
|
62
|
+
* Call this after creating your readline.Interface
|
|
63
|
+
*/
|
|
64
|
+
attachToReadline(rl: readline.Interface): void;
|
|
65
|
+
/**
|
|
66
|
+
* Set up keypress capturing for queued input during streaming
|
|
67
|
+
*/
|
|
68
|
+
private setupKeypressCapture;
|
|
69
|
+
/**
|
|
70
|
+
* Begin streaming mode
|
|
71
|
+
*
|
|
72
|
+
* Claude Code approach:
|
|
73
|
+
* - Start capturing input to queue
|
|
74
|
+
* - Suppress readline echo (characters typed go to queue, not screen)
|
|
75
|
+
* - Output flows naturally to stdout
|
|
76
|
+
*/
|
|
77
|
+
startStreaming(): void;
|
|
78
|
+
/**
|
|
79
|
+
* End streaming mode
|
|
80
|
+
*
|
|
81
|
+
* Claude Code approach:
|
|
82
|
+
* - Stop capturing (any remaining buffer is preserved)
|
|
83
|
+
* - Restore readline echo
|
|
84
|
+
* - Return streaming statistics
|
|
85
|
+
*/
|
|
86
|
+
endStreaming(): {
|
|
87
|
+
duration: number;
|
|
88
|
+
chars: number;
|
|
89
|
+
lines: number;
|
|
90
|
+
queuedInputs: number;
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Write content during streaming
|
|
94
|
+
* Just writes naturally to stdout - no cursor manipulation
|
|
95
|
+
*/
|
|
96
|
+
write(content: string): void;
|
|
97
|
+
/**
|
|
98
|
+
* Write a complete line during streaming
|
|
99
|
+
*/
|
|
100
|
+
writeLine(line?: string): void;
|
|
101
|
+
/**
|
|
102
|
+
* Check if currently streaming
|
|
103
|
+
*/
|
|
104
|
+
isStreaming(): boolean;
|
|
105
|
+
/**
|
|
106
|
+
* Get current state
|
|
107
|
+
*/
|
|
108
|
+
getState(): ClaudeCodeStreamState;
|
|
109
|
+
/**
|
|
110
|
+
* Check if there are queued inputs to process
|
|
111
|
+
*/
|
|
112
|
+
hasQueuedInput(): boolean;
|
|
113
|
+
/**
|
|
114
|
+
* Get the next queued input
|
|
115
|
+
*/
|
|
116
|
+
getNextQueuedInput(): QueuedInput | undefined;
|
|
117
|
+
/**
|
|
118
|
+
* Get all queued inputs
|
|
119
|
+
*/
|
|
120
|
+
getAllQueuedInputs(): QueuedInput[];
|
|
121
|
+
/**
|
|
122
|
+
* Clear all queued inputs
|
|
123
|
+
*/
|
|
124
|
+
clearQueue(): void;
|
|
125
|
+
/**
|
|
126
|
+
* Get queue summary for display
|
|
127
|
+
*/
|
|
128
|
+
getQueueSummary(): string;
|
|
129
|
+
/**
|
|
130
|
+
* Suppress readline's output during streaming
|
|
131
|
+
* Characters typed will be captured but not displayed
|
|
132
|
+
*/
|
|
133
|
+
private suppressReadlineOutput;
|
|
134
|
+
/**
|
|
135
|
+
* Restore readline's normal output
|
|
136
|
+
*/
|
|
137
|
+
private restoreReadlineOutput;
|
|
138
|
+
/**
|
|
139
|
+
* Cleanup when done
|
|
140
|
+
*/
|
|
141
|
+
dispose(): void;
|
|
142
|
+
}
|
|
143
|
+
export declare function getClaudeCodeStreamHandler(): ClaudeCodeStreamHandler;
|
|
144
|
+
export declare function resetClaudeCodeStreamHandler(): void;
|
|
145
|
+
//# sourceMappingURL=claudeCodeStreamHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claudeCodeStreamHandler.d.ts","sourceRoot":"","sources":["../../src/shell/claudeCodeStreamHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAA2C,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGnG,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,eAAe,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACrF,cAAc,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC7C,iBAAiB,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CACjD;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,YAAY;IACvD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyB;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAE/C,OAAO,CAAC,EAAE,CAAmC;IAC7C,OAAO,CAAC,eAAe,CAA2D;IAClF,OAAO,CAAC,mBAAmB,CAA4C;IACvE,OAAO,CAAC,kBAAkB,CAAS;gBAGjC,WAAW,GAAE,MAAM,CAAC,WAA4B,EAChD,UAAU,GAAE,MAAM,CAAC,UAA0B;IAc/C;;;OAGG;IACH,gBAAgB,CAAC,EAAE,EAAE,QAAQ,CAAC,SAAS,GAAG,IAAI;IAK9C;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAwE5B;;;;;;;OAOG;IACH,cAAc,IAAI,IAAI;IAetB;;;;;;;OAOG;IACH,YAAY,IAAI;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE;IAyBxF;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI5B;;OAEG;IACH,SAAS,CAAC,IAAI,GAAE,MAAW,GAAG,IAAI;IAIlC;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,QAAQ,IAAI,qBAAqB;IAWjC;;OAEG;IACH,cAAc,IAAI,OAAO;IAIzB;;OAEG;IACH,kBAAkB,IAAI,WAAW,GAAG,SAAS;IAI7C;;OAEG;IACH,kBAAkB,IAAI,WAAW,EAAE;IAInC;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAqD9B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAU7B;;OAEG;IACH,OAAO,IAAI,IAAI;CAehB;AAOD,wBAAgB,0BAA0B,IAAI,uBAAuB,CAKpE;AAED,wBAAgB,4BAA4B,IAAI,IAAI,CAKnD"}
|
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ClaudeCodeStreamHandler - Complete streaming I/O handler following Claude Code's approach
|
|
3
|
+
*
|
|
4
|
+
* This module combines StreamingOutputManager and InputQueueManager to provide
|
|
5
|
+
* the complete Claude Code streaming experience:
|
|
6
|
+
*
|
|
7
|
+
* 1. Natural Output Flow
|
|
8
|
+
* - Streaming output just writes to stdout normally
|
|
9
|
+
* - Cursor stays where it is after each write
|
|
10
|
+
* - Lines scroll up naturally as new content appears
|
|
11
|
+
* - NO scroll regions, NO save/restore cursor during streaming
|
|
12
|
+
*
|
|
13
|
+
* 2. Readline Handles Input
|
|
14
|
+
* - Uses Node.js readline module
|
|
15
|
+
* - Input prompt naturally moves up as output streams above it
|
|
16
|
+
* - User can type while streaming - input is queued in memory, not rendered
|
|
17
|
+
*
|
|
18
|
+
* 3. Queue-Based Approach
|
|
19
|
+
* User types during streaming → Input stored in queue → Processed after streaming ends
|
|
20
|
+
*
|
|
21
|
+
* 4. The Key Insight
|
|
22
|
+
* The cursor is NEVER moved during streaming. Output just appends at current position.
|
|
23
|
+
* The "input at bottom" effect comes from:
|
|
24
|
+
* - New output pushes older content (including the prompt) upward
|
|
25
|
+
* - After streaming ends, a new prompt is shown at the bottom
|
|
26
|
+
*/
|
|
27
|
+
import * as readline from 'node:readline';
|
|
28
|
+
import { EventEmitter } from 'node:events';
|
|
29
|
+
import { getStreamingOutputManager } from './streamingOutputManager.js';
|
|
30
|
+
import { getInputQueueManager } from './inputQueueManager.js';
|
|
31
|
+
import { writeLock } from '../ui/writeLock.js';
|
|
32
|
+
/**
|
|
33
|
+
* Coordinates streaming output and queued input for Claude Code style UX.
|
|
34
|
+
*/
|
|
35
|
+
export class ClaudeCodeStreamHandler extends EventEmitter {
|
|
36
|
+
outputManager;
|
|
37
|
+
inputManager;
|
|
38
|
+
writeStream;
|
|
39
|
+
readStream;
|
|
40
|
+
rl = null;
|
|
41
|
+
keypressHandler = null;
|
|
42
|
+
originalStdoutWrite = null;
|
|
43
|
+
isOutputSuppressed = false;
|
|
44
|
+
constructor(writeStream = process.stdout, readStream = process.stdin) {
|
|
45
|
+
super();
|
|
46
|
+
this.writeStream = writeStream;
|
|
47
|
+
this.readStream = readStream;
|
|
48
|
+
this.outputManager = getStreamingOutputManager();
|
|
49
|
+
this.inputManager = getInputQueueManager();
|
|
50
|
+
// Forward events
|
|
51
|
+
this.inputManager.on('input-queued', (input) => {
|
|
52
|
+
this.emit('input-queued', input);
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Attach to an existing readline interface
|
|
57
|
+
* Call this after creating your readline.Interface
|
|
58
|
+
*/
|
|
59
|
+
attachToReadline(rl) {
|
|
60
|
+
this.rl = rl;
|
|
61
|
+
this.setupKeypressCapture();
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Set up keypress capturing for queued input during streaming
|
|
65
|
+
*/
|
|
66
|
+
setupKeypressCapture() {
|
|
67
|
+
if (!this.readStream || !this.readStream.isTTY) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
// Enable keypress events if not already enabled
|
|
71
|
+
if (this.readStream.listenerCount('keypress') === 0 && this.rl) {
|
|
72
|
+
readline.emitKeypressEvents(this.readStream, this.rl);
|
|
73
|
+
}
|
|
74
|
+
// Ensure raw mode for keypress events
|
|
75
|
+
if (this.readStream.setRawMode && !this.readStream.isRaw) {
|
|
76
|
+
this.readStream.setRawMode(true);
|
|
77
|
+
}
|
|
78
|
+
this.keypressHandler = (_str, key) => {
|
|
79
|
+
// Only capture when streaming
|
|
80
|
+
if (!this.outputManager.isStreaming() || !this.inputManager.isCapturing()) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
// Handle special keys
|
|
84
|
+
if (key) {
|
|
85
|
+
// Ctrl+C - interrupt
|
|
86
|
+
if (key.ctrl && key.name === 'c') {
|
|
87
|
+
this.inputManager.handleInterrupt();
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
// Enter - submit queued input
|
|
91
|
+
if (key.name === 'return' || key.name === 'enter') {
|
|
92
|
+
this.inputManager.handleSubmit();
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
// Backspace
|
|
96
|
+
if (key.name === 'backspace') {
|
|
97
|
+
this.inputManager.handleBackspace();
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
// Delete
|
|
101
|
+
if (key.name === 'delete') {
|
|
102
|
+
this.inputManager.handleDelete();
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
// Arrow keys
|
|
106
|
+
if (key.name === 'left') {
|
|
107
|
+
this.inputManager.handleCursorLeft();
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
if (key.name === 'right') {
|
|
111
|
+
this.inputManager.handleCursorRight();
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
// Ignore other control sequences during capture
|
|
115
|
+
if (key.ctrl || key.meta) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
// Regular character input
|
|
120
|
+
if (_str && _str.length > 0 && !key?.ctrl && !key?.meta) {
|
|
121
|
+
this.inputManager.handleChar(_str);
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
this.readStream.prependListener('keypress', this.keypressHandler);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Begin streaming mode
|
|
128
|
+
*
|
|
129
|
+
* Claude Code approach:
|
|
130
|
+
* - Start capturing input to queue
|
|
131
|
+
* - Suppress readline echo (characters typed go to queue, not screen)
|
|
132
|
+
* - Output flows naturally to stdout
|
|
133
|
+
*/
|
|
134
|
+
startStreaming() {
|
|
135
|
+
if (this.outputManager.isStreaming()) {
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
// Start both managers
|
|
139
|
+
this.outputManager.startStream();
|
|
140
|
+
this.inputManager.startCapturing();
|
|
141
|
+
// Suppress readline's output so typed characters don't appear
|
|
142
|
+
this.suppressReadlineOutput();
|
|
143
|
+
this.emit('streaming-start');
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* End streaming mode
|
|
147
|
+
*
|
|
148
|
+
* Claude Code approach:
|
|
149
|
+
* - Stop capturing (any remaining buffer is preserved)
|
|
150
|
+
* - Restore readline echo
|
|
151
|
+
* - Return streaming statistics
|
|
152
|
+
*/
|
|
153
|
+
endStreaming() {
|
|
154
|
+
// Get remaining buffer before stopping capture
|
|
155
|
+
const remainingBuffer = this.inputManager.stopCapturing();
|
|
156
|
+
// If there's unsubmitted content in buffer, preserve it for next prompt
|
|
157
|
+
if (remainingBuffer && remainingBuffer.trim()) {
|
|
158
|
+
// The remaining buffer will be shown when readline prompts again
|
|
159
|
+
// We could queue it, but leaving it as-is is more intuitive
|
|
160
|
+
}
|
|
161
|
+
// Restore readline output
|
|
162
|
+
this.restoreReadlineOutput();
|
|
163
|
+
// End output streaming
|
|
164
|
+
const stats = this.outputManager.endStream();
|
|
165
|
+
const result = {
|
|
166
|
+
...stats,
|
|
167
|
+
queuedInputs: this.inputManager.getQueueLength(),
|
|
168
|
+
};
|
|
169
|
+
this.emit('streaming-end', stats);
|
|
170
|
+
return result;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Write content during streaming
|
|
174
|
+
* Just writes naturally to stdout - no cursor manipulation
|
|
175
|
+
*/
|
|
176
|
+
write(content) {
|
|
177
|
+
this.outputManager.writeChunk(content);
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Write a complete line during streaming
|
|
181
|
+
*/
|
|
182
|
+
writeLine(line = '') {
|
|
183
|
+
this.outputManager.writeLine(line);
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Check if currently streaming
|
|
187
|
+
*/
|
|
188
|
+
isStreaming() {
|
|
189
|
+
return this.outputManager.isStreaming();
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Get current state
|
|
193
|
+
*/
|
|
194
|
+
getState() {
|
|
195
|
+
const outputStats = this.outputManager.getStats();
|
|
196
|
+
return {
|
|
197
|
+
isStreaming: this.outputManager.isStreaming(),
|
|
198
|
+
queuedCount: this.inputManager.getQueueLength(),
|
|
199
|
+
charsWritten: outputStats.chars,
|
|
200
|
+
linesWritten: outputStats.lines,
|
|
201
|
+
elapsedMs: outputStats.elapsed,
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Check if there are queued inputs to process
|
|
206
|
+
*/
|
|
207
|
+
hasQueuedInput() {
|
|
208
|
+
return this.inputManager.hasQueuedInput();
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Get the next queued input
|
|
212
|
+
*/
|
|
213
|
+
getNextQueuedInput() {
|
|
214
|
+
return this.inputManager.dequeue();
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Get all queued inputs
|
|
218
|
+
*/
|
|
219
|
+
getAllQueuedInputs() {
|
|
220
|
+
return this.inputManager.getQueue();
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Clear all queued inputs
|
|
224
|
+
*/
|
|
225
|
+
clearQueue() {
|
|
226
|
+
this.inputManager.clearQueue();
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Get queue summary for display
|
|
230
|
+
*/
|
|
231
|
+
getQueueSummary() {
|
|
232
|
+
return this.inputManager.getQueueSummary();
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Suppress readline's output during streaming
|
|
236
|
+
* Characters typed will be captured but not displayed
|
|
237
|
+
*/
|
|
238
|
+
suppressReadlineOutput() {
|
|
239
|
+
if (this.isOutputSuppressed) {
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
// Save original write function
|
|
243
|
+
this.originalStdoutWrite = this.writeStream.write.bind(this.writeStream);
|
|
244
|
+
// Replace with filtered version that suppresses readline echo
|
|
245
|
+
const outputManager = this.outputManager;
|
|
246
|
+
const originalWrite = this.originalStdoutWrite;
|
|
247
|
+
this.writeStream.write = function (chunk, encodingOrCallback, callback) {
|
|
248
|
+
const text = typeof chunk === 'string' ? chunk : chunk.toString();
|
|
249
|
+
// During streaming, only allow output from the streaming manager
|
|
250
|
+
// Suppress readline's echo of typed characters (single character writes)
|
|
251
|
+
if (outputManager.isStreaming()) {
|
|
252
|
+
// Allow newlines and multi-character writes (likely streaming content)
|
|
253
|
+
if (text.length === 1 && !text.includes('\n') && !text.includes('\r')) {
|
|
254
|
+
// Single character during streaming - likely user typing, suppress it
|
|
255
|
+
if (typeof encodingOrCallback === 'function') {
|
|
256
|
+
encodingOrCallback(null);
|
|
257
|
+
return true;
|
|
258
|
+
}
|
|
259
|
+
if (callback) {
|
|
260
|
+
callback(null);
|
|
261
|
+
}
|
|
262
|
+
return true;
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
// Pass through everything else
|
|
266
|
+
// If lock is already held, write directly - we're in a protected context
|
|
267
|
+
// This prevents queuing issues where content gets delayed during streaming
|
|
268
|
+
if (writeLock.isLocked()) {
|
|
269
|
+
return originalWrite(chunk, encodingOrCallback, callback);
|
|
270
|
+
}
|
|
271
|
+
let result = true;
|
|
272
|
+
writeLock.withLock(() => {
|
|
273
|
+
result = originalWrite(chunk, encodingOrCallback, callback);
|
|
274
|
+
}, 'claudeCodeStreamHandler.stdout');
|
|
275
|
+
return result;
|
|
276
|
+
};
|
|
277
|
+
this.isOutputSuppressed = true;
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Restore readline's normal output
|
|
281
|
+
*/
|
|
282
|
+
restoreReadlineOutput() {
|
|
283
|
+
if (!this.isOutputSuppressed || !this.originalStdoutWrite) {
|
|
284
|
+
return;
|
|
285
|
+
}
|
|
286
|
+
this.writeStream.write = this.originalStdoutWrite;
|
|
287
|
+
this.originalStdoutWrite = null;
|
|
288
|
+
this.isOutputSuppressed = false;
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Cleanup when done
|
|
292
|
+
*/
|
|
293
|
+
dispose() {
|
|
294
|
+
// Restore output if suppressed
|
|
295
|
+
this.restoreReadlineOutput();
|
|
296
|
+
// Remove keypress handler
|
|
297
|
+
if (this.keypressHandler && this.readStream) {
|
|
298
|
+
this.readStream.off('keypress', this.keypressHandler);
|
|
299
|
+
this.keypressHandler = null;
|
|
300
|
+
}
|
|
301
|
+
// Clear queue
|
|
302
|
+
this.inputManager.clearQueue();
|
|
303
|
+
this.rl = null;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* Singleton instance for global use
|
|
308
|
+
*/
|
|
309
|
+
let globalInstance = null;
|
|
310
|
+
export function getClaudeCodeStreamHandler() {
|
|
311
|
+
if (!globalInstance) {
|
|
312
|
+
globalInstance = new ClaudeCodeStreamHandler();
|
|
313
|
+
}
|
|
314
|
+
return globalInstance;
|
|
315
|
+
}
|
|
316
|
+
export function resetClaudeCodeStreamHandler() {
|
|
317
|
+
if (globalInstance) {
|
|
318
|
+
globalInstance.dispose();
|
|
319
|
+
}
|
|
320
|
+
globalInstance = null;
|
|
321
|
+
}
|
|
322
|
+
//# sourceMappingURL=claudeCodeStreamHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claudeCodeStreamHandler.js","sourceRoot":"","sources":["../../src/shell/claudeCodeStreamHandler.ts"],"names":[],"mappings":"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"}
|