erosolar-cli 1.7.363 → 1.7.364

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 (44) hide show
  1. package/dist/shell/interactiveShell.d.ts +2 -0
  2. package/dist/shell/interactiveShell.d.ts.map +1 -1
  3. package/dist/shell/interactiveShell.js +32 -13
  4. package/dist/shell/interactiveShell.js.map +1 -1
  5. package/dist/shell/terminalInput.d.ts +32 -19
  6. package/dist/shell/terminalInput.d.ts.map +1 -1
  7. package/dist/shell/terminalInput.js +187 -227
  8. package/dist/shell/terminalInput.js.map +1 -1
  9. package/dist/shell/terminalInputAdapter.d.ts.map +1 -1
  10. package/dist/shell/terminalInputAdapter.js +5 -2
  11. package/dist/shell/terminalInputAdapter.js.map +1 -1
  12. package/dist/subagents/taskRunner.d.ts.map +1 -1
  13. package/dist/subagents/taskRunner.js +7 -25
  14. package/dist/subagents/taskRunner.js.map +1 -1
  15. package/dist/tools/learnTools.js +127 -4
  16. package/dist/tools/learnTools.js.map +1 -1
  17. package/dist/ui/ShellUIAdapter.d.ts +27 -0
  18. package/dist/ui/ShellUIAdapter.d.ts.map +1 -1
  19. package/dist/ui/ShellUIAdapter.js +175 -9
  20. package/dist/ui/ShellUIAdapter.js.map +1 -1
  21. package/dist/ui/compactRenderer.d.ts +139 -0
  22. package/dist/ui/compactRenderer.d.ts.map +1 -0
  23. package/dist/ui/compactRenderer.js +398 -0
  24. package/dist/ui/compactRenderer.js.map +1 -0
  25. package/dist/ui/inPlaceUpdater.d.ts +181 -0
  26. package/dist/ui/inPlaceUpdater.d.ts.map +1 -0
  27. package/dist/ui/inPlaceUpdater.js +515 -0
  28. package/dist/ui/inPlaceUpdater.js.map +1 -0
  29. package/dist/ui/theme.d.ts +108 -3
  30. package/dist/ui/theme.d.ts.map +1 -1
  31. package/dist/ui/theme.js +124 -3
  32. package/dist/ui/theme.js.map +1 -1
  33. package/dist/ui/toolDisplay.d.ts +44 -7
  34. package/dist/ui/toolDisplay.d.ts.map +1 -1
  35. package/dist/ui/toolDisplay.js +163 -32
  36. package/dist/ui/toolDisplay.js.map +1 -1
  37. package/dist/ui/unified/index.d.ts +11 -0
  38. package/dist/ui/unified/index.d.ts.map +1 -1
  39. package/dist/ui/unified/index.js +16 -0
  40. package/dist/ui/unified/index.js.map +1 -1
  41. package/dist/ui/unified/layout.d.ts.map +1 -1
  42. package/dist/ui/unified/layout.js +32 -47
  43. package/dist/ui/unified/layout.js.map +1 -1
  44. package/package.json +1 -1
package/dist/ui/theme.js CHANGED
@@ -64,6 +64,62 @@ export const theme = {
64
64
  border: chalk.hex('#0E7490'), // Darker cyan for borders
65
65
  label: chalk.hex('#22D3EE').bold, // Bright cyan for "Thinking" label
66
66
  },
67
+ // Badge styles for compact status indicators
68
+ badge: {
69
+ success: chalk.bgHex('#10B981').hex('#000000'), // Green bg, dark text
70
+ error: chalk.bgHex('#EF4444').hex('#FFFFFF'), // Red bg, white text
71
+ warning: chalk.bgHex('#F59E0B').hex('#000000'), // Amber bg, dark text
72
+ info: chalk.bgHex('#3B82F6').hex('#FFFFFF'), // Blue bg, white text
73
+ muted: chalk.bgHex('#4B5563').hex('#F3F4F6'), // Gray bg, light text
74
+ primary: chalk.bgHex('#6366F1').hex('#FFFFFF'), // Indigo bg, white text
75
+ accent: chalk.bgHex('#EC4899').hex('#FFFFFF'), // Pink bg, white text
76
+ cached: chalk.bgHex('#8B5CF6').hex('#FFFFFF'), // Purple bg, white text
77
+ },
78
+ // Inline badge styles (lighter, no background)
79
+ inlineBadge: {
80
+ success: chalk.hex('#34D399'), // Light green
81
+ error: chalk.hex('#F87171'), // Light red
82
+ warning: chalk.hex('#FBBF24'), // Light amber
83
+ info: chalk.hex('#60A5FA'), // Light blue
84
+ muted: chalk.hex('#9CA3AF'), // Gray
85
+ primary: chalk.hex('#818CF8'), // Light indigo
86
+ accent: chalk.hex('#F472B6'), // Light pink
87
+ },
88
+ // Progress indicators
89
+ progress: {
90
+ bar: chalk.hex('#6366F1'), // Progress bar fill
91
+ empty: chalk.hex('#374151'), // Progress bar empty
92
+ text: chalk.hex('#D1D5DB'), // Progress text
93
+ percentage: chalk.hex('#F59E0B'), // Percentage number
94
+ },
95
+ // Status line styles
96
+ status: {
97
+ active: chalk.hex('#10B981'), // Active/running status
98
+ pending: chalk.hex('#6B7280'), // Pending/waiting status
99
+ completed: chalk.hex('#9CA3AF'), // Completed status
100
+ separator: chalk.hex('#4B5563'), // Status separator
101
+ },
102
+ // File operation styles
103
+ file: {
104
+ path: chalk.hex('#38BDF8'), // File paths
105
+ additions: chalk.hex('#10B981'), // +X additions
106
+ removals: chalk.hex('#EF4444'), // -X removals
107
+ unchanged: chalk.hex('#6B7280'), // Unchanged indicator
108
+ },
109
+ // Search result styles
110
+ search: {
111
+ match: chalk.hex('#FCD34D').bold, // Matching text highlight
112
+ context: chalk.hex('#9CA3AF'), // Context lines
113
+ lineNum: chalk.hex('#6B7280'), // Line numbers
114
+ filename: chalk.hex('#38BDF8'), // File names in results
115
+ },
116
+ // Agent/task styles
117
+ agent: {
118
+ name: chalk.hex('#EC4899'), // Agent name
119
+ task: chalk.hex('#8B5CF6'), // Task description
120
+ result: chalk.hex('#10B981'), // Task result
121
+ duration: chalk.hex('#F59E0B'), // Task duration
122
+ },
67
123
  user: chalk.hex('#3B82F6'),
68
124
  assistant: chalk.hex('#8B5CF6'),
69
125
  system: chalk.hex('#6B7280'),
@@ -78,20 +134,85 @@ export const theme = {
78
134
  * - > (user prompt): User input prefix (used in formatUserPrompt)
79
135
  */
80
136
  export const icons = {
137
+ // Status indicators
81
138
  success: '✓',
82
139
  error: '✗',
83
140
  warning: '⚠',
84
141
  info: 'ℹ',
142
+ pending: '○',
143
+ running: '◐',
144
+ cached: '⚡',
145
+ // Navigation & flow
85
146
  arrow: '→',
147
+ arrowRight: '▸',
148
+ arrowDown: '▾',
86
149
  bullet: '•',
150
+ dot: '·',
151
+ // Tool indicators
87
152
  thinking: '◐',
88
153
  tool: '⚙',
89
- user: '❯',
90
- assistant: '◆',
91
- loading: '⣾',
92
154
  action: '⏺', // Claude Code: tool actions and thoughts
93
155
  subaction: '⎿', // Claude Code: results and details
156
+ // User/assistant
157
+ user: '❯',
158
+ assistant: '◆',
94
159
  sparkle: '✨', // Erosolar branding
160
+ // Progress & loading
161
+ loading: '⣾',
162
+ spinner: ['◐', '◓', '◑', '◒'],
163
+ progress: ['░', '▒', '▓', '█'],
164
+ // File operations
165
+ file: '📄',
166
+ folder: '📁',
167
+ edit: '✏️',
168
+ read: '📖',
169
+ write: '💾',
170
+ delete: '🗑️',
171
+ // Search & find
172
+ search: '🔍',
173
+ match: '◉',
174
+ noMatch: '○',
175
+ // Grouping & hierarchy
176
+ branch: '│',
177
+ corner: '└',
178
+ tee: '├',
179
+ horizontal: '─',
180
+ // Context & metrics
181
+ context: '⊛',
182
+ time: '⏱',
183
+ memory: '◈',
184
+ };
185
+ /**
186
+ * Spinner animation frames (braille dots style)
187
+ */
188
+ export const spinnerFrames = {
189
+ dots: ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'],
190
+ arc: ['◜', '◠', '◝', '◞', '◡', '◟'],
191
+ circle: ['◐', '◓', '◑', '◒'],
192
+ bounce: ['⠁', '⠂', '⠄', '⡀', '⢀', '⠠', '⠐', '⠈'],
193
+ braille: ['⣾', '⣽', '⣻', '⢿', '⡿', '⣟', '⣯', '⣷'],
194
+ };
195
+ /**
196
+ * Progress bar characters
197
+ */
198
+ export const progressChars = {
199
+ filled: '█',
200
+ empty: '░',
201
+ partial: ['▏', '▎', '▍', '▌', '▋', '▊', '▉'],
202
+ };
203
+ /**
204
+ * Box drawing characters for panels
205
+ */
206
+ export const boxChars = {
207
+ topLeft: '╭',
208
+ topRight: '╮',
209
+ bottomLeft: '╰',
210
+ bottomRight: '╯',
211
+ horizontal: '─',
212
+ vertical: '│',
213
+ teeRight: '├',
214
+ teeLeft: '┤',
215
+ cross: '┼',
95
216
  };
96
217
  export function formatBanner(profileLabel, model) {
97
218
  const name = profileLabel || 'Agent';
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@
6
6
  * - Result summaries with status indicators
7
7
  * - Expandable content with previews
8
8
  * - Diff formatting with colors
9
+ * - Advanced progress indicators
10
+ * - Compact same-line displays
9
11
  */
10
12
  export interface ToolCallDisplay {
11
13
  name: string;
@@ -136,14 +138,7 @@ export interface ToolResultSummaryInput {
136
138
  output: string;
137
139
  success: boolean;
138
140
  durationMs?: number;
139
- /** Force compact single-line output */
140
- compact?: boolean;
141
141
  }
142
- /**
143
- * Compact display mode for tool results
144
- * When true, all results are formatted as single lines
145
- */
146
- export type DisplayMode = 'compact' | 'normal' | 'expanded';
147
142
  /**
148
143
  * Format a tool result summary for display in the terminal.
149
144
  * This is the central function for displaying ALL tool results.
@@ -155,4 +150,46 @@ export type DisplayMode = 'compact' | 'normal' | 'expanded';
155
150
  * @returns Formatted string to display, or null if no display needed
156
151
  */
157
152
  export declare function formatToolResultSummary(input: ToolResultSummaryInput): string | null;
153
+ /**
154
+ * Format a compact progress bar
155
+ */
156
+ export declare function formatCompactProgressBar(current: number, total: number, options?: {
157
+ width?: number;
158
+ style?: 'bar' | 'braille' | 'dots';
159
+ }): string;
160
+ /**
161
+ * Format a micro progress indicator (fits in status line)
162
+ */
163
+ export declare function formatMicroProgress(current: number, total: number): string;
164
+ /**
165
+ * Format a spinner with elapsed time
166
+ */
167
+ export declare function formatSpinnerWithTime(frame: string, label: string, elapsedMs: number): string;
168
+ /**
169
+ * Format multiple tool operations on a single line
170
+ */
171
+ export declare function formatCompactToolLine(operations: Array<{
172
+ name: string;
173
+ status: 'success' | 'error' | 'running';
174
+ summary?: string;
175
+ }>, options?: {
176
+ separator?: string;
177
+ maxWidth?: number;
178
+ }): string;
179
+ /**
180
+ * Format a file operation summary with additions/removals
181
+ */
182
+ export declare function formatFileOpSummary(path: string, type: 'read' | 'edit' | 'write', stats?: {
183
+ lines?: number;
184
+ additions?: number;
185
+ removals?: number;
186
+ }): string;
187
+ /**
188
+ * Format a search result summary
189
+ */
190
+ export declare function formatSearchOpSummary(pattern: string, matchCount: number, fileCount?: number, durationMs?: number): string;
191
+ /**
192
+ * Format a context usage badge
193
+ */
194
+ export declare function formatContextBadge(usedPercentage: number): string;
158
195
  //# sourceMappingURL=toolDisplay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toolDisplay.d.ts","sourceRoot":"","sources":["../../src/ui/toolDisplay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toolDisplay.d.ts","sourceRoot":"","sources":["../../src/ui/toolDisplay.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,11 @@
6
6
  * - Result summaries with status indicators
7
7
  * - Expandable content with previews
8
8
  * - Diff formatting with colors
9
+ * - Advanced progress indicators
10
+ * - Compact same-line displays
9
11
  */
10
12
  import { formatPlan, normalizePlanItems, resolvePlanWidth, wrapPlanText } from '../utils/planFormatter.js';
11
- import { theme } from './theme.js';
13
+ import { theme, icons, progressChars } from './theme.js';
12
14
  /**
13
15
  * Format tool call display (Claude Code style)
14
16
  *
@@ -433,7 +435,7 @@ export function formatKeyValue(key, value) {
433
435
  * @returns Formatted string to display, or null if no display needed
434
436
  */
435
437
  export function formatToolResultSummary(input) {
436
- const { toolName, args, output, success, durationMs, compact } = input;
438
+ const { toolName, args, output, success, durationMs } = input;
437
439
  // Determine tool category and format accordingly
438
440
  switch (toolName) {
439
441
  // === FILE OPERATIONS ===
@@ -447,7 +449,7 @@ export function formatToolResultSummary(input) {
447
449
  case 'execute_bash':
448
450
  case 'execute_bash_stream':
449
451
  case 'execute_command':
450
- return formatBashResult(args, output, success, durationMs, compact);
452
+ return formatBashResult(args, output, success, durationMs);
451
453
  // === BACKGROUND BASH ===
452
454
  case 'BashOutput':
453
455
  return formatBashOutputResult(args, output, success);
@@ -463,11 +465,11 @@ export function formatToolResultSummary(input) {
463
465
  case 'grep_search':
464
466
  case 'search_text':
465
467
  case 'search_files':
466
- return formatGrepResult(args, output, success, compact);
468
+ return formatGrepResult(args, output, success);
467
469
  case 'Glob':
468
470
  case 'glob':
469
471
  case 'list_files':
470
- return formatGlobResult(args, output, success, compact);
472
+ return formatGlobResult(args, output, success);
471
473
  case 'find_definition':
472
474
  return formatFindDefinitionResult(args, output, success);
473
475
  // === WEB OPERATIONS ===
@@ -582,23 +584,14 @@ export function formatToolResultSummary(input) {
582
584
  * Format Bash command result
583
585
  * Shows: command executed, exit status, and output preview
584
586
  */
585
- function formatBashResult(args, output, success, durationMs, compact) {
587
+ function formatBashResult(args, output, success, durationMs) {
586
588
  const command = args['command'] || '';
587
589
  const description = args['description'];
588
- const statusIcon = success ? theme.success('✓') : theme.error('✗');
589
- const durationStr = durationMs ? ` ${theme.ui.muted(`(${formatDuration(durationMs)})`)}` : '';
590
- // Compact mode: single line with essential info
591
- if (compact) {
592
- const cmdShort = truncateCommand(command, 40);
593
- const outputLines = output.trim().split('\n').length;
594
- const outputInfo = output.trim() ? theme.ui.muted(`→ ${outputLines}L`) : '';
595
- if (description) {
596
- return `${statusIcon} ${description}${durationStr} ${outputInfo}`;
597
- }
598
- return `${statusIcon} ${theme.ui.muted('$')} ${cmdShort}${durationStr} ${outputInfo}`;
599
- }
600
590
  const lines = [];
591
+ // Header with command
592
+ const statusIcon = success ? theme.success('✓') : theme.error('✗');
601
593
  const cmdDisplay = truncateCommand(command, 50);
594
+ const durationStr = durationMs ? ` ${theme.ui.muted(`(${formatDuration(durationMs)})`)}` : '';
602
595
  if (description) {
603
596
  lines.push(`${statusIcon} ${description}${durationStr}`);
604
597
  lines.push(` ${theme.ui.muted('$')} ${theme.dim(cmdDisplay)}`);
@@ -640,20 +633,17 @@ function formatReadResult(args, output, success) {
640
633
  * Format Grep search result
641
634
  * Shows: pattern, matches found, and file list preview
642
635
  */
643
- function formatGrepResult(args, output, success, compact) {
636
+ function formatGrepResult(args, output, success) {
644
637
  const pattern = args['pattern'] || '';
645
638
  const patternDisplay = pattern.length > 30 ? `${pattern.slice(0, 27)}...` : pattern;
639
+ const lines = [];
646
640
  if (!success || !output.trim()) {
647
- return `${theme.warning('○')} No matches for "${patternDisplay}"`;
641
+ lines.push(`${theme.warning('○')} No matches for "${patternDisplay}"`);
642
+ return lines.join('\n');
648
643
  }
649
644
  // Count matches/files
650
645
  const outputLines = output.trim().split('\n').filter(l => l.trim());
651
646
  const matchCount = outputLines.length;
652
- // Compact mode: single line
653
- if (compact) {
654
- return `${theme.success('✓')} grep "${patternDisplay}" ${theme.ui.muted(`→ ${matchCount}`)}`;
655
- }
656
- const lines = [];
657
647
  lines.push(`${theme.success('✓')} Found ${theme.info(String(matchCount))} match${matchCount === 1 ? '' : 'es'} for "${patternDisplay}"`);
658
648
  // Show first few matches
659
649
  const maxPreview = 3;
@@ -671,18 +661,15 @@ function formatGrepResult(args, output, success, compact) {
671
661
  * Format Glob file search result
672
662
  * Shows: pattern and files found
673
663
  */
674
- function formatGlobResult(args, output, success, compact) {
664
+ function formatGlobResult(args, output, success) {
675
665
  const pattern = args['pattern'] || '*';
666
+ const lines = [];
676
667
  if (!success || !output.trim()) {
677
- return `${theme.warning('○')} No files matching "${pattern}"`;
668
+ lines.push(`${theme.warning('○')} No files matching "${pattern}"`);
669
+ return lines.join('\n');
678
670
  }
679
671
  const files = output.trim().split('\n').filter(f => f.trim());
680
672
  const fileCount = files.length;
681
- // Compact mode: single line
682
- if (compact) {
683
- return `${theme.success('✓')} glob "${pattern}" ${theme.ui.muted(`→ ${fileCount}`)}`;
684
- }
685
- const lines = [];
686
673
  lines.push(`${theme.success('✓')} Found ${theme.info(String(fileCount))} file${fileCount === 1 ? '' : 's'} matching "${pattern}"`);
687
674
  // Show first few files
688
675
  const maxPreview = 4;
@@ -1367,4 +1354,148 @@ function formatLearnResult(toolName, args, output, success) {
1367
1354
  return `${theme.success('✓')} Learning completed`;
1368
1355
  }
1369
1356
  }
1357
+ // ============================================================================
1358
+ // ADVANCED PROGRESS INDICATORS
1359
+ // ============================================================================
1360
+ /**
1361
+ * Format a compact progress bar
1362
+ */
1363
+ export function formatCompactProgressBar(current, total, options = {}) {
1364
+ const { width = 15, style = 'bar' } = options;
1365
+ const percentage = Math.min(100, Math.max(0, Math.round((current / total) * 100)));
1366
+ const filled = Math.round((current / total) * width);
1367
+ const empty = width - filled;
1368
+ let bar;
1369
+ switch (style) {
1370
+ case 'braille': {
1371
+ // Smooth braille progress (8 states per character)
1372
+ const fullBlocks = Math.floor((current / total) * width);
1373
+ const remainder = ((current / total) * width) - fullBlocks;
1374
+ const partials = [' ', '⡀', '⡄', '⡆', '⡇', '⣇', '⣧', '⣷', '⣿'];
1375
+ const partialIndex = Math.floor(remainder * 8);
1376
+ bar = '⣿'.repeat(fullBlocks);
1377
+ if (fullBlocks < width) {
1378
+ bar += partials[partialIndex] ?? ' ';
1379
+ bar += ' '.repeat(width - fullBlocks - 1);
1380
+ }
1381
+ bar = theme.progress?.bar?.(bar) ?? theme.info(bar);
1382
+ break;
1383
+ }
1384
+ case 'dots':
1385
+ bar = theme.success('●').repeat(filled) + theme.ui.muted('○').repeat(empty);
1386
+ break;
1387
+ case 'bar':
1388
+ default:
1389
+ bar = (theme.progress?.bar ?? theme.info)(progressChars.filled.repeat(filled)) +
1390
+ (theme.progress?.empty ?? theme.ui.muted)(progressChars.empty.repeat(empty));
1391
+ }
1392
+ return `[${bar}] ${(theme.progress?.percentage ?? theme.warning)(`${percentage}%`)}`;
1393
+ }
1394
+ /**
1395
+ * Format a micro progress indicator (fits in status line)
1396
+ */
1397
+ export function formatMicroProgress(current, total) {
1398
+ const percentage = Math.min(100, Math.max(0, Math.round((current / total) * 100)));
1399
+ // Use single-char block progress
1400
+ const blocks = ['░', '▒', '▓', '█'];
1401
+ const blockIndex = Math.min(3, Math.floor(percentage / 25));
1402
+ const block = blocks[blockIndex] ?? '░';
1403
+ return `${theme.info(block)}${percentage}%`;
1404
+ }
1405
+ /**
1406
+ * Format a spinner with elapsed time
1407
+ */
1408
+ export function formatSpinnerWithTime(frame, label, elapsedMs) {
1409
+ const elapsed = formatDuration(elapsedMs);
1410
+ return `${theme.info(frame)} ${label} ${theme.ui.muted(`(${elapsed})`)}`;
1411
+ }
1412
+ /**
1413
+ * Format multiple tool operations on a single line
1414
+ */
1415
+ export function formatCompactToolLine(operations, options = {}) {
1416
+ const { separator = ' · ', maxWidth = 80 } = options;
1417
+ const badges = [];
1418
+ let currentLength = 0;
1419
+ for (const op of operations) {
1420
+ const icon = op.status === 'success' ? icons.success :
1421
+ op.status === 'error' ? icons.error : icons.running;
1422
+ const color = op.status === 'success' ? theme.success :
1423
+ op.status === 'error' ? theme.error : theme.info;
1424
+ let badge = `${color(icon)} ${theme.tool(op.name)}`;
1425
+ if (op.summary) {
1426
+ badge += ` ${theme.ui.muted(op.summary)}`;
1427
+ }
1428
+ const badgeLength = badge.replace(/\u001B\[[0-9;]*m/g, '').length;
1429
+ const sepLength = badges.length > 0 ? separator.replace(/\u001B\[[0-9;]*m/g, '').length : 0;
1430
+ if (currentLength + sepLength + badgeLength > maxWidth - 5) {
1431
+ const remaining = operations.length - badges.length;
1432
+ if (remaining > 0) {
1433
+ badges.push(theme.ui.muted(`+${remaining} more`));
1434
+ }
1435
+ break;
1436
+ }
1437
+ badges.push(badge);
1438
+ currentLength += sepLength + badgeLength;
1439
+ }
1440
+ return badges.join(theme.ui.muted(separator));
1441
+ }
1442
+ /**
1443
+ * Format a file operation summary with additions/removals
1444
+ */
1445
+ export function formatFileOpSummary(path, type, stats) {
1446
+ const shortPath = truncatePathForDisplay(path, 40);
1447
+ const icon = type === 'read' ? icons.success :
1448
+ type === 'edit' ? icons.success : icons.success;
1449
+ const color = theme.success;
1450
+ const parts = [
1451
+ `${color(icon)} ${theme.file?.path?.(shortPath) ?? theme.info(shortPath)}`,
1452
+ ];
1453
+ if (stats) {
1454
+ const details = [];
1455
+ if (stats.lines !== undefined) {
1456
+ details.push(`${stats.lines} lines`);
1457
+ }
1458
+ if (stats.additions !== undefined && stats.additions > 0) {
1459
+ details.push((theme.file?.additions ?? theme.success)(`+${stats.additions}`));
1460
+ }
1461
+ if (stats.removals !== undefined && stats.removals > 0) {
1462
+ details.push((theme.file?.removals ?? theme.error)(`-${stats.removals}`));
1463
+ }
1464
+ if (details.length > 0) {
1465
+ parts.push(theme.ui.muted(`(${details.join(', ')})`));
1466
+ }
1467
+ }
1468
+ return parts.join(' ');
1469
+ }
1470
+ /**
1471
+ * Format a search result summary
1472
+ */
1473
+ export function formatSearchOpSummary(pattern, matchCount, fileCount, durationMs) {
1474
+ const truncPattern = pattern.length > 25 ? `${pattern.slice(0, 22)}...` : pattern;
1475
+ if (matchCount === 0) {
1476
+ return `${theme.warning(icons.pending)} No matches for "${truncPattern}"`;
1477
+ }
1478
+ const parts = [
1479
+ `${theme.success(icons.success)} Found`,
1480
+ theme.info(`${matchCount}`),
1481
+ matchCount === 1 ? 'match' : 'matches',
1482
+ ];
1483
+ if (fileCount && fileCount > 0) {
1484
+ parts.push('in', theme.info(`${fileCount}`), fileCount === 1 ? 'file' : 'files');
1485
+ }
1486
+ parts.push(theme.ui.muted(`for "${truncPattern}"`));
1487
+ if (durationMs) {
1488
+ parts.push(theme.ui.muted(`(${formatDuration(durationMs)})`));
1489
+ }
1490
+ return parts.join(' ');
1491
+ }
1492
+ /**
1493
+ * Format a context usage badge
1494
+ */
1495
+ export function formatContextBadge(usedPercentage) {
1496
+ const remaining = 100 - usedPercentage;
1497
+ const color = usedPercentage > 80 ? theme.error :
1498
+ usedPercentage > 60 ? theme.warning : theme.success;
1499
+ return `${color(icons.context)}${remaining}%`;
1500
+ }
1370
1501
  //# sourceMappingURL=toolDisplay.js.map