@defai.digital/ax-cli 3.10.1 → 3.11.4

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 (33) hide show
  1. package/README.md +20 -161
  2. package/dist/sdk/version.d.ts +1 -1
  3. package/dist/sdk/version.js +1 -1
  4. package/dist/sdk/version.js.map +1 -1
  5. package/dist/ui/components/chat-history.js +102 -31
  6. package/dist/ui/components/chat-history.js.map +1 -1
  7. package/dist/ui/components/diff-renderer.js +8 -4
  8. package/dist/ui/components/diff-renderer.js.map +1 -1
  9. package/dist/ui/components/keyboard-help.js +11 -5
  10. package/dist/ui/components/keyboard-help.js.map +1 -1
  11. package/dist/ui/components/keyboard-hints.js +6 -3
  12. package/dist/ui/components/keyboard-hints.js.map +1 -1
  13. package/dist/ui/components/reasoning-display.js +9 -6
  14. package/dist/ui/components/reasoning-display.js.map +1 -1
  15. package/dist/ui/components/tool-group-display.js +86 -21
  16. package/dist/ui/components/tool-group-display.js.map +1 -1
  17. package/dist/ui/hooks/use-enhanced-input.d.ts +1 -0
  18. package/dist/ui/hooks/use-enhanced-input.js +105 -15
  19. package/dist/ui/hooks/use-enhanced-input.js.map +1 -1
  20. package/dist/ui/utils/change-summarizer.js +84 -19
  21. package/dist/ui/utils/change-summarizer.js.map +1 -1
  22. package/dist/ui/utils/markdown-renderer.js +11 -5
  23. package/dist/ui/utils/markdown-renderer.js.map +1 -1
  24. package/dist/ui/utils/semantic-action-detector.js +51 -7
  25. package/dist/ui/utils/semantic-action-detector.js.map +1 -1
  26. package/dist/ui/utils/tool-grouper.d.ts +2 -0
  27. package/dist/ui/utils/tool-grouper.js +184 -20
  28. package/dist/ui/utils/tool-grouper.js.map +1 -1
  29. package/dist/utils/paste-utils.js +29 -5
  30. package/dist/utils/paste-utils.js.map +1 -1
  31. package/node_modules/@ax-cli/schemas/package.json +1 -1
  32. package/package.json +1 -1
  33. package/packages/schemas/package.json +1 -1
@@ -172,6 +172,29 @@ function isIncompleteInput(text, smartDetection) {
172
172
  }
173
173
  return false;
174
174
  }
175
+ // Normalize Shift+Enter detection across terminals (Ink, CSI-u, xterm modifiers)
176
+ export function isShiftEnterKey(_inputChar, key) {
177
+ if (key.shift && key.return) {
178
+ return true;
179
+ }
180
+ const sequence = key.sequence;
181
+ if (!sequence) {
182
+ return false;
183
+ }
184
+ const shiftEnterPatterns = [
185
+ /\u001b\[13;2u/, // Kitty/WezTerm CSI-u
186
+ /\u001b\[13;2~/, // xterm modifyOtherKeys
187
+ /\u001bO2M/, // SS3 modifier form some terminals emit
188
+ ];
189
+ if (shiftEnterPatterns.some(pattern => pattern.test(sequence))) {
190
+ return true;
191
+ }
192
+ // Some environments drop the leading ESC in key.sequence
193
+ if (sequence.startsWith('[13;2') && (sequence.endsWith('u') || sequence.endsWith('~'))) {
194
+ return true;
195
+ }
196
+ return false;
197
+ }
175
198
  export function useEnhancedInput({ onSubmit, onEscape, onSpecialKey, onVerboseToggle, onQuickActions, onBackgroundModeToggle, onCopyLastResponse, onAutoAcceptToggle, onThinkingModeToggle, onExternalEditor, onLargePaste, onPasteTruncated, onKeyboardHelp, projectDir, disabled = false, multiline = false, } = {}) {
176
199
  const [input, setInputState] = useState("");
177
200
  const [cursorPosition, setCursorPositionState] = useState(0);
@@ -199,6 +222,11 @@ export function useEnhancedInput({ onSubmit, onEscape, onSpecialKey, onVerboseTo
199
222
  const fallbackPasteBufferRef = useRef('');
200
223
  const fallbackPasteTimeoutRef = useRef(null);
201
224
  const fallbackPasteLastChunkTimeRef = useRef(0); // Track when last chunk arrived
225
+ // FIX: Paste safety timeout - prevents premature submit when Enter arrives immediately after paste
226
+ // Based on Gemini CLI's approach: 40ms is faster than any human can type (200 WPM = ~50ms/keystroke)
227
+ // If Enter arrives within 40ms of paste completion, it was likely part of the paste
228
+ const pasteCompletionTimeRef = useRef(null);
229
+ const PASTE_SAFETY_TIMEOUT_MS = 40; // 40ms safety window after paste completes
202
230
  // BUG FIX: Use refs for callbacks used in setTimeout to avoid stale closures
203
231
  const onLargePasteRef = useRef(onLargePaste);
204
232
  const onPasteTruncatedRef = useRef(onPasteTruncated);
@@ -287,6 +315,9 @@ export function useEnhancedInput({ onSubmit, onEscape, onSpecialKey, onVerboseTo
287
315
  // BUG FIX: Use refs to get CURRENT values, avoiding stale closures
288
316
  const currentInput = inputRef.current;
289
317
  const currentCursor = cursorPositionRef.current;
318
+ // FIX: Set paste completion timestamp for safety timeout
319
+ // This prevents premature submit if Enter arrives immediately after paste
320
+ pasteCompletionTimeRef.current = Date.now();
290
321
  // Preserve all formatting - no trimming or normalization
291
322
  // This ensures JSON indentation, newlines, and whitespace are intact
292
323
  // Check if should collapse based on line count or character count
@@ -326,7 +357,8 @@ export function useEnhancedInput({ onSubmit, onEscape, onSpecialKey, onVerboseTo
326
357
  // BUG FIX: Use refs to get CURRENT values, avoiding stale closures
327
358
  const currentInput = inputRef.current;
328
359
  const currentCursor = cursorPositionRef.current;
329
- const block = findBlockAtCursor(currentInput, currentCursor, pastedBlocks);
360
+ // BUG FIX: Use pastedBlocksRef.current instead of pastedBlocks to avoid stale closure
361
+ const block = findBlockAtCursor(currentInput, currentCursor, pastedBlocksRef.current);
330
362
  if (!block)
331
363
  return;
332
364
  const placeholder = generatePlaceholder(block);
@@ -403,7 +435,8 @@ export function useEnhancedInput({ onSubmit, onEscape, onSpecialKey, onVerboseTo
403
435
  pastedBlocksRef.current = updatedBlocks;
404
436
  setPastedBlocks(updatedBlocks);
405
437
  }
406
- }, [pastedBlocks, setOriginalInput]);
438
+ // BUG FIX: Remove pastedBlocks from dependencies - we use pastedBlocksRef.current instead
439
+ }, [setOriginalInput]);
407
440
  // Expand all placeholders for submission
408
441
  // BUG FIX: Use ref to always get current pastedBlocks, avoiding stale closure
409
442
  // This ensures rapid paste + submit sequences work correctly before React re-renders
@@ -432,13 +465,35 @@ export function useEnhancedInput({ onSubmit, onEscape, onSpecialKey, onVerboseTo
432
465
  try {
433
466
  handlePasteComplete(accumulatedPaste);
434
467
  }
435
- catch (error) {
436
- console.error('Error flushing paste on submit:', error);
468
+ catch {
469
+ // BUG FIX: Silently ignore paste errors to avoid cluttering CLI output
470
+ // The paste data is already cleared, so we just proceed
437
471
  }
438
472
  // Don't submit yet - let the paste complete first
439
473
  // User can hit Enter again to submit
440
474
  return;
441
475
  }
476
+ // FIX: Paste safety timeout - prevent premature submit after paste
477
+ // If Enter arrives within 40ms of paste completion, it was likely part of the paste
478
+ // (trailing newline). Insert newline instead of submitting.
479
+ if (pasteCompletionTimeRef.current !== null) {
480
+ const elapsed = Date.now() - pasteCompletionTimeRef.current;
481
+ if (elapsed < PASTE_SAFETY_TIMEOUT_MS) {
482
+ // Enter arrived too soon after paste - treat as newline, not submit
483
+ // This prevents accidental submission when paste includes trailing newline
484
+ const currentInput = inputRef.current;
485
+ const currentCursor = cursorPositionRef.current;
486
+ const result = insertText(currentInput, currentCursor, "\n");
487
+ setInputState(result.text);
488
+ setCursorPositionState(result.position);
489
+ setOriginalInput(result.text);
490
+ inputRef.current = result.text;
491
+ cursorPositionRef.current = result.position;
492
+ return;
493
+ }
494
+ // Clear the timestamp since we're past the safety window
495
+ pasteCompletionTimeRef.current = null;
496
+ }
442
497
  // BUG FIX: Use inputRef.current to get the latest input value
443
498
  // This ensures we see updates from handlePasteComplete or other operations
444
499
  const currentInput = inputRef.current;
@@ -449,10 +504,12 @@ export function useEnhancedInput({ onSubmit, onEscape, onSpecialKey, onVerboseTo
449
504
  onSubmit?.(expandedInput);
450
505
  clearInput();
451
506
  }
452
- }, [addToHistory, onSubmit, clearInput, expandPlaceholdersForSubmit, handlePasteComplete]);
507
+ }, [addToHistory, onSubmit, clearInput, expandPlaceholdersForSubmit, handlePasteComplete, setOriginalInput]);
453
508
  const handleInput = useCallback((inputChar, key) => {
454
509
  if (disabled)
455
510
  return;
511
+ const shiftEnterDetected = isShiftEnterKey(inputChar, key);
512
+ const enterPressed = key.return || shiftEnterDetected;
456
513
  // Handle Ctrl+C - check multiple ways it could be detected
457
514
  if ((key.ctrl && inputChar === "c") || inputChar === "\x03") {
458
515
  setInputState("");
@@ -490,14 +547,44 @@ export function useEnhancedInput({ onSubmit, onEscape, onSpecialKey, onVerboseTo
490
547
  onEscape?.();
491
548
  return;
492
549
  }
550
+ // FIX: Handle Ctrl+J - reliable newline insertion across all terminals
551
+ // This is the vi/Unix convention: Ctrl+J sends Line Feed (0x0A)
552
+ // Unlike Shift+Enter which is undetectable in most terminals, Ctrl+J always works
553
+ if (key.ctrl && (inputChar === "\n" || inputChar === "\x0a" || inputChar === "j")) {
554
+ const currentInput = inputRef.current;
555
+ const currentCursor = cursorPositionRef.current;
556
+ const result = insertText(currentInput, currentCursor, "\n");
557
+ setInputState(result.text);
558
+ setCursorPositionState(result.position);
559
+ setOriginalInput(result.text);
560
+ inputRef.current = result.text;
561
+ cursorPositionRef.current = result.position;
562
+ return;
563
+ }
493
564
  // Handle Enter/Return - configurable multi-line input
494
- if (key.return) {
565
+ if (enterPressed) {
495
566
  const enterBehavior = inputConfig.enterBehavior || 'submit';
496
567
  // Check if user pressed Shift+Enter (submit key in newline mode)
497
- const isShiftEnter = key.shift && key.return;
568
+ const isShiftEnter = shiftEnterDetected;
498
569
  // BUG FIX: Use refs to get CURRENT values, avoiding stale closures
499
570
  const currentInput = inputRef.current;
500
571
  const currentCursor = cursorPositionRef.current;
572
+ // FIX: Backslash escape for newline - universal shell convention
573
+ // If there's a backslash immediately before cursor, remove it and insert newline
574
+ // This works in all terminals regardless of Shift+Enter support
575
+ if (currentCursor > 0 && currentInput[currentCursor - 1] === '\\') {
576
+ // Remove the backslash and insert newline instead
577
+ const beforeBackslash = currentInput.slice(0, currentCursor - 1);
578
+ const afterCursor = currentInput.slice(currentCursor);
579
+ const newInput = beforeBackslash + "\n" + afterCursor;
580
+ const newCursor = currentCursor; // Cursor stays at same position (after newline)
581
+ setInputState(newInput);
582
+ setCursorPositionState(newCursor);
583
+ setOriginalInput(newInput);
584
+ inputRef.current = newInput;
585
+ cursorPositionRef.current = newCursor;
586
+ return;
587
+ }
501
588
  if (enterBehavior === 'newline') {
502
589
  // Newline mode: Enter inserts newline, Shift+Enter submits
503
590
  if (isShiftEnter) {
@@ -855,8 +942,8 @@ export function useEnhancedInput({ onSubmit, onEscape, onSpecialKey, onVerboseTo
855
942
  try {
856
943
  handlePasteComplete(orphanedContent);
857
944
  }
858
- catch (error) {
859
- console.error('Error handling orphaned paste:', error);
945
+ catch {
946
+ // BUG FIX: Silently ignore errors to avoid cluttering CLI output
860
947
  // Continue despite error - don't block current input
861
948
  }
862
949
  // Continue processing current input normally
@@ -889,7 +976,10 @@ export function useEnhancedInput({ onSubmit, onEscape, onSpecialKey, onVerboseTo
889
976
  return;
890
977
  }
891
978
  // Not detected via bracketed paste mode - use fallback if enabled
892
- if (enableFallback && result.content && result.content.length > 1) {
979
+ // FIX: Only use fallback if bracketed paste is NOT currently accumulating
980
+ // This prevents race conditions where fallback creates duplicate blocks
981
+ if (enableFallback && result.content && result.content.length > 1 &&
982
+ !bracketedPasteHandlerRef.current.isAccumulating()) {
893
983
  // BUG FIX: Accumulate chunks with timeout instead of immediate processing
894
984
  // This prevents multiple blocks when paste arrives in chunks (SSH, tmux, etc)
895
985
  const now = Date.now();
@@ -925,7 +1015,7 @@ export function useEnhancedInput({ onSubmit, onEscape, onSpecialKey, onVerboseTo
925
1015
  handlePasteComplete(finalContent);
926
1016
  }
927
1017
  catch (error) {
928
- console.error('Error handling oversized paste:', error);
1018
+ // BUG FIX: Silently ignore - avoid cluttering CLI
929
1019
  }
930
1020
  return;
931
1021
  }
@@ -968,7 +1058,7 @@ export function useEnhancedInput({ onSubmit, onEscape, onSpecialKey, onVerboseTo
968
1058
  handlePasteComplete(finalContent);
969
1059
  }
970
1060
  catch (error) {
971
- console.error('Error handling paste:', error);
1061
+ // BUG FIX: Silently ignore - avoid cluttering CLI
972
1062
  }
973
1063
  }, timeoutMs);
974
1064
  return;
@@ -1012,7 +1102,7 @@ export function useEnhancedInput({ onSubmit, onEscape, onSpecialKey, onVerboseTo
1012
1102
  }
1013
1103
  catch (error) {
1014
1104
  // BUG FIX: Catch errors to prevent timeout callback crash
1015
- console.error('Error handling accumulated paste:', error);
1105
+ // BUG FIX: Silently ignore - avoid cluttering CLI
1016
1106
  }
1017
1107
  }
1018
1108
  }, 100); // Short timeout for single char after paste
@@ -1071,7 +1161,7 @@ export function useEnhancedInput({ onSubmit, onEscape, onSpecialKey, onVerboseTo
1071
1161
  handlePasteComplete(finalContent);
1072
1162
  }
1073
1163
  catch (error) {
1074
- console.error('Error handling oversized paste:', error);
1164
+ // BUG FIX: Silently ignore - avoid cluttering CLI
1075
1165
  }
1076
1166
  return;
1077
1167
  }
@@ -1114,7 +1204,7 @@ export function useEnhancedInput({ onSubmit, onEscape, onSpecialKey, onVerboseTo
1114
1204
  }
1115
1205
  catch (error) {
1116
1206
  // BUG FIX: Catch errors to prevent timeout callback crash
1117
- console.error('Error handling paste:', error);
1207
+ // BUG FIX: Silently ignore - avoid cluttering CLI
1118
1208
  // Don't attempt fallback - state might be inconsistent
1119
1209
  // The paste content is lost but system remains stable
1120
1210
  }
@@ -1 +1 @@
1
- {"version":3,"file":"use-enhanced-input.js","sourceRoot":"","sources":["../../../src/ui/hooks/use-enhanced-input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-enhanced-input.js","sourceRoot":"","sources":["../../../src/ui/hooks/use-enhanced-input.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,8 @@ export function summarizeChanges(group) {
13
13
  if (group.groupType !== 'file') {
14
14
  return null;
15
15
  }
16
- const updates = group.operations.filter((op) => op.toolCall?.function?.name === 'str_replace_editor' && op.toolResult?.success);
16
+ // BUG FIX: Include multi_edit tool in change summarization
17
+ const updates = group.operations.filter((op) => (op.toolCall?.function?.name === 'str_replace_editor' || op.toolCall?.function?.name === 'multi_edit') && op.toolResult?.success);
17
18
  if (updates.length === 0) {
18
19
  return null;
19
20
  }
@@ -73,10 +74,11 @@ function detectChangePatterns(content) {
73
74
  patterns.push('removed imports');
74
75
  }
75
76
  // Type/interface changes
76
- if (lower.includes('+interface') || lower.includes('+type ') || lower.includes('+class ')) {
77
+ // BUG FIX: Use word boundary for 'type' to avoid matching 'prototype', 'typeof', etc.
78
+ if (lower.includes('+interface') || /\+\s*type\b/.test(lower) || lower.includes('+class ')) {
77
79
  patterns.push('added types');
78
80
  }
79
- else if (lower.includes('interface') || lower.includes('type ')) {
81
+ else if (lower.includes('interface') || /\btype\s+\w/.test(lower)) {
80
82
  patterns.push('updated types');
81
83
  }
82
84
  // Error handling
@@ -98,19 +100,21 @@ function detectChangePatterns(content) {
98
100
  patterns.push('updated tests');
99
101
  }
100
102
  // Configuration
101
- if (lower.includes('package.json') || lower.includes('tsconfig') || lower.includes('.json')) {
103
+ // BUG FIX: Be more specific about config files - .json is too broad (matches data.json, etc.)
104
+ if (lower.includes('package.json') || lower.includes('tsconfig') || lower.includes('.eslintrc') ||
105
+ lower.includes('.prettierrc') || lower.includes('config.json') || lower.includes('.env')) {
102
106
  patterns.push('updated configuration');
103
107
  }
104
- // API/endpoints
105
- if (lower.includes('api') || lower.includes('endpoint') || lower.includes('router') || lower.includes('handler')) {
108
+ // API/endpoints - BUG FIX: Use word boundary regex to avoid false positives like "capacity"
109
+ if (/\bapi\b/.test(lower) || lower.includes('endpoint') || lower.includes('router') || /\bhandler\b/.test(lower)) {
106
110
  patterns.push('modified API');
107
111
  }
108
- // Database/models
109
- if (lower.includes('schema') || lower.includes('model') || lower.includes('migration') || lower.includes('database')) {
112
+ // Database/models - BUG FIX: Use word boundary regex to avoid false positives like "remodel"
113
+ if (lower.includes('schema') || /\bmodel\b/.test(lower) || lower.includes('migration') || lower.includes('database')) {
110
114
  patterns.push('updated database schema');
111
115
  }
112
- // UI/components
113
- if (lower.includes('component') || lower.includes('render') || lower.includes('jsx') || lower.includes('tsx')) {
116
+ // UI/components - BUG FIX: Use word boundary regex to avoid false positives like "surrender"
117
+ if (lower.includes('component') || /\brender\b/.test(lower) || lower.includes('jsx') || lower.includes('tsx')) {
114
118
  patterns.push('updated UI components');
115
119
  }
116
120
  // Security
@@ -122,7 +126,11 @@ function detectChangePatterns(content) {
122
126
  patterns.push('improved performance');
123
127
  }
124
128
  // Refactoring
125
- if (lower.includes('refactor') || (lower.includes('-') && lower.includes('+') && patterns.length === 0)) {
129
+ // BUG FIX: Use proper diff line marker patterns (line starts with - or +) instead of
130
+ // just checking for any hyphen/plus which matches things like "UTF-8", "log+error"
131
+ const hasDiffRemovals = /^-[^-]/m.test(content) || lower.includes('\n-');
132
+ const hasDiffAdditions = /^\+[^+]/m.test(content) || lower.includes('\n+');
133
+ if (lower.includes('refactor') || (hasDiffRemovals && hasDiffAdditions && patterns.length === 0)) {
126
134
  patterns.push('refactored code');
127
135
  }
128
136
  return patterns;
@@ -137,21 +145,29 @@ function detectChangePatterns(content) {
137
145
  export function getBriefToolSummary(content, toolName) {
138
146
  if (!content)
139
147
  return '';
140
- const lineCount = content.split('\n').length;
148
+ // BUG FIX: Empty string split returns [""] with length 1, check for empty first
149
+ const lineCount = content.trim() ? content.split('\n').length : 0;
141
150
  switch (toolName) {
142
151
  case 'view_file':
152
+ case 'read_file': // BUG FIX: Handle read_file same as view_file
143
153
  if (lineCount === 1)
144
154
  return '1 line';
145
- if (lineCount < 10)
146
- return `${lineCount} lines`;
147
- if (lineCount < 100)
155
+ // BUG FIX: Removed redundant lineCount < 100 check (same output as < 10)
156
+ // Files with 500+ lines are considered large
157
+ if (lineCount < 500)
148
158
  return `${lineCount} lines`;
149
159
  return `${lineCount} lines (large)`;
150
160
  case 'create_file':
161
+ // BUG FIX: Handle empty file case
162
+ if (lineCount === 0)
163
+ return 'empty file';
164
+ if (lineCount === 1)
165
+ return '1 line written';
151
166
  return `${lineCount} lines written`;
152
167
  case 'str_replace_editor':
153
168
  // Extract first line summary
154
- const firstLine = content.split('\n')[0];
169
+ // BUG FIX: Find first non-empty line instead of assuming [0] is meaningful
170
+ const firstLine = content.split('\n').find(line => line.trim()) || '';
155
171
  if (firstLine.includes('Updated')) {
156
172
  return firstLine.replace(/^Updated\s+/, '').trim();
157
173
  }
@@ -161,7 +177,24 @@ export function getBriefToolSummary(content, toolName) {
161
177
  return `${replacements} change${replacements > 1 ? 's' : ''}`;
162
178
  }
163
179
  return 'updated';
180
+ case 'multi_edit':
181
+ // BUG FIX: Added multi_edit tool summary handling
182
+ // Try to extract edit count from output like "3 edits applied" or "Applied 3 edits"
183
+ const countMatch = content.match(/(\d+)\s*edit/i);
184
+ if (countMatch) {
185
+ const count = parseInt(countMatch[1], 10);
186
+ if (!Number.isNaN(count) && count > 0) {
187
+ return `${count} edit${count > 1 ? 's' : ''}`;
188
+ }
189
+ }
190
+ // Fallback: count occurrences of edit-related keywords
191
+ const editMatches = content.match(/edit|applied|replaced|updated/gi) || [];
192
+ if (editMatches.length > 0) {
193
+ return 'multi-edit applied';
194
+ }
195
+ return 'applied';
164
196
  case 'bash':
197
+ case 'execute_bash': // BUG FIX: Handle execute_bash same as bash
165
198
  if (content.includes('Background task started')) {
166
199
  return '→ background';
167
200
  }
@@ -179,14 +212,19 @@ export function getBriefToolSummary(content, toolName) {
179
212
  return 'passed';
180
213
  }
181
214
  if (lineCount <= 1) {
182
- return content.trim().slice(0, 40) + (content.length > 40 ? '...' : '');
215
+ // BUG FIX: Compare trimmed length with sliced length for consistent ellipsis
216
+ const trimmed = content.trim();
217
+ return trimmed.slice(0, 40) + (trimmed.length > 40 ? '...' : '');
183
218
  }
184
219
  return `${lineCount} lines`;
185
220
  case 'search':
186
221
  const matches = content.match(/Found (\d+) match/);
187
222
  if (matches) {
188
223
  const count = parseInt(matches[1], 10);
189
- return `${count} match${count !== 1 ? 'es' : ''}`;
224
+ // BUG FIX: Handle NaN from invalid parse
225
+ if (!Number.isNaN(count)) {
226
+ return `${count} match${count !== 1 ? 'es' : ''}`;
227
+ }
190
228
  }
191
229
  return `${lineCount} result${lineCount !== 1 ? 's' : ''}`;
192
230
  case 'create_todo_list':
@@ -194,8 +232,35 @@ export function getBriefToolSummary(content, toolName) {
194
232
  const todos = (content.match(/\[.*?\]/g) || []).length;
195
233
  return `${todos} task${todos !== 1 ? 's' : ''}`;
196
234
  default:
235
+ // BUG FIX: Handle MCP tools with informative summaries
236
+ if (toolName.startsWith('mcp__')) {
237
+ // Extract server and tool name for context
238
+ const parts = toolName.split('__');
239
+ const serverName = parts[1] || 'mcp';
240
+ // Try to provide meaningful summary based on content
241
+ if (lineCount === 1) {
242
+ const trimmedContent = content.trim();
243
+ if (trimmedContent.length <= 50) {
244
+ return trimmedContent || 'completed';
245
+ }
246
+ return trimmedContent.slice(0, 47) + '...';
247
+ }
248
+ if (lineCount <= 5) {
249
+ return `${lineCount} lines`;
250
+ }
251
+ return `${serverName}: ${lineCount} lines`;
252
+ }
197
253
  if (lineCount <= 1 && content.length < 60) {
198
- return content.trim();
254
+ // BUG FIX: Check if trimmed result is non-empty to avoid returning ""
255
+ // for whitespace-only content which would display nothing
256
+ const trimmed = content.trim();
257
+ if (trimmed) {
258
+ return trimmed;
259
+ }
260
+ }
261
+ // BUG FIX: Handle 0 lines case more gracefully
262
+ if (lineCount === 0) {
263
+ return 'completed';
199
264
  }
200
265
  return `${lineCount} lines`;
201
266
  }