@defai.digital/ax-cli 3.11.0 → 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.
- package/README.md +17 -158
- package/dist/sdk/version.d.ts +1 -1
- package/dist/sdk/version.js +1 -1
- package/dist/sdk/version.js.map +1 -1
- package/dist/ui/components/chat-history.js +102 -31
- package/dist/ui/components/chat-history.js.map +1 -1
- package/dist/ui/components/diff-renderer.js +8 -4
- package/dist/ui/components/diff-renderer.js.map +1 -1
- package/dist/ui/components/keyboard-help.js +11 -5
- package/dist/ui/components/keyboard-help.js.map +1 -1
- package/dist/ui/components/keyboard-hints.js +6 -3
- package/dist/ui/components/keyboard-hints.js.map +1 -1
- package/dist/ui/components/reasoning-display.js +9 -6
- package/dist/ui/components/reasoning-display.js.map +1 -1
- package/dist/ui/components/tool-group-display.js +86 -21
- package/dist/ui/components/tool-group-display.js.map +1 -1
- package/dist/ui/hooks/use-enhanced-input.d.ts +1 -0
- package/dist/ui/hooks/use-enhanced-input.js +105 -15
- package/dist/ui/hooks/use-enhanced-input.js.map +1 -1
- package/dist/ui/utils/change-summarizer.js +84 -19
- package/dist/ui/utils/change-summarizer.js.map +1 -1
- package/dist/ui/utils/markdown-renderer.js +11 -5
- package/dist/ui/utils/markdown-renderer.js.map +1 -1
- package/dist/ui/utils/semantic-action-detector.js +51 -7
- package/dist/ui/utils/semantic-action-detector.js.map +1 -1
- package/dist/ui/utils/tool-grouper.d.ts +2 -0
- package/dist/ui/utils/tool-grouper.js +184 -20
- package/dist/ui/utils/tool-grouper.js.map +1 -1
- package/dist/utils/paste-utils.js +29 -5
- package/dist/utils/paste-utils.js.map +1 -1
- package/node_modules/@ax-cli/schemas/package.json +1 -1
- package/package.json +1 -1
- 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
|
-
|
|
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
|
-
|
|
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
|
|
436
|
-
|
|
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 (
|
|
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 =
|
|
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
|
|
859
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
146
|
-
|
|
147
|
-
if (lineCount <
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
}
|