erosolar-cli 1.6.26 → 1.6.27
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/shell/capturePastePatch.d.ts +9 -0
- package/dist/shell/capturePastePatch.d.ts.map +1 -0
- package/dist/shell/capturePastePatch.js +98 -0
- package/dist/shell/capturePastePatch.js.map +1 -0
- package/dist/shell/inputProcessor.d.ts +55 -0
- package/dist/shell/inputProcessor.d.ts.map +1 -0
- package/dist/shell/inputProcessor.js +171 -0
- package/dist/shell/inputProcessor.js.map +1 -0
- package/dist/shell/processInputBlockPatch.d.ts +8 -0
- package/dist/shell/processInputBlockPatch.d.ts.map +1 -0
- package/dist/shell/processInputBlockPatch.js +133 -0
- package/dist/shell/processInputBlockPatch.js.map +1 -0
- package/dist/tools/fileTools.d.ts.map +1 -1
- package/dist/tools/fileTools.js +26 -9
- package/dist/tools/fileTools.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Patch for capturePaste method to use robust input processing
|
|
3
|
+
*/
|
|
4
|
+
import { RobustInputProcessor } from './inputProcessor.js';
|
|
5
|
+
export declare function createRobustCapturePaste(inputProcessor: RobustInputProcessor): (this: any, content: string, lineCount: number) => void;
|
|
6
|
+
export declare function handleInlinePaste(this: any, content: string, processed: any): void;
|
|
7
|
+
export declare function handleBlockPaste(this: any, content: string, processed: any): void;
|
|
8
|
+
export declare function handlePasteChip(this: any, content: string, processed: any): void;
|
|
9
|
+
//# sourceMappingURL=capturePastePatch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capturePastePatch.d.ts","sourceRoot":"","sources":["../../src/shell/capturePastePatch.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,wBAAgB,wBAAwB,CAAC,cAAc,EAAE,oBAAoB,IAC9C,MAAM,GAAG,EAAE,SAAS,MAAM,EAAE,WAAW,MAAM,KAAG,IAAI,CAqClF;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,IAAI,CA2BlF;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,IAAI,CAyBjF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,IAAI,CAyBhF"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Patch for capturePaste method to use robust input processing
|
|
3
|
+
*/
|
|
4
|
+
export function createRobustCapturePaste(inputProcessor) {
|
|
5
|
+
return function capturePaste(content, lineCount) {
|
|
6
|
+
this.resetBufferedInputLines();
|
|
7
|
+
// Use robust input processor to determine best display format
|
|
8
|
+
const processed = inputProcessor.processInput(content);
|
|
9
|
+
// Check for initialization warnings and extract clean content
|
|
10
|
+
const { content: cleanContent, hadWarning } = inputProcessor.extractContentFromWarning(content);
|
|
11
|
+
if (hadWarning) {
|
|
12
|
+
// Handle initialization warnings gracefully
|
|
13
|
+
this.display.showInfo('Initialization complete. Processing input...');
|
|
14
|
+
}
|
|
15
|
+
// Validate input for common issues
|
|
16
|
+
const validation = inputProcessor.validateInput(cleanContent);
|
|
17
|
+
if (!validation.isValid) {
|
|
18
|
+
this.display.showWarning(`Input validation issues: ${validation.issues.join(', ')}`);
|
|
19
|
+
this.rl.prompt();
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
// Handle different display formats
|
|
23
|
+
switch (processed.displayFormat) {
|
|
24
|
+
case 'inline':
|
|
25
|
+
this.handleInlinePaste(cleanContent, processed);
|
|
26
|
+
break;
|
|
27
|
+
case 'block':
|
|
28
|
+
this.handleBlockPaste(cleanContent, processed);
|
|
29
|
+
break;
|
|
30
|
+
case 'paste-chip':
|
|
31
|
+
this.handlePasteChip(cleanContent, processed);
|
|
32
|
+
break;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export function handleInlinePaste(content, processed) {
|
|
37
|
+
const displayContent = processed.lineCount === 1
|
|
38
|
+
? content
|
|
39
|
+
: content.replace(/\n/g, ' ↵ '); // Visual newline indicator
|
|
40
|
+
// Clear any echoed content first
|
|
41
|
+
this.output.write('\r\x1b[K');
|
|
42
|
+
// Get current readline content and append paste
|
|
43
|
+
const currentLine = this.rl.line || '';
|
|
44
|
+
const cursorPos = this.rl.cursor || 0;
|
|
45
|
+
// Insert paste at cursor position
|
|
46
|
+
const before = currentLine.slice(0, cursorPos);
|
|
47
|
+
const after = currentLine.slice(cursorPos);
|
|
48
|
+
const newLine = before + displayContent + after;
|
|
49
|
+
const newCursor = cursorPos + displayContent.length;
|
|
50
|
+
// Update readline buffer - write directly without storing in composableMessage
|
|
51
|
+
this.rl.write(null, { ctrl: true, name: 'u' }); // Clear line
|
|
52
|
+
this.rl.write(newLine); // Write new content
|
|
53
|
+
// Update persistent prompt display
|
|
54
|
+
this.persistentPrompt.updateInput(newLine, newCursor);
|
|
55
|
+
// Re-prompt to show the inline content
|
|
56
|
+
this.rl.prompt(true);
|
|
57
|
+
}
|
|
58
|
+
export function handleBlockPaste(content, processed) {
|
|
59
|
+
// For block format, store as composable block
|
|
60
|
+
this.composableMessage.addPaste(content);
|
|
61
|
+
// Clear remaining echoed lines from terminal
|
|
62
|
+
this.output.write('\r\x1b[K');
|
|
63
|
+
// Build the paste chips to show inline with prompt
|
|
64
|
+
const pasteChips = this.composableMessage.formatPasteChips();
|
|
65
|
+
// Update status bar with instructions
|
|
66
|
+
this.persistentPrompt.updateStatusBar({
|
|
67
|
+
message: 'Paste more, type text, or press Enter to send (/cancel to discard)',
|
|
68
|
+
});
|
|
69
|
+
// Set the prompt to show paste chips, then position cursor after them
|
|
70
|
+
this.persistentPrompt.updateInput(pasteChips + ' ', pasteChips.length + 1);
|
|
71
|
+
// Update readline's line buffer to include the chips as prefix
|
|
72
|
+
if (this.rl.line !== undefined) {
|
|
73
|
+
this.rl.line = pasteChips + ' ';
|
|
74
|
+
this.rl.cursor = pasteChips.length + 1;
|
|
75
|
+
}
|
|
76
|
+
this.rl.prompt(true); // preserveCursor=true to keep position after chips
|
|
77
|
+
}
|
|
78
|
+
export function handlePasteChip(content, processed) {
|
|
79
|
+
// For very long content, use paste-chip format with summary
|
|
80
|
+
this.composableMessage.addPaste(content);
|
|
81
|
+
// Clear remaining echoed lines from terminal
|
|
82
|
+
this.output.write('\r\x1b[K');
|
|
83
|
+
// Use the summary from the input processor
|
|
84
|
+
const pasteChips = processed.summary || this.composableMessage.formatPasteChips();
|
|
85
|
+
// Update status bar with instructions
|
|
86
|
+
this.persistentPrompt.updateStatusBar({
|
|
87
|
+
message: 'Large paste detected. Press Enter to send or /cancel to discard',
|
|
88
|
+
});
|
|
89
|
+
// Set the prompt to show paste chips
|
|
90
|
+
this.persistentPrompt.updateInput(pasteChips + ' ', pasteChips.length + 1);
|
|
91
|
+
// Update readline's line buffer
|
|
92
|
+
if (this.rl.line !== undefined) {
|
|
93
|
+
this.rl.line = pasteChips + ' ';
|
|
94
|
+
this.rl.cursor = pasteChips.length + 1;
|
|
95
|
+
}
|
|
96
|
+
this.rl.prompt(true);
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=capturePastePatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capturePastePatch.js","sourceRoot":"","sources":["../../src/shell/capturePastePatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Robust Input Processor for Erosolar CLI
|
|
3
|
+
*
|
|
4
|
+
* Fixes issues with:
|
|
5
|
+
* - Multi-line paste handling
|
|
6
|
+
* - Display formatting consistency
|
|
7
|
+
* - User input accuracy
|
|
8
|
+
* - Warning message placement
|
|
9
|
+
*/
|
|
10
|
+
export interface InputProcessingResult {
|
|
11
|
+
content: string;
|
|
12
|
+
isMultiLine: boolean;
|
|
13
|
+
lineCount: number;
|
|
14
|
+
displayFormat: 'inline' | 'block' | 'paste-chip';
|
|
15
|
+
summary?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare class RobustInputProcessor {
|
|
18
|
+
private readonly MAX_INLINE_LINES;
|
|
19
|
+
private readonly MAX_SUMMARY_LENGTH;
|
|
20
|
+
/**
|
|
21
|
+
* Process user input with robust multi-line handling
|
|
22
|
+
*/
|
|
23
|
+
processInput(input: string): InputProcessingResult;
|
|
24
|
+
/**
|
|
25
|
+
* Determine the best display format for the input
|
|
26
|
+
*/
|
|
27
|
+
private determineDisplayFormat;
|
|
28
|
+
/**
|
|
29
|
+
* Generate appropriate summary based on display format
|
|
30
|
+
*/
|
|
31
|
+
private generateSummary;
|
|
32
|
+
/**
|
|
33
|
+
* Format content for display based on the determined format
|
|
34
|
+
*/
|
|
35
|
+
formatForDisplay(result: InputProcessingResult): string;
|
|
36
|
+
/**
|
|
37
|
+
* Check if input contains initialization warnings that should be handled
|
|
38
|
+
*/
|
|
39
|
+
containsInitializationWarning(input: string): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Extract actual content from input that may contain warnings
|
|
42
|
+
*/
|
|
43
|
+
extractContentFromWarning(input: string): {
|
|
44
|
+
content: string;
|
|
45
|
+
hadWarning: boolean;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Validate input for common issues
|
|
49
|
+
*/
|
|
50
|
+
validateInput(input: string): {
|
|
51
|
+
isValid: boolean;
|
|
52
|
+
issues: string[];
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=inputProcessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputProcessor.d.ts","sourceRoot":"","sources":["../../src/shell/inputProcessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,QAAQ,GAAG,OAAO,GAAG,YAAY,CAAC;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAK;IACtC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAM;IAEzC;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,qBAAqB;IA8BlD;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA+B9B;;OAEG;IACH,OAAO,CAAC,eAAe;IA8BvB;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM;IAsBvD;;OAEG;IACH,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAYrD;;OAEG;IACH,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE;IAyBlF;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;CAwBrE"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Robust Input Processor for Erosolar CLI
|
|
3
|
+
*
|
|
4
|
+
* Fixes issues with:
|
|
5
|
+
* - Multi-line paste handling
|
|
6
|
+
* - Display formatting consistency
|
|
7
|
+
* - User input accuracy
|
|
8
|
+
* - Warning message placement
|
|
9
|
+
*/
|
|
10
|
+
export class RobustInputProcessor {
|
|
11
|
+
MAX_INLINE_LINES = 3;
|
|
12
|
+
MAX_SUMMARY_LENGTH = 80;
|
|
13
|
+
/**
|
|
14
|
+
* Process user input with robust multi-line handling
|
|
15
|
+
*/
|
|
16
|
+
processInput(input) {
|
|
17
|
+
const trimmed = input.trim();
|
|
18
|
+
const lines = trimmed.split('\n').filter(line => line.trim().length > 0);
|
|
19
|
+
const lineCount = lines.length;
|
|
20
|
+
// Handle empty input
|
|
21
|
+
if (lineCount === 0) {
|
|
22
|
+
return {
|
|
23
|
+
content: '',
|
|
24
|
+
isMultiLine: false,
|
|
25
|
+
lineCount: 0,
|
|
26
|
+
displayFormat: 'inline'
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
// Determine display format based on content characteristics
|
|
30
|
+
const displayFormat = this.determineDisplayFormat(trimmed, lineCount, lines);
|
|
31
|
+
// Generate appropriate summary
|
|
32
|
+
const summary = this.generateSummary(trimmed, lines, displayFormat);
|
|
33
|
+
return {
|
|
34
|
+
content: trimmed,
|
|
35
|
+
isMultiLine: lineCount > 1,
|
|
36
|
+
lineCount,
|
|
37
|
+
displayFormat,
|
|
38
|
+
summary
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Determine the best display format for the input
|
|
43
|
+
*/
|
|
44
|
+
determineDisplayFormat(content, lineCount, lines) {
|
|
45
|
+
// Single line always inline
|
|
46
|
+
if (lineCount === 1) {
|
|
47
|
+
return 'inline';
|
|
48
|
+
}
|
|
49
|
+
// Short multi-line content can be inline
|
|
50
|
+
if (lineCount <= this.MAX_INLINE_LINES) {
|
|
51
|
+
const totalLength = content.length;
|
|
52
|
+
const avgLineLength = totalLength / lineCount;
|
|
53
|
+
// If lines are short, display inline with visual indicators
|
|
54
|
+
if (avgLineLength < 60) {
|
|
55
|
+
return 'inline';
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
// Long multi-line content gets block or paste-chip format
|
|
59
|
+
// Use paste-chip for very long content (> 10 lines)
|
|
60
|
+
if (lineCount > 10) {
|
|
61
|
+
return 'paste-chip';
|
|
62
|
+
}
|
|
63
|
+
// Moderate multi-line content gets block format
|
|
64
|
+
return 'block';
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Generate appropriate summary based on display format
|
|
68
|
+
*/
|
|
69
|
+
generateSummary(content, lines, displayFormat) {
|
|
70
|
+
if (displayFormat === 'inline') {
|
|
71
|
+
return undefined; // No summary needed for inline
|
|
72
|
+
}
|
|
73
|
+
if (displayFormat === 'paste-chip') {
|
|
74
|
+
const firstLine = lines[0] || '';
|
|
75
|
+
const truncated = firstLine.length > this.MAX_SUMMARY_LENGTH
|
|
76
|
+
? firstLine.slice(0, this.MAX_SUMMARY_LENGTH - 3) + '...'
|
|
77
|
+
: firstLine;
|
|
78
|
+
return `[Pasted text +${lines.length} lines] ${truncated}`;
|
|
79
|
+
}
|
|
80
|
+
// Block format - show first line preview
|
|
81
|
+
if (lines.length > 0) {
|
|
82
|
+
const firstLine = lines[0];
|
|
83
|
+
if (firstLine.length > this.MAX_SUMMARY_LENGTH) {
|
|
84
|
+
return firstLine.slice(0, this.MAX_SUMMARY_LENGTH - 3) + '...';
|
|
85
|
+
}
|
|
86
|
+
return firstLine;
|
|
87
|
+
}
|
|
88
|
+
return undefined;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Format content for display based on the determined format
|
|
92
|
+
*/
|
|
93
|
+
formatForDisplay(result) {
|
|
94
|
+
const { content, displayFormat, lineCount, summary } = result;
|
|
95
|
+
switch (displayFormat) {
|
|
96
|
+
case 'inline':
|
|
97
|
+
if (lineCount === 1) {
|
|
98
|
+
return content;
|
|
99
|
+
}
|
|
100
|
+
// Multi-line inline - join with visual indicators
|
|
101
|
+
return content.replace(/\n/g, ' ↵ ');
|
|
102
|
+
case 'block':
|
|
103
|
+
return content; // Return as-is for block display
|
|
104
|
+
case 'paste-chip':
|
|
105
|
+
return summary || `[Pasted text +${lineCount} lines]`;
|
|
106
|
+
default:
|
|
107
|
+
return content;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Check if input contains initialization warnings that should be handled
|
|
112
|
+
*/
|
|
113
|
+
containsInitializationWarning(input) {
|
|
114
|
+
const warningPatterns = [
|
|
115
|
+
/take a moment for complex initialization/i,
|
|
116
|
+
/initializing/i,
|
|
117
|
+
/loading/i,
|
|
118
|
+
/please wait/i,
|
|
119
|
+
/starting up/i
|
|
120
|
+
];
|
|
121
|
+
return warningPatterns.some(pattern => pattern.test(input));
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Extract actual content from input that may contain warnings
|
|
125
|
+
*/
|
|
126
|
+
extractContentFromWarning(input) {
|
|
127
|
+
const warningPatterns = [
|
|
128
|
+
/take a moment for complex initialization\.\.\.\s*/i,
|
|
129
|
+
/initializing\.\.\.\s*/i,
|
|
130
|
+
/loading\.\.\.\s*/i,
|
|
131
|
+
/please wait\.\.\.\s*/i,
|
|
132
|
+
/starting up\.\.\.\s*/i
|
|
133
|
+
];
|
|
134
|
+
let cleaned = input;
|
|
135
|
+
let hadWarning = false;
|
|
136
|
+
for (const pattern of warningPatterns) {
|
|
137
|
+
if (pattern.test(cleaned)) {
|
|
138
|
+
cleaned = cleaned.replace(pattern, '');
|
|
139
|
+
hadWarning = true;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
return {
|
|
143
|
+
content: cleaned.trim(),
|
|
144
|
+
hadWarning
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Validate input for common issues
|
|
149
|
+
*/
|
|
150
|
+
validateInput(input) {
|
|
151
|
+
const issues = [];
|
|
152
|
+
// Check for empty input
|
|
153
|
+
if (!input.trim()) {
|
|
154
|
+
issues.push('Input is empty');
|
|
155
|
+
}
|
|
156
|
+
// Check for excessive length
|
|
157
|
+
if (input.length > 10000) {
|
|
158
|
+
issues.push('Input exceeds maximum length (10,000 characters)');
|
|
159
|
+
}
|
|
160
|
+
// Check for control characters that might cause issues
|
|
161
|
+
const controlChars = input.match(/[\x00-\x1F\x7F]/g);
|
|
162
|
+
if (controlChars && controlChars.length > 5) {
|
|
163
|
+
issues.push('Input contains excessive control characters');
|
|
164
|
+
}
|
|
165
|
+
return {
|
|
166
|
+
isValid: issues.length === 0,
|
|
167
|
+
issues
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=inputProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputProcessor.js","sourceRoot":"","sources":["../../src/shell/inputProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Patch for processInputBlock method to use robust input processing
|
|
3
|
+
*/
|
|
4
|
+
import { RobustInputProcessor } from './inputProcessor.js';
|
|
5
|
+
export declare function createRobustProcessInputBlock(inputProcessor: RobustInputProcessor): (this: any, line: string, _wasRapidMultiLine?: boolean) => Promise<void>;
|
|
6
|
+
export declare function handleComposableMessage(this: any, cleanContent: string, processed: any): Promise<void>;
|
|
7
|
+
export declare function handleControlCommands(this: any, cleanContent: string): Promise<boolean>;
|
|
8
|
+
//# sourceMappingURL=processInputBlockPatch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processInputBlockPatch.d.ts","sourceRoot":"","sources":["../../src/shell/processInputBlockPatch.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,wBAAgB,6BAA6B,CAAC,cAAc,EAAE,oBAAoB,IACxC,MAAM,GAAG,EAAE,MAAM,MAAM,EAAE,4BAA0B,KAAG,OAAO,CAAC,IAAI,CAAC,CA2D5G;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAuE5G;AAED,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAqB7F"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Patch for processInputBlock method to use robust input processing
|
|
3
|
+
*/
|
|
4
|
+
export function createRobustProcessInputBlock(inputProcessor) {
|
|
5
|
+
return async function processInputBlock(line, _wasRapidMultiLine = false) {
|
|
6
|
+
this.slashPreviewVisible = false;
|
|
7
|
+
this.uiAdapter.hideSlashCommandPreview();
|
|
8
|
+
// Use robust input processor to handle the input
|
|
9
|
+
const processed = inputProcessor.processInput(line);
|
|
10
|
+
// Check for initialization warnings
|
|
11
|
+
const { content: cleanContent, hadWarning } = inputProcessor.extractContentFromWarning(line);
|
|
12
|
+
if (hadWarning) {
|
|
13
|
+
this.display.showInfo('Processing input...');
|
|
14
|
+
}
|
|
15
|
+
// Validate input
|
|
16
|
+
const validation = inputProcessor.validateInput(cleanContent);
|
|
17
|
+
if (!validation.isValid) {
|
|
18
|
+
this.display.showWarning(`Input validation issues: ${validation.issues.join(', ')}`);
|
|
19
|
+
this.rl.prompt();
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
if (await this.handlePendingInteraction(cleanContent)) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
// If we have captured multi-line paste blocks, respect control commands before assembling
|
|
26
|
+
if (this.composableMessage.hasContent()) {
|
|
27
|
+
await this.handleComposableMessage(cleanContent, processed);
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
if (!cleanContent) {
|
|
31
|
+
this.rl.prompt();
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
// Handle control commands
|
|
35
|
+
if (await this.handleControlCommands(cleanContent)) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
// Handle slash commands
|
|
39
|
+
if (cleanContent.startsWith('/')) {
|
|
40
|
+
await this.processSlashCommand(cleanContent);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
// Check for continuous/infinite loop commands
|
|
44
|
+
if (this.isContinuousCommand(cleanContent)) {
|
|
45
|
+
await this.processContinuousRequest(cleanContent);
|
|
46
|
+
this.rl.prompt();
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
// Direct execution for all inputs, including multi-line pastes
|
|
50
|
+
await this.processRequest(cleanContent);
|
|
51
|
+
this.rl.prompt();
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
export async function handleComposableMessage(cleanContent, processed) {
|
|
55
|
+
// Strip paste chip prefixes from input since actual content is in composableMessage
|
|
56
|
+
// Chips look like: [Pasted text #1 +X lines] [Pasted text #2 +Y lines]
|
|
57
|
+
const chipsPrefix = this.composableMessage.formatPasteChips();
|
|
58
|
+
let userText = cleanContent;
|
|
59
|
+
if (chipsPrefix && cleanContent.startsWith(chipsPrefix)) {
|
|
60
|
+
userText = cleanContent.slice(chipsPrefix.length).trim();
|
|
61
|
+
}
|
|
62
|
+
const lower = userText.toLowerCase();
|
|
63
|
+
// Control commands that should NOT consume the captured paste
|
|
64
|
+
if (lower === '/cancel' || lower === 'cancel') {
|
|
65
|
+
this.composableMessage.clear();
|
|
66
|
+
this.updateComposeStatusSummary();
|
|
67
|
+
this.persistentPrompt.updateInput('', 0);
|
|
68
|
+
this.display.showInfo('Discarded captured paste.');
|
|
69
|
+
this.rl.prompt();
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
if (lower === 'exit' || lower === 'quit') {
|
|
73
|
+
this.rl.close();
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
if (lower === 'clear') {
|
|
77
|
+
this.display.clear();
|
|
78
|
+
this.rl.prompt();
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
if (lower === 'help') {
|
|
82
|
+
this.showHelp();
|
|
83
|
+
this.rl.prompt();
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
// Slash commands operate independently of captured paste
|
|
87
|
+
if (userText.startsWith('/')) {
|
|
88
|
+
await this.processSlashCommand(userText);
|
|
89
|
+
this.updateComposeStatusSummary();
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
// If userText is empty OR it's additional content, assemble and send
|
|
93
|
+
// Empty enter sends the captured paste; non-empty content is appended first
|
|
94
|
+
if (userText) {
|
|
95
|
+
this.composableMessage.setDraft(userText);
|
|
96
|
+
this.composableMessage.commitDraft();
|
|
97
|
+
}
|
|
98
|
+
const assembled = this.composableMessage.assemble();
|
|
99
|
+
this.composableMessage.clear();
|
|
100
|
+
this.updateComposeStatusSummary();
|
|
101
|
+
this.persistentPrompt.updateInput('', 0);
|
|
102
|
+
if (!assembled) {
|
|
103
|
+
this.rl.prompt();
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
// Check if assembled content is a continuous command
|
|
107
|
+
if (this.isContinuousCommand(assembled)) {
|
|
108
|
+
await this.processContinuousRequest(assembled);
|
|
109
|
+
this.rl.prompt();
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
await this.processRequest(assembled);
|
|
113
|
+
this.rl.prompt();
|
|
114
|
+
}
|
|
115
|
+
export async function handleControlCommands(cleanContent) {
|
|
116
|
+
const lower = cleanContent.toLowerCase();
|
|
117
|
+
if (lower === 'exit' || lower === 'quit') {
|
|
118
|
+
this.rl.close();
|
|
119
|
+
return true;
|
|
120
|
+
}
|
|
121
|
+
if (lower === 'clear') {
|
|
122
|
+
this.display.clear();
|
|
123
|
+
this.rl.prompt();
|
|
124
|
+
return true;
|
|
125
|
+
}
|
|
126
|
+
if (lower === 'help') {
|
|
127
|
+
this.showHelp();
|
|
128
|
+
this.rl.prompt();
|
|
129
|
+
return true;
|
|
130
|
+
}
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=processInputBlockPatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processInputBlockPatch.js","sourceRoot":"","sources":["../../src/shell/processInputBlockPatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileTools.d.ts","sourceRoot":"","sources":["../../src/tools/fileTools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"fileTools.d.ts","sourceRoot":"","sources":["../../src/tools/fileTools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAQ7D,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,EAAE,CA6KpE"}
|
package/dist/tools/fileTools.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { readFileSync, writeFileSync, existsSync, readdirSync, statSync, mkdirSync } from 'node:fs';
|
|
2
2
|
import { join, dirname, relative } from 'node:path';
|
|
3
3
|
import { buildError } from '../core/errors.js';
|
|
4
|
-
import { buildDiffSegments
|
|
4
|
+
import { buildDiffSegments } from './diffUtils.js';
|
|
5
|
+
import { theme } from '../ui/theme.js';
|
|
5
6
|
// Maximum file size to read (10MB) to prevent memory exhaustion
|
|
6
7
|
const MAX_FILE_SIZE = 10 * 1024 * 1024;
|
|
7
8
|
export function createFileTools(workingDir) {
|
|
@@ -254,16 +255,32 @@ function buildWriteSummary(filePath, diffSegments, workingDir, filePreviouslyExi
|
|
|
254
255
|
const addedLines = diffSegments.filter((segment) => segment.type === 'added').length;
|
|
255
256
|
const removedLines = diffSegments.filter((segment) => segment.type === 'removed').length;
|
|
256
257
|
const hasChanges = diffSegments.length > 0;
|
|
257
|
-
const actionLabel = !filePreviouslyExisted ? '
|
|
258
|
-
|
|
258
|
+
const actionLabel = !filePreviouslyExisted ? 'Created' : hasChanges ? 'Updated' : 'Updated';
|
|
259
|
+
// Build colored header
|
|
260
|
+
const header = `${theme.success('✓')} ${actionLabel} ${theme.info(readablePath)}`;
|
|
259
261
|
if (!hasChanges) {
|
|
260
|
-
return `${header}\
|
|
262
|
+
return `${header}\n${theme.ui.muted('No textual changes.')}`;
|
|
261
263
|
}
|
|
262
|
-
|
|
263
|
-
const
|
|
264
|
-
|
|
265
|
-
const
|
|
266
|
-
|
|
264
|
+
// Build colored stats line
|
|
265
|
+
const statsLine = ` ${theme.diff.added(`+${addedLines}`)} ${theme.diff.removed(`-${removedLines}`)}`;
|
|
266
|
+
// Build colored diff preview (max 10 lines to keep output compact)
|
|
267
|
+
const maxDiffLines = 10;
|
|
268
|
+
const diffToShow = diffSegments.slice(0, maxDiffLines);
|
|
269
|
+
const hasMore = diffSegments.length > maxDiffLines;
|
|
270
|
+
const coloredDiff = diffToShow.map((segment) => {
|
|
271
|
+
const lineNum = theme.ui.muted(String(segment.lineNumber).padStart(4));
|
|
272
|
+
if (segment.type === 'added') {
|
|
273
|
+
return ` ${lineNum} ${theme.diff.added('+')} ${theme.diff.added(segment.content)}`;
|
|
274
|
+
}
|
|
275
|
+
else {
|
|
276
|
+
return ` ${lineNum} ${theme.diff.removed('-')} ${theme.diff.removed(segment.content)}`;
|
|
277
|
+
}
|
|
278
|
+
});
|
|
279
|
+
if (hasMore) {
|
|
280
|
+
const remaining = diffSegments.length - maxDiffLines;
|
|
281
|
+
coloredDiff.push(` ${theme.ui.muted(`... +${remaining} more change${remaining === 1 ? '' : 's'}`)}`);
|
|
282
|
+
}
|
|
283
|
+
return [header, statsLine, ...coloredDiff].join('\n');
|
|
267
284
|
}
|
|
268
285
|
function formatRelativeFilePath(filePath, workingDir) {
|
|
269
286
|
const relPath = relative(workingDir, filePath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileTools.js","sourceRoot":"","sources":["../../src/tools/fileTools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fileTools.js","sourceRoot":"","sources":["../../src/tools/fileTools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "erosolar-cli",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.27",
|
|
4
4
|
"description": "Unified AI agent framework for the command line - Multi-provider support with schema-driven tools, code intelligence, and transparent reasoning",
|
|
5
5
|
"main": "dist/bin/erosolar-optimized.js",
|
|
6
6
|
"type": "module",
|