erosolar-cli 1.7.213 → 1.7.215
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/bin/erosolar.js +3 -0
- package/dist/bin/erosolar.js.map +1 -1
- package/dist/mcp/sseClient.d.ts.map +1 -1
- package/dist/mcp/sseClient.js +54 -27
- package/dist/mcp/sseClient.js.map +1 -1
- package/dist/shell/claudeCodeStreamHandler.d.ts.map +1 -1
- package/dist/shell/claudeCodeStreamHandler.js +11 -1
- package/dist/shell/claudeCodeStreamHandler.js.map +1 -1
- package/dist/shell/interactiveShell.d.ts +10 -0
- package/dist/shell/interactiveShell.d.ts.map +1 -1
- package/dist/shell/interactiveShell.js +76 -31
- package/dist/shell/interactiveShell.js.map +1 -1
- package/dist/shell/shellApp.d.ts.map +1 -1
- package/dist/shell/shellApp.js +3 -0
- package/dist/shell/shellApp.js.map +1 -1
- package/dist/shell/streamingOutputManager.d.ts +1 -0
- package/dist/shell/streamingOutputManager.d.ts.map +1 -1
- package/dist/shell/streamingOutputManager.js +16 -4
- package/dist/shell/streamingOutputManager.js.map +1 -1
- package/dist/shell/terminalInput.d.ts +27 -7
- package/dist/shell/terminalInput.d.ts.map +1 -1
- package/dist/shell/terminalInput.js +91 -53
- package/dist/shell/terminalInput.js.map +1 -1
- package/dist/shell/terminalInputAdapter.d.ts +14 -0
- package/dist/shell/terminalInputAdapter.d.ts.map +1 -1
- package/dist/shell/terminalInputAdapter.js +20 -0
- package/dist/shell/terminalInputAdapter.js.map +1 -1
- package/dist/ui/display.d.ts +17 -4
- package/dist/ui/display.d.ts.map +1 -1
- package/dist/ui/display.js +141 -81
- package/dist/ui/display.js.map +1 -1
- package/dist/ui/globalWriteLock.d.ts +38 -0
- package/dist/ui/globalWriteLock.d.ts.map +1 -0
- package/dist/ui/globalWriteLock.js +54 -0
- package/dist/ui/globalWriteLock.js.map +1 -0
- package/dist/ui/unified/layout.d.ts +27 -0
- package/dist/ui/unified/layout.d.ts.map +1 -0
- package/dist/ui/unified/layout.js +110 -0
- package/dist/ui/unified/layout.js.map +1 -0
- package/package.json +1 -1
- package/dist/ui/FixedInputArea.d.ts +0 -108
- package/dist/ui/FixedInputArea.d.ts.map +0 -1
- package/dist/ui/FixedInputArea.js +0 -312
- package/dist/ui/FixedInputArea.js.map +0 -1
- package/dist/ui/advancedTheme.d.ts +0 -246
- package/dist/ui/advancedTheme.d.ts.map +0 -1
- package/dist/ui/advancedTheme.js +0 -478
- package/dist/ui/advancedTheme.js.map +0 -1
- package/dist/ui/collapsibleContent.d.ts +0 -57
- package/dist/ui/collapsibleContent.d.ts.map +0 -1
- package/dist/ui/collapsibleContent.js +0 -106
- package/dist/ui/collapsibleContent.js.map +0 -1
- package/dist/ui/diffViewer.d.ts +0 -42
- package/dist/ui/diffViewer.d.ts.map +0 -1
- package/dist/ui/diffViewer.js +0 -343
- package/dist/ui/diffViewer.js.map +0 -1
- package/dist/ui/gitDisplay.d.ts +0 -45
- package/dist/ui/gitDisplay.d.ts.map +0 -1
- package/dist/ui/gitDisplay.js +0 -215
- package/dist/ui/gitDisplay.js.map +0 -1
- package/dist/ui/gitFormatter.d.ts +0 -29
- package/dist/ui/gitFormatter.d.ts.map +0 -1
- package/dist/ui/gitFormatter.js +0 -203
- package/dist/ui/gitFormatter.js.map +0 -1
- package/dist/ui/keyboardShortcuts.d.ts +0 -49
- package/dist/ui/keyboardShortcuts.d.ts.map +0 -1
- package/dist/ui/keyboardShortcuts.js +0 -128
- package/dist/ui/keyboardShortcuts.js.map +0 -1
- package/dist/ui/logFormatter.d.ts +0 -70
- package/dist/ui/logFormatter.d.ts.map +0 -1
- package/dist/ui/logFormatter.js +0 -323
- package/dist/ui/logFormatter.js.map +0 -1
- package/dist/ui/outputSummarizer.d.ts +0 -52
- package/dist/ui/outputSummarizer.d.ts.map +0 -1
- package/dist/ui/outputSummarizer.js +0 -242
- package/dist/ui/outputSummarizer.js.map +0 -1
- package/dist/ui/progressBar.d.ts +0 -51
- package/dist/ui/progressBar.d.ts.map +0 -1
- package/dist/ui/progressBar.js +0 -153
- package/dist/ui/progressBar.js.map +0 -1
- package/dist/ui/progressIndicator.d.ts +0 -69
- package/dist/ui/progressIndicator.d.ts.map +0 -1
- package/dist/ui/progressIndicator.js +0 -145
- package/dist/ui/progressIndicator.js.map +0 -1
- package/dist/ui/streamingIndicators.d.ts +0 -42
- package/dist/ui/streamingIndicators.d.ts.map +0 -1
- package/dist/ui/streamingIndicators.js +0 -155
- package/dist/ui/streamingIndicators.js.map +0 -1
- package/dist/ui/tableFormatter.d.ts +0 -31
- package/dist/ui/tableFormatter.d.ts.map +0 -1
- package/dist/ui/tableFormatter.js +0 -186
- package/dist/ui/tableFormatter.js.map +0 -1
- package/dist/ui/thinkingTracker.d.ts +0 -51
- package/dist/ui/thinkingTracker.d.ts.map +0 -1
- package/dist/ui/thinkingTracker.js +0 -115
- package/dist/ui/thinkingTracker.js.map +0 -1
- package/dist/ui/toolDisplayAdapter.d.ts +0 -66
- package/dist/ui/toolDisplayAdapter.d.ts.map +0 -1
- package/dist/ui/toolDisplayAdapter.js +0 -356
- package/dist/ui/toolDisplayAdapter.js.map +0 -1
- package/dist/ui/treeVisualizer.d.ts +0 -56
- package/dist/ui/treeVisualizer.d.ts.map +0 -1
- package/dist/ui/treeVisualizer.js +0 -247
- package/dist/ui/treeVisualizer.js.map +0 -1
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Output Summarizer - Claude Code style
|
|
3
|
-
* Intelligently summarizes and truncates tool output
|
|
4
|
-
*/
|
|
5
|
-
import { theme } from './theme.js';
|
|
6
|
-
export class OutputSummarizer {
|
|
7
|
-
/**
|
|
8
|
-
* Summarize output intelligently based on content type
|
|
9
|
-
*/
|
|
10
|
-
summarize(output, maxLines = 10) {
|
|
11
|
-
const lines = output.split('\n');
|
|
12
|
-
const contentType = this.detectContentType(output);
|
|
13
|
-
const lineCount = lines.length;
|
|
14
|
-
const truncated = lineCount > maxLines;
|
|
15
|
-
let preview;
|
|
16
|
-
let summary;
|
|
17
|
-
switch (contentType) {
|
|
18
|
-
case 'json':
|
|
19
|
-
({ preview, summary } = this.summarizeJson(output, maxLines));
|
|
20
|
-
break;
|
|
21
|
-
case 'diff':
|
|
22
|
-
({ preview, summary } = this.summarizeDiff(output, maxLines));
|
|
23
|
-
break;
|
|
24
|
-
case 'log':
|
|
25
|
-
({ preview, summary } = this.summarizeLog(output, maxLines));
|
|
26
|
-
break;
|
|
27
|
-
case 'error':
|
|
28
|
-
({ preview, summary } = this.summarizeError(output, maxLines));
|
|
29
|
-
break;
|
|
30
|
-
case 'code':
|
|
31
|
-
({ preview, summary } = this.summarizeCode(output, maxLines));
|
|
32
|
-
break;
|
|
33
|
-
default:
|
|
34
|
-
({ preview, summary } = this.summarizeText(output, maxLines));
|
|
35
|
-
}
|
|
36
|
-
return {
|
|
37
|
-
preview,
|
|
38
|
-
fullContent: output,
|
|
39
|
-
summary,
|
|
40
|
-
lineCount,
|
|
41
|
-
truncated,
|
|
42
|
-
contentType,
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Detect content type from output
|
|
47
|
-
*/
|
|
48
|
-
detectContentType(output) {
|
|
49
|
-
const trimmed = output.trim();
|
|
50
|
-
// JSON
|
|
51
|
-
if ((trimmed.startsWith('{') && trimmed.endsWith('}')) ||
|
|
52
|
-
(trimmed.startsWith('[') && trimmed.endsWith(']'))) {
|
|
53
|
-
try {
|
|
54
|
-
JSON.parse(trimmed);
|
|
55
|
-
return 'json';
|
|
56
|
-
}
|
|
57
|
-
catch {
|
|
58
|
-
// Not valid JSON
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
// Diff
|
|
62
|
-
if (output.includes('@@') || output.includes('diff --git') ||
|
|
63
|
-
output.match(/^[+-]{3}/m)) {
|
|
64
|
-
return 'diff';
|
|
65
|
-
}
|
|
66
|
-
// Error
|
|
67
|
-
if (output.match(/error|exception|failed|fatal/i) &&
|
|
68
|
-
output.match(/at .+:\d+/)) {
|
|
69
|
-
return 'error';
|
|
70
|
-
}
|
|
71
|
-
// Log
|
|
72
|
-
if (output.match(/\d{4}-\d{2}-\d{2}|\d{2}:\d{2}:\d{2}|INFO|WARN|ERROR|DEBUG/)) {
|
|
73
|
-
return 'log';
|
|
74
|
-
}
|
|
75
|
-
// Code (contains common patterns)
|
|
76
|
-
if (output.match(/function|class|import|export|const|let|var|def|public|private/)) {
|
|
77
|
-
return 'code';
|
|
78
|
-
}
|
|
79
|
-
return 'text';
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Summarize JSON output
|
|
83
|
-
*/
|
|
84
|
-
summarizeJson(output, maxLines) {
|
|
85
|
-
try {
|
|
86
|
-
const parsed = JSON.parse(output);
|
|
87
|
-
const formatted = JSON.stringify(parsed, null, 2);
|
|
88
|
-
const lines = formatted.split('\n');
|
|
89
|
-
if (lines.length <= maxLines) {
|
|
90
|
-
return {
|
|
91
|
-
preview: this.highlightJson(formatted),
|
|
92
|
-
summary: `JSON object with ${Object.keys(parsed).length} keys`,
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
const preview = lines.slice(0, maxLines).join('\n');
|
|
96
|
-
const remaining = lines.length - maxLines;
|
|
97
|
-
return {
|
|
98
|
-
preview: `${this.highlightJson(preview)}\n${theme.ui.muted(` … +${remaining} lines (ctrl+o to expand)`)}`,
|
|
99
|
-
summary: `JSON object (${lines.length} lines)`,
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
catch {
|
|
103
|
-
return this.summarizeText(output, maxLines);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Highlight JSON syntax
|
|
108
|
-
*/
|
|
109
|
-
highlightJson(json) {
|
|
110
|
-
return json
|
|
111
|
-
.split('\n')
|
|
112
|
-
.map(line => {
|
|
113
|
-
// Keys
|
|
114
|
-
line = line.replace(/"([^"]+)":/g, (_, key) => `${theme.info(`"${key}"`)}: `);
|
|
115
|
-
// String values
|
|
116
|
-
line = line.replace(/: "([^"]*)"/g, (_, value) => `: ${theme.success(`"${value}"`)}`);
|
|
117
|
-
// Numbers
|
|
118
|
-
line = line.replace(/: (\d+\.?\d*)/g, (_, num) => `: ${theme.warning(num)}`);
|
|
119
|
-
// Booleans/null
|
|
120
|
-
line = line.replace(/: (true|false|null)/g, (_, bool) => `: ${theme.secondary(bool)}`);
|
|
121
|
-
return ` ${line}`;
|
|
122
|
-
})
|
|
123
|
-
.join('\n');
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Summarize diff output
|
|
127
|
-
*/
|
|
128
|
-
summarizeDiff(output, maxLines) {
|
|
129
|
-
const lines = output.split('\n');
|
|
130
|
-
const additions = lines.filter(l => l.startsWith('+')).length;
|
|
131
|
-
const deletions = lines.filter(l => l.startsWith('-')).length;
|
|
132
|
-
const preview = lines.slice(0, maxLines)
|
|
133
|
-
.map(line => {
|
|
134
|
-
if (line.startsWith('+') && !line.startsWith('+++')) {
|
|
135
|
-
return theme.success(` ${line}`);
|
|
136
|
-
}
|
|
137
|
-
else if (line.startsWith('-') && !line.startsWith('---')) {
|
|
138
|
-
return theme.error(` ${line}`);
|
|
139
|
-
}
|
|
140
|
-
else if (line.startsWith('@@')) {
|
|
141
|
-
return theme.info(` ${line}`);
|
|
142
|
-
}
|
|
143
|
-
return theme.ui.muted(` ${line}`);
|
|
144
|
-
})
|
|
145
|
-
.join('\n');
|
|
146
|
-
const remaining = lines.length - maxLines;
|
|
147
|
-
const fullPreview = remaining > 0
|
|
148
|
-
? `${preview}\n${theme.ui.muted(` … +${remaining} lines (ctrl+o to expand)`)}`
|
|
149
|
-
: preview;
|
|
150
|
-
return {
|
|
151
|
-
preview: fullPreview,
|
|
152
|
-
summary: `${additions} additions, ${deletions} deletions`,
|
|
153
|
-
};
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Summarize log output
|
|
157
|
-
*/
|
|
158
|
-
summarizeLog(output, maxLines) {
|
|
159
|
-
const lines = output.split('\n').filter(l => l.trim());
|
|
160
|
-
const errors = lines.filter(l => /error|fatal/i.test(l)).length;
|
|
161
|
-
const warnings = lines.filter(l => /warn/i.test(l)).length;
|
|
162
|
-
const preview = lines.slice(0, maxLines)
|
|
163
|
-
.map(line => {
|
|
164
|
-
if (/error|fatal/i.test(line)) {
|
|
165
|
-
return theme.error(` ${line}`);
|
|
166
|
-
}
|
|
167
|
-
else if (/warn/i.test(line)) {
|
|
168
|
-
return theme.warning(` ${line}`);
|
|
169
|
-
}
|
|
170
|
-
return theme.ui.muted(` ${line}`);
|
|
171
|
-
})
|
|
172
|
-
.join('\n');
|
|
173
|
-
const remaining = lines.length - maxLines;
|
|
174
|
-
const fullPreview = remaining > 0
|
|
175
|
-
? `${preview}\n${theme.ui.muted(` … +${remaining} lines (ctrl+o to expand)`)}`
|
|
176
|
-
: preview;
|
|
177
|
-
const parts = [];
|
|
178
|
-
if (errors > 0)
|
|
179
|
-
parts.push(`${errors} error${errors > 1 ? 's' : ''}`);
|
|
180
|
-
if (warnings > 0)
|
|
181
|
-
parts.push(`${warnings} warning${warnings > 1 ? 's' : ''}`);
|
|
182
|
-
return {
|
|
183
|
-
preview: fullPreview,
|
|
184
|
-
summary: parts.length > 0 ? parts.join(', ') : `${lines.length} log lines`,
|
|
185
|
-
};
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* Summarize error output
|
|
189
|
-
*/
|
|
190
|
-
summarizeError(output, maxLines) {
|
|
191
|
-
const lines = output.split('\n');
|
|
192
|
-
const errorLine = lines.find(l => /error|exception/i.test(l)) || lines[0];
|
|
193
|
-
const preview = lines.slice(0, maxLines)
|
|
194
|
-
.map(line => theme.error(` ${line}`))
|
|
195
|
-
.join('\n');
|
|
196
|
-
const remaining = lines.length - maxLines;
|
|
197
|
-
const fullPreview = remaining > 0
|
|
198
|
-
? `${preview}\n${theme.ui.muted(` … +${remaining} lines (ctrl+o to expand)`)}`
|
|
199
|
-
: preview;
|
|
200
|
-
return {
|
|
201
|
-
preview: fullPreview,
|
|
202
|
-
summary: errorLine || 'Error occurred',
|
|
203
|
-
};
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* Summarize code output
|
|
207
|
-
*/
|
|
208
|
-
summarizeCode(output, maxLines) {
|
|
209
|
-
const lines = output.split('\n').filter(l => l.trim());
|
|
210
|
-
const preview = lines.slice(0, maxLines)
|
|
211
|
-
.map(line => ` ${line}`)
|
|
212
|
-
.join('\n');
|
|
213
|
-
const remaining = lines.length - maxLines;
|
|
214
|
-
const fullPreview = remaining > 0
|
|
215
|
-
? `${preview}\n${theme.ui.muted(` … +${remaining} lines (ctrl+o to expand)`)}`
|
|
216
|
-
: preview;
|
|
217
|
-
return {
|
|
218
|
-
preview: fullPreview,
|
|
219
|
-
summary: `${lines.length} lines of code`,
|
|
220
|
-
};
|
|
221
|
-
}
|
|
222
|
-
/**
|
|
223
|
-
* Summarize plain text output
|
|
224
|
-
*/
|
|
225
|
-
summarizeText(output, maxLines) {
|
|
226
|
-
const lines = output.split('\n').filter(l => l.trim());
|
|
227
|
-
const preview = lines.slice(0, maxLines)
|
|
228
|
-
.map(line => ` ${line}`)
|
|
229
|
-
.join('\n');
|
|
230
|
-
const remaining = lines.length - maxLines;
|
|
231
|
-
const fullPreview = remaining > 0
|
|
232
|
-
? `${preview}\n${theme.ui.muted(` … +${remaining} lines (ctrl+o to expand)`)}`
|
|
233
|
-
: preview;
|
|
234
|
-
return {
|
|
235
|
-
preview: fullPreview,
|
|
236
|
-
summary: `${lines.length} lines`,
|
|
237
|
-
};
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
// Singleton instance
|
|
241
|
-
export const outputSummarizer = new OutputSummarizer();
|
|
242
|
-
//# sourceMappingURL=outputSummarizer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"outputSummarizer.js","sourceRoot":"","sources":["../../src/ui/outputSummarizer.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/progressBar.d.ts
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Progress Bar - Claude Code style
|
|
3
|
-
* Visual progress indicators for long operations
|
|
4
|
-
*/
|
|
5
|
-
export interface ProgressBarOptions {
|
|
6
|
-
width?: number;
|
|
7
|
-
showPercentage?: boolean;
|
|
8
|
-
showLabel?: boolean;
|
|
9
|
-
style?: 'bar' | 'blocks' | 'dots';
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Create a progress bar (Claude Code style)
|
|
13
|
-
*
|
|
14
|
-
* @param current Current value
|
|
15
|
-
* @param total Total value
|
|
16
|
-
* @param options Formatting options
|
|
17
|
-
* @returns Formatted progress bar string
|
|
18
|
-
*/
|
|
19
|
-
export declare function formatProgressBar(current: number, total: number, options?: ProgressBarOptions): string;
|
|
20
|
-
/**
|
|
21
|
-
* Create a compact progress indicator
|
|
22
|
-
* Example: [████████░░] 80%
|
|
23
|
-
*/
|
|
24
|
-
export declare function formatCompactProgress(current: number, total: number): string;
|
|
25
|
-
export declare function formatSpinner(frameIndex?: number, label?: string): string;
|
|
26
|
-
/**
|
|
27
|
-
* Multi-step progress indicator
|
|
28
|
-
* Example:
|
|
29
|
-
* ✓ Step 1 complete
|
|
30
|
-
* ◐ Step 2 in progress...
|
|
31
|
-
* ○ Step 3 pending
|
|
32
|
-
*/
|
|
33
|
-
export interface ProgressStep {
|
|
34
|
-
label: string;
|
|
35
|
-
status: 'completed' | 'in_progress' | 'pending' | 'error';
|
|
36
|
-
details?: string;
|
|
37
|
-
}
|
|
38
|
-
export declare function formatSteppedProgress(steps: ProgressStep[]): string;
|
|
39
|
-
/**
|
|
40
|
-
* Percentage-based visual indicator
|
|
41
|
-
*/
|
|
42
|
-
export declare function formatPercentageIndicator(percentage: number, label?: string): string;
|
|
43
|
-
/**
|
|
44
|
-
* File download/upload progress
|
|
45
|
-
*/
|
|
46
|
-
export declare function formatTransferProgress(bytesTransferred: number, totalBytes: number, rateBytesPerSecond?: number): string;
|
|
47
|
-
/**
|
|
48
|
-
* Time remaining estimate
|
|
49
|
-
*/
|
|
50
|
-
export declare function formatTimeRemaining(seconds: number): string;
|
|
51
|
-
//# sourceMappingURL=progressBar.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"progressBar.d.ts","sourceRoot":"","sources":["../../src/ui/progressBar.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CACnC;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CAwBR;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAe5E;AAOD,wBAAgB,aAAa,CAAC,UAAU,GAAE,MAAU,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAI5E;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,CA0BnE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,CAoBR;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,MAAM,CASR;AAYD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAY3D"}
|
package/dist/ui/progressBar.js
DELETED
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Progress Bar - Claude Code style
|
|
3
|
-
* Visual progress indicators for long operations
|
|
4
|
-
*/
|
|
5
|
-
import { theme } from './theme.js';
|
|
6
|
-
/**
|
|
7
|
-
* Create a progress bar (Claude Code style)
|
|
8
|
-
*
|
|
9
|
-
* @param current Current value
|
|
10
|
-
* @param total Total value
|
|
11
|
-
* @param options Formatting options
|
|
12
|
-
* @returns Formatted progress bar string
|
|
13
|
-
*/
|
|
14
|
-
export function formatProgressBar(current, total, options = {}) {
|
|
15
|
-
const width = options.width || 30;
|
|
16
|
-
const showPercentage = options.showPercentage ?? true;
|
|
17
|
-
const style = options.style || 'bar';
|
|
18
|
-
const percentage = Math.min(100, Math.max(0, Math.round((current / total) * 100)));
|
|
19
|
-
const filled = Math.floor((percentage / 100) * width);
|
|
20
|
-
const empty = width - filled;
|
|
21
|
-
let bar;
|
|
22
|
-
switch (style) {
|
|
23
|
-
case 'blocks':
|
|
24
|
-
bar = theme.success('█'.repeat(filled)) + theme.ui.muted('░'.repeat(empty));
|
|
25
|
-
break;
|
|
26
|
-
case 'dots':
|
|
27
|
-
bar = theme.success('●'.repeat(filled)) + theme.ui.muted('○'.repeat(empty));
|
|
28
|
-
break;
|
|
29
|
-
default: // 'bar'
|
|
30
|
-
bar = theme.success('━'.repeat(filled)) + theme.ui.muted('─'.repeat(empty));
|
|
31
|
-
}
|
|
32
|
-
const percentageStr = showPercentage ? ` ${theme.info(`${percentage}%`)}` : '';
|
|
33
|
-
return `${bar}${percentageStr}`;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Create a compact progress indicator
|
|
37
|
-
* Example: [████████░░] 80%
|
|
38
|
-
*/
|
|
39
|
-
export function formatCompactProgress(current, total) {
|
|
40
|
-
const percentage = Math.round((current / total) * 100);
|
|
41
|
-
const filled = Math.floor(percentage / 10);
|
|
42
|
-
const empty = 10 - filled;
|
|
43
|
-
const bar = '█'.repeat(filled) + '░'.repeat(empty);
|
|
44
|
-
const coloredBar = percentage >= 75
|
|
45
|
-
? theme.success(bar)
|
|
46
|
-
: percentage >= 50
|
|
47
|
-
? theme.info(bar)
|
|
48
|
-
: percentage >= 25
|
|
49
|
-
? theme.warning(bar)
|
|
50
|
-
: theme.error(bar);
|
|
51
|
-
return `[${coloredBar}] ${theme.info(`${percentage}%`)}`;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Spinning indicator for indeterminate progress
|
|
55
|
-
*/
|
|
56
|
-
const SPINNER_FRAMES = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
|
|
57
|
-
export function formatSpinner(frameIndex = 0, label) {
|
|
58
|
-
const frame = SPINNER_FRAMES[frameIndex % SPINNER_FRAMES.length];
|
|
59
|
-
const spinner = theme.info(frame);
|
|
60
|
-
return label ? `${spinner} ${label}` : spinner;
|
|
61
|
-
}
|
|
62
|
-
export function formatSteppedProgress(steps) {
|
|
63
|
-
return steps.map(step => {
|
|
64
|
-
let icon;
|
|
65
|
-
let labelColor;
|
|
66
|
-
switch (step.status) {
|
|
67
|
-
case 'completed':
|
|
68
|
-
icon = theme.success('✓');
|
|
69
|
-
labelColor = theme.ui.text;
|
|
70
|
-
break;
|
|
71
|
-
case 'in_progress':
|
|
72
|
-
icon = theme.info('◐');
|
|
73
|
-
labelColor = theme.info;
|
|
74
|
-
break;
|
|
75
|
-
case 'error':
|
|
76
|
-
icon = theme.error('✗');
|
|
77
|
-
labelColor = theme.error;
|
|
78
|
-
break;
|
|
79
|
-
default: // 'pending'
|
|
80
|
-
icon = theme.ui.muted('○');
|
|
81
|
-
labelColor = theme.ui.muted;
|
|
82
|
-
}
|
|
83
|
-
const details = step.details ? ` ${theme.ui.muted(`(${step.details})`)}` : '';
|
|
84
|
-
return ` ${icon} ${labelColor(step.label)}${details}`;
|
|
85
|
-
}).join('\n');
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Percentage-based visual indicator
|
|
89
|
-
*/
|
|
90
|
-
export function formatPercentageIndicator(percentage, label) {
|
|
91
|
-
let color;
|
|
92
|
-
let symbol;
|
|
93
|
-
if (percentage >= 90) {
|
|
94
|
-
color = theme.error;
|
|
95
|
-
symbol = '●';
|
|
96
|
-
}
|
|
97
|
-
else if (percentage >= 70) {
|
|
98
|
-
color = theme.warning;
|
|
99
|
-
symbol = '◐';
|
|
100
|
-
}
|
|
101
|
-
else if (percentage >= 50) {
|
|
102
|
-
color = theme.info;
|
|
103
|
-
symbol = '◑';
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
color = theme.success;
|
|
107
|
-
symbol = '○';
|
|
108
|
-
}
|
|
109
|
-
const indicator = color(`${symbol} ${percentage}%`);
|
|
110
|
-
return label ? `${label}: ${indicator}` : indicator;
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* File download/upload progress
|
|
114
|
-
*/
|
|
115
|
-
export function formatTransferProgress(bytesTransferred, totalBytes, rateBytesPerSecond) {
|
|
116
|
-
const percentage = Math.round((bytesTransferred / totalBytes) * 100);
|
|
117
|
-
const bar = formatProgressBar(bytesTransferred, totalBytes, { width: 20, showPercentage: false });
|
|
118
|
-
const transferred = formatBytes(bytesTransferred);
|
|
119
|
-
const total = formatBytes(totalBytes);
|
|
120
|
-
const rate = rateBytesPerSecond ? ` ${theme.ui.muted(`@ ${formatBytes(rateBytesPerSecond)}/s`)}` : '';
|
|
121
|
-
return `${bar} ${theme.info(`${percentage}%`)} ${theme.ui.muted(`(${transferred} / ${total})`)}${rate}`;
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Format bytes as human-readable
|
|
125
|
-
*/
|
|
126
|
-
function formatBytes(bytes) {
|
|
127
|
-
if (bytes < 1024)
|
|
128
|
-
return `${bytes}B`;
|
|
129
|
-
if (bytes < 1024 * 1024)
|
|
130
|
-
return `${(bytes / 1024).toFixed(1)}KB`;
|
|
131
|
-
if (bytes < 1024 * 1024 * 1024)
|
|
132
|
-
return `${(bytes / (1024 * 1024)).toFixed(1)}MB`;
|
|
133
|
-
return `${(bytes / (1024 * 1024 * 1024)).toFixed(1)}GB`;
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Time remaining estimate
|
|
137
|
-
*/
|
|
138
|
-
export function formatTimeRemaining(seconds) {
|
|
139
|
-
if (seconds < 60) {
|
|
140
|
-
return `${Math.round(seconds)}s remaining`;
|
|
141
|
-
}
|
|
142
|
-
else if (seconds < 3600) {
|
|
143
|
-
const minutes = Math.floor(seconds / 60);
|
|
144
|
-
const secs = Math.round(seconds % 60);
|
|
145
|
-
return `${minutes}m ${secs}s remaining`;
|
|
146
|
-
}
|
|
147
|
-
else {
|
|
148
|
-
const hours = Math.floor(seconds / 3600);
|
|
149
|
-
const minutes = Math.floor((seconds % 3600) / 60);
|
|
150
|
-
return `${hours}h ${minutes}m remaining`;
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
//# sourceMappingURL=progressBar.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"progressBar.js","sourceRoot":"","sources":["../../src/ui/progressBar.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Progress Indicator - Claude Code style
|
|
3
|
-
* Shows progress bars and elapsed time for long operations
|
|
4
|
-
*/
|
|
5
|
-
export interface ProgressState {
|
|
6
|
-
current: number;
|
|
7
|
-
total: number;
|
|
8
|
-
startTime: number;
|
|
9
|
-
message?: string;
|
|
10
|
-
}
|
|
11
|
-
export declare class ProgressIndicator {
|
|
12
|
-
private state;
|
|
13
|
-
/**
|
|
14
|
-
* Start tracking progress
|
|
15
|
-
*/
|
|
16
|
-
start(total: number, message?: string): void;
|
|
17
|
-
/**
|
|
18
|
-
* Update progress
|
|
19
|
-
*/
|
|
20
|
-
update(current: number, message?: string): void;
|
|
21
|
-
/**
|
|
22
|
-
* Increment progress by 1
|
|
23
|
-
*/
|
|
24
|
-
increment(message?: string): void;
|
|
25
|
-
/**
|
|
26
|
-
* Complete and clear progress
|
|
27
|
-
*/
|
|
28
|
-
complete(): void;
|
|
29
|
-
/**
|
|
30
|
-
* Get elapsed time in milliseconds
|
|
31
|
-
*/
|
|
32
|
-
getElapsed(): number;
|
|
33
|
-
/**
|
|
34
|
-
* Get progress percentage (0-100)
|
|
35
|
-
*/
|
|
36
|
-
getPercentage(): number;
|
|
37
|
-
/**
|
|
38
|
-
* Format progress bar (Claude Code style)
|
|
39
|
-
* Example: [████████████░░░░░░░░] 60% complete
|
|
40
|
-
*/
|
|
41
|
-
formatProgressBar(width?: number): string;
|
|
42
|
-
/**
|
|
43
|
-
* Format elapsed time
|
|
44
|
-
*/
|
|
45
|
-
formatElapsed(): string;
|
|
46
|
-
/**
|
|
47
|
-
* Format full progress display with message
|
|
48
|
-
*/
|
|
49
|
-
format(): string;
|
|
50
|
-
/**
|
|
51
|
-
* Check if progress is active
|
|
52
|
-
*/
|
|
53
|
-
isActive(): boolean;
|
|
54
|
-
/**
|
|
55
|
-
* Get current state
|
|
56
|
-
*/
|
|
57
|
-
getState(): ProgressState | null;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Create a simple spinner animation
|
|
61
|
-
*/
|
|
62
|
-
export declare function createSpinnerFrames(): string[];
|
|
63
|
-
/**
|
|
64
|
-
* Format operation timing (Claude Code style)
|
|
65
|
-
* Example: "45s elapsed"
|
|
66
|
-
*/
|
|
67
|
-
export declare function formatOperationTiming(startTime: number): string;
|
|
68
|
-
export declare const progressIndicator: ProgressIndicator;
|
|
69
|
-
//# sourceMappingURL=progressIndicator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"progressIndicator.d.ts","sourceRoot":"","sources":["../../src/ui/progressIndicator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,KAAK,CAA8B;IAE3C;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAS5C;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAS/C;;OAEG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAMjC;;OAEG;IACH,QAAQ,IAAI,IAAI;IAIhB;;OAEG;IACH,UAAU,IAAI,MAAM;IAKpB;;OAEG;IACH,aAAa,IAAI,MAAM;IAKvB;;;OAGG;IACH,iBAAiB,CAAC,KAAK,GAAE,MAAW,GAAG,MAAM;IAc7C;;OAEG;IACH,aAAa,IAAI,MAAM;IAavB;;OAEG;IACH,MAAM,IAAI,MAAM;IAqBhB;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACH,QAAQ,IAAI,aAAa,GAAG,IAAI;CAGjC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAe/D;AAGD,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
|