erosolar-cli 1.6.25 → 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.
@@ -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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"}
@@ -131,7 +131,8 @@ export declare class InteractiveShell {
131
131
  private clearMultiLinePastePreview;
132
132
  /**
133
133
  * Capture any paste (single or multi-line) without immediately submitting it.
134
- * Stores it as a composable block and shows a preview. User must press Enter to submit.
134
+ * - Short pastes (1-2 lines) are displayed inline like normal typed text
135
+ * - Longer pastes (3+ lines) show as collapsed block chips
135
136
  * Supports multiple pastes - user can paste multiple times before submitting.
136
137
  */
137
138
  private capturePaste;
@@ -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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"}
@@ -167,6 +167,17 @@ export class InteractiveShell {
167
167
  // Update persistent prompt status bar with file changes
168
168
  this.updatePersistentPromptFileChanges();
169
169
  });
170
+ // Set up tool status callback to update pinned chat box during tool execution
171
+ this.uiAdapter.setToolStatusCallback((status) => {
172
+ if (status) {
173
+ this.pinnedChatBox.setStatusMessage(status);
174
+ }
175
+ else {
176
+ // Clear status but keep processing indicator if still processing
177
+ this.pinnedChatBox.setStatusMessage(null);
178
+ }
179
+ this.pinnedChatBox.forceRender();
180
+ });
170
181
  this.skillRepository = new SkillRepository({
171
182
  workingDir: this.workingDir,
172
183
  env: process.env,
@@ -778,17 +789,45 @@ export class InteractiveShell {
778
789
  }
779
790
  /**
780
791
  * Capture any paste (single or multi-line) without immediately submitting it.
781
- * Stores it as a composable block and shows a preview. User must press Enter to submit.
792
+ * - Short pastes (1-2 lines) are displayed inline like normal typed text
793
+ * - Longer pastes (3+ lines) show as collapsed block chips
782
794
  * Supports multiple pastes - user can paste multiple times before submitting.
783
795
  */
784
796
  capturePaste(content, lineCount) {
785
797
  this.resetBufferedInputLines();
798
+ // Short pastes (1-2 lines) display inline like normal text
799
+ const isShortPaste = lineCount <= 2;
800
+ if (isShortPaste) {
801
+ // For short pastes, display inline like normal typed text
802
+ // No composableMessage storage - just treat as typed input
803
+ // For 2-line pastes, join with a visual newline indicator
804
+ const displayContent = lineCount === 1
805
+ ? content
806
+ : content.replace(/\n/g, ' ↵ '); // Visual newline indicator for 2-line pastes
807
+ // Clear any echoed content first
808
+ output.write('\r\x1b[K');
809
+ // Get current readline content and append paste
810
+ const currentLine = this.rl.line || '';
811
+ const cursorPos = this.rl.cursor || 0;
812
+ // Insert paste at cursor position
813
+ const before = currentLine.slice(0, cursorPos);
814
+ const after = currentLine.slice(cursorPos);
815
+ const newLine = before + displayContent + after;
816
+ const newCursor = cursorPos + displayContent.length;
817
+ // Update readline buffer - write directly without storing in composableMessage
818
+ // This allows short pastes to flow through as normal typed text
819
+ this.rl.write(null, { ctrl: true, name: 'u' }); // Clear line
820
+ this.rl.write(newLine); // Write new content
821
+ // Update persistent prompt display
822
+ this.persistentPrompt.updateInput(newLine, newCursor);
823
+ // Re-prompt to show the inline content
824
+ this.rl.prompt(true);
825
+ return;
826
+ }
827
+ // For longer pastes (3+ lines), store as a composable block
786
828
  this.composableMessage.addPaste(content);
787
- // For multi-line pastes, clear echoed lines
788
- if (lineCount > 1) {
789
- // Clear remaining echoed lines from terminal
790
- output.write('\r\x1b[K'); // Clear current line
791
- }
829
+ // Clear remaining echoed lines from terminal
830
+ output.write('\r\x1b[K');
792
831
  // Build the paste chips to show inline with prompt
793
832
  // Format: [Pasted text #1 +104 lines] [Pasted text #2 +50 lines]
794
833
  const pasteChips = this.composableMessage.formatPasteChips();