erosolar-cli 1.7.213 โ†’ 1.7.214

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.
Files changed (97) hide show
  1. package/dist/bin/erosolar.js +3 -0
  2. package/dist/bin/erosolar.js.map +1 -1
  3. package/dist/mcp/sseClient.d.ts.map +1 -1
  4. package/dist/mcp/sseClient.js +54 -27
  5. package/dist/mcp/sseClient.js.map +1 -1
  6. package/dist/shell/claudeCodeStreamHandler.d.ts.map +1 -1
  7. package/dist/shell/claudeCodeStreamHandler.js +11 -1
  8. package/dist/shell/claudeCodeStreamHandler.js.map +1 -1
  9. package/dist/shell/interactiveShell.d.ts +10 -0
  10. package/dist/shell/interactiveShell.d.ts.map +1 -1
  11. package/dist/shell/interactiveShell.js +69 -15
  12. package/dist/shell/interactiveShell.js.map +1 -1
  13. package/dist/shell/streamingOutputManager.d.ts +1 -0
  14. package/dist/shell/streamingOutputManager.d.ts.map +1 -1
  15. package/dist/shell/streamingOutputManager.js +15 -4
  16. package/dist/shell/streamingOutputManager.js.map +1 -1
  17. package/dist/shell/terminalInput.d.ts +18 -1
  18. package/dist/shell/terminalInput.d.ts.map +1 -1
  19. package/dist/shell/terminalInput.js +68 -3
  20. package/dist/shell/terminalInput.js.map +1 -1
  21. package/dist/shell/terminalInputAdapter.d.ts +14 -0
  22. package/dist/shell/terminalInputAdapter.d.ts.map +1 -1
  23. package/dist/shell/terminalInputAdapter.js +20 -0
  24. package/dist/shell/terminalInputAdapter.js.map +1 -1
  25. package/dist/ui/display.d.ts +14 -2
  26. package/dist/ui/display.d.ts.map +1 -1
  27. package/dist/ui/display.js +56 -14
  28. package/dist/ui/display.js.map +1 -1
  29. package/dist/ui/globalWriteLock.d.ts +12 -0
  30. package/dist/ui/globalWriteLock.d.ts.map +1 -0
  31. package/dist/ui/globalWriteLock.js +35 -0
  32. package/dist/ui/globalWriteLock.js.map +1 -0
  33. package/package.json +1 -1
  34. package/dist/ui/FixedInputArea.d.ts +0 -108
  35. package/dist/ui/FixedInputArea.d.ts.map +0 -1
  36. package/dist/ui/FixedInputArea.js +0 -312
  37. package/dist/ui/FixedInputArea.js.map +0 -1
  38. package/dist/ui/advancedTheme.d.ts +0 -246
  39. package/dist/ui/advancedTheme.d.ts.map +0 -1
  40. package/dist/ui/advancedTheme.js +0 -478
  41. package/dist/ui/advancedTheme.js.map +0 -1
  42. package/dist/ui/collapsibleContent.d.ts +0 -57
  43. package/dist/ui/collapsibleContent.d.ts.map +0 -1
  44. package/dist/ui/collapsibleContent.js +0 -106
  45. package/dist/ui/collapsibleContent.js.map +0 -1
  46. package/dist/ui/diffViewer.d.ts +0 -42
  47. package/dist/ui/diffViewer.d.ts.map +0 -1
  48. package/dist/ui/diffViewer.js +0 -343
  49. package/dist/ui/diffViewer.js.map +0 -1
  50. package/dist/ui/gitDisplay.d.ts +0 -45
  51. package/dist/ui/gitDisplay.d.ts.map +0 -1
  52. package/dist/ui/gitDisplay.js +0 -215
  53. package/dist/ui/gitDisplay.js.map +0 -1
  54. package/dist/ui/gitFormatter.d.ts +0 -29
  55. package/dist/ui/gitFormatter.d.ts.map +0 -1
  56. package/dist/ui/gitFormatter.js +0 -203
  57. package/dist/ui/gitFormatter.js.map +0 -1
  58. package/dist/ui/keyboardShortcuts.d.ts +0 -49
  59. package/dist/ui/keyboardShortcuts.d.ts.map +0 -1
  60. package/dist/ui/keyboardShortcuts.js +0 -128
  61. package/dist/ui/keyboardShortcuts.js.map +0 -1
  62. package/dist/ui/logFormatter.d.ts +0 -70
  63. package/dist/ui/logFormatter.d.ts.map +0 -1
  64. package/dist/ui/logFormatter.js +0 -323
  65. package/dist/ui/logFormatter.js.map +0 -1
  66. package/dist/ui/outputSummarizer.d.ts +0 -52
  67. package/dist/ui/outputSummarizer.d.ts.map +0 -1
  68. package/dist/ui/outputSummarizer.js +0 -242
  69. package/dist/ui/outputSummarizer.js.map +0 -1
  70. package/dist/ui/progressBar.d.ts +0 -51
  71. package/dist/ui/progressBar.d.ts.map +0 -1
  72. package/dist/ui/progressBar.js +0 -153
  73. package/dist/ui/progressBar.js.map +0 -1
  74. package/dist/ui/progressIndicator.d.ts +0 -69
  75. package/dist/ui/progressIndicator.d.ts.map +0 -1
  76. package/dist/ui/progressIndicator.js +0 -145
  77. package/dist/ui/progressIndicator.js.map +0 -1
  78. package/dist/ui/streamingIndicators.d.ts +0 -42
  79. package/dist/ui/streamingIndicators.d.ts.map +0 -1
  80. package/dist/ui/streamingIndicators.js +0 -155
  81. package/dist/ui/streamingIndicators.js.map +0 -1
  82. package/dist/ui/tableFormatter.d.ts +0 -31
  83. package/dist/ui/tableFormatter.d.ts.map +0 -1
  84. package/dist/ui/tableFormatter.js +0 -186
  85. package/dist/ui/tableFormatter.js.map +0 -1
  86. package/dist/ui/thinkingTracker.d.ts +0 -51
  87. package/dist/ui/thinkingTracker.d.ts.map +0 -1
  88. package/dist/ui/thinkingTracker.js +0 -115
  89. package/dist/ui/thinkingTracker.js.map +0 -1
  90. package/dist/ui/toolDisplayAdapter.d.ts +0 -66
  91. package/dist/ui/toolDisplayAdapter.d.ts.map +0 -1
  92. package/dist/ui/toolDisplayAdapter.js +0 -356
  93. package/dist/ui/toolDisplayAdapter.js.map +0 -1
  94. package/dist/ui/treeVisualizer.d.ts +0 -56
  95. package/dist/ui/treeVisualizer.d.ts.map +0 -1
  96. package/dist/ui/treeVisualizer.js +0 -247
  97. package/dist/ui/treeVisualizer.js.map +0 -1
@@ -1,247 +0,0 @@
1
- /**
2
- * Tree Visualizer - Claude Code style
3
- * ASCII tree visualization for hierarchical data
4
- */
5
- import { theme } from './theme.js';
6
- /**
7
- * Format hierarchical data as ASCII tree
8
- * Example:
9
- * src/
10
- * โ”œโ”€โ”€ components/
11
- * โ”‚ โ”œโ”€โ”€ Header.tsx
12
- * โ”‚ โ””โ”€โ”€ Footer.tsx
13
- * โ””โ”€โ”€ utils/
14
- * โ””โ”€โ”€ helpers.ts
15
- */
16
- export function formatTree(node, options = {}, prefix = '', isLast = true, depth = 0) {
17
- const showLines = options.showLines ?? true;
18
- const maxDepth = options.maxDepth ?? Infinity;
19
- const compact = options.compact ?? false;
20
- if (depth > maxDepth) {
21
- return '';
22
- }
23
- const lines = [];
24
- // Build current line
25
- const connector = showLines ? (isLast ? 'โ””โ”€โ”€ ' : 'โ”œโ”€โ”€ ') : ' ';
26
- const icon = node.icon ? `${node.icon} ` : '';
27
- const metadata = node.metadata ? theme.ui.muted(` ${node.metadata}`) : '';
28
- let label = node.label;
29
- if (node.highlighted) {
30
- label = theme.info(label);
31
- }
32
- else if (options.colorizeDepth) {
33
- const colors = [theme.info, theme.success, theme.warning, theme.accent];
34
- const colorFn = colors[depth % colors.length];
35
- if (colorFn) {
36
- label = colorFn(label);
37
- }
38
- }
39
- const currentLine = `${prefix}${showLines ? theme.ui.muted(connector) : ''}${icon}${label}${metadata}`;
40
- lines.push(currentLine);
41
- // Process children
42
- if (node.children && node.children.length > 0) {
43
- const childPrefix = showLines
44
- ? prefix + (isLast ? ' ' : 'โ”‚ ')
45
- : `${prefix} `;
46
- node.children.forEach((child, index) => {
47
- const isLastChild = index === node.children.length - 1;
48
- const childTree = formatTree(child, options, childPrefix, isLastChild, depth + 1);
49
- if (childTree) {
50
- if (!compact || index === 0) {
51
- lines.push(childTree);
52
- }
53
- else {
54
- lines.push(childTree);
55
- }
56
- }
57
- });
58
- }
59
- return lines.join('\n');
60
- }
61
- /**
62
- * Format file system tree
63
- */
64
- export function formatFileTree(paths, options = {}) {
65
- const tree = buildFileTree(paths);
66
- return formatTree(tree, options);
67
- }
68
- /**
69
- * Build tree structure from file paths
70
- */
71
- function buildFileTree(paths) {
72
- const root = { label: '.', children: [] };
73
- const map = new Map();
74
- map.set('', root);
75
- // Sort paths for better display
76
- const sortedPaths = [...paths].sort();
77
- for (const path of sortedPaths) {
78
- const parts = path.split('/').filter(p => p);
79
- let currentPath = '';
80
- for (let i = 0; i < parts.length; i++) {
81
- const part = parts[i];
82
- if (!part)
83
- continue;
84
- const parentPath = currentPath;
85
- currentPath = currentPath ? `${currentPath}/${part}` : part;
86
- if (!map.has(currentPath)) {
87
- const isFile = i === parts.length - 1 && !part.endsWith('/');
88
- const icon = isFile ? getFileIcon(part) : '๐Ÿ“';
89
- const node = {
90
- label: part,
91
- icon,
92
- children: isFile ? undefined : []
93
- };
94
- const parent = map.get(parentPath);
95
- if (parent?.children) {
96
- parent.children.push(node);
97
- }
98
- map.set(currentPath, node);
99
- }
100
- }
101
- }
102
- return root;
103
- }
104
- /**
105
- * Get icon for file based on extension
106
- */
107
- function getFileIcon(filename) {
108
- const ext = filename.split('.').pop()?.toLowerCase();
109
- const iconMap = {
110
- ts: '๐Ÿ“˜',
111
- tsx: 'โš›๏ธ',
112
- js: '๐Ÿ“œ',
113
- jsx: 'โš›๏ธ',
114
- json: '๐Ÿ“‹',
115
- md: '๐Ÿ“',
116
- txt: '๐Ÿ“„',
117
- css: '๐ŸŽจ',
118
- scss: '๐ŸŽจ',
119
- html: '๐ŸŒ',
120
- py: '๐Ÿ',
121
- java: 'โ˜•',
122
- go: '๐Ÿ”ต',
123
- rs: '๐Ÿฆ€',
124
- rb: '๐Ÿ’Ž',
125
- php: '๐Ÿ˜',
126
- sh: 'โš™๏ธ',
127
- yml: 'โš™๏ธ',
128
- yaml: 'โš™๏ธ',
129
- xml: '๐Ÿ“ฐ',
130
- svg: '๐Ÿ–ผ๏ธ',
131
- png: '๐Ÿ–ผ๏ธ',
132
- jpg: '๐Ÿ–ผ๏ธ',
133
- gif: '๐Ÿ–ผ๏ธ'
134
- };
135
- return iconMap[ext || ''] || '๐Ÿ“„';
136
- }
137
- /**
138
- * Format dependency tree
139
- */
140
- export function formatDependencyTree(packageName, dependencies, options = {}) {
141
- const visited = new Set();
142
- function buildNode(pkg, depth = 0) {
143
- const deps = dependencies[pkg] || [];
144
- const circular = visited.has(pkg);
145
- if (circular) {
146
- return {
147
- label: pkg,
148
- metadata: '(circular)',
149
- icon: '๐Ÿ”„'
150
- };
151
- }
152
- visited.add(pkg);
153
- const children = depth < (options.maxDepth || 5)
154
- ? deps.map(dep => buildNode(dep, depth + 1))
155
- : [];
156
- return {
157
- label: pkg,
158
- icon: '๐Ÿ“ฆ',
159
- children: children.length > 0 ? children : undefined
160
- };
161
- }
162
- const tree = buildNode(packageName);
163
- return formatTree(tree, options);
164
- }
165
- /**
166
- * Format simple bulleted list as tree
167
- */
168
- export function formatBulletTree(items, indent = 0) {
169
- return items.map((item) => {
170
- const bullet = indent === 0 ? 'โ€ข' : 'โ—ฆ';
171
- const prefix = ' '.repeat(indent);
172
- const line = `${prefix}${theme.info(bullet)} ${item.label}`;
173
- if (item.items && item.items.length > 0) {
174
- const children = formatBulletTree(item.items, indent + 1);
175
- return `${line}\n${children}`;
176
- }
177
- return line;
178
- }).join('\n');
179
- }
180
- /**
181
- * Format git branch tree
182
- */
183
- export function formatBranchTree(branches) {
184
- // Build tree structure
185
- const branchMap = new Map();
186
- const roots = [];
187
- branches.forEach(branch => {
188
- const node = {
189
- label: branch.name,
190
- icon: branch.current ? 'โ—' : 'โ—‹',
191
- highlighted: branch.current,
192
- children: []
193
- };
194
- branchMap.set(branch.name, node);
195
- });
196
- branches.forEach(branch => {
197
- const node = branchMap.get(branch.name);
198
- if (!node)
199
- return;
200
- if (branch.parent) {
201
- const parent = branchMap.get(branch.parent);
202
- if (parent?.children) {
203
- parent.children.push(node);
204
- }
205
- else {
206
- roots.push(node);
207
- }
208
- }
209
- else {
210
- roots.push(node);
211
- }
212
- });
213
- return roots.map(root => formatTree(root, { showLines: true })).join('\n\n');
214
- }
215
- /**
216
- * Format directory summary with counts
217
- */
218
- export function formatDirectorySummary(paths) {
219
- const stats = {
220
- directories: 0,
221
- files: 0,
222
- byType: new Map()
223
- };
224
- paths.forEach(path => {
225
- if (path.endsWith('/')) {
226
- stats.directories++;
227
- }
228
- else {
229
- stats.files++;
230
- const ext = path.split('.').pop()?.toLowerCase() || 'no-ext';
231
- stats.byType.set(ext, (stats.byType.get(ext) || 0) + 1);
232
- }
233
- });
234
- const lines = [];
235
- lines.push(theme.info(`๐Ÿ“ ${stats.directories} directories, ๐Ÿ“„ ${stats.files} files`));
236
- if (stats.byType.size > 0) {
237
- const types = Array.from(stats.byType.entries())
238
- .sort((a, b) => b[1] - a[1])
239
- .slice(0, 5);
240
- const typeStr = types
241
- .map(([ext, count]) => `${ext}: ${count}`)
242
- .join(theme.ui.muted(' ยท '));
243
- lines.push(theme.ui.muted(` ${typeStr}`));
244
- }
245
- return lines.join('\n');
246
- }
247
- //# sourceMappingURL=treeVisualizer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"treeVisualizer.js","sourceRoot":"","sources":["../../src/ui/treeVisualizer.ts"],"names":[],"mappings":"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"}