centaurus-cli 2.8.0 → 2.8.2

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 (98) hide show
  1. package/dist/cli-adapter.d.ts +8 -6
  2. package/dist/cli-adapter.d.ts.map +1 -1
  3. package/dist/cli-adapter.js +599 -182
  4. package/dist/cli-adapter.js.map +1 -1
  5. package/dist/config/slash-commands.d.ts.map +1 -1
  6. package/dist/config/slash-commands.js +1 -0
  7. package/dist/config/slash-commands.js.map +1 -1
  8. package/dist/context/context-manager.d.ts +4 -1
  9. package/dist/context/context-manager.d.ts.map +1 -1
  10. package/dist/context/context-manager.js +30 -7
  11. package/dist/context/context-manager.js.map +1 -1
  12. package/dist/context/handlers/wsl-handler.d.ts +10 -0
  13. package/dist/context/handlers/wsl-handler.d.ts.map +1 -1
  14. package/dist/context/handlers/wsl-handler.js +29 -1
  15. package/dist/context/handlers/wsl-handler.js.map +1 -1
  16. package/dist/index.js +30 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/services/ai-service-client.d.ts +1 -0
  19. package/dist/services/ai-service-client.d.ts.map +1 -1
  20. package/dist/services/ai-service-client.js.map +1 -1
  21. package/dist/tools/command.d.ts.map +1 -1
  22. package/dist/tools/command.js +136 -21
  23. package/dist/tools/command.js.map +1 -1
  24. package/dist/tools/file-ops.d.ts +1 -0
  25. package/dist/tools/file-ops.d.ts.map +1 -1
  26. package/dist/tools/file-ops.js +131 -0
  27. package/dist/tools/file-ops.js.map +1 -1
  28. package/dist/tools/inspect-symbol.js +27 -27
  29. package/dist/tools/inspect-symbol.js.map +1 -1
  30. package/dist/tools/plan-mode.d.ts +55 -19
  31. package/dist/tools/plan-mode.d.ts.map +1 -1
  32. package/dist/tools/plan-mode.js +204 -123
  33. package/dist/tools/plan-mode.js.map +1 -1
  34. package/dist/tools/reproduce_issue.d.ts +2 -0
  35. package/dist/tools/reproduce_issue.d.ts.map +1 -0
  36. package/dist/tools/reproduce_issue.js +166 -0
  37. package/dist/tools/reproduce_issue.js.map +1 -0
  38. package/dist/tools/types.d.ts +1 -1
  39. package/dist/tools/types.d.ts.map +1 -1
  40. package/dist/tools/validation.d.ts.map +1 -1
  41. package/dist/tools/validation.js +4 -3
  42. package/dist/tools/validation.js.map +1 -1
  43. package/dist/types/index.d.ts +11 -1
  44. package/dist/types/index.d.ts.map +1 -1
  45. package/dist/ui/components/App.d.ts +6 -6
  46. package/dist/ui/components/App.d.ts.map +1 -1
  47. package/dist/ui/components/App.js +228 -62
  48. package/dist/ui/components/App.js.map +1 -1
  49. package/dist/ui/components/DiffViewer.d.ts.map +1 -1
  50. package/dist/ui/components/DiffViewer.js +69 -58
  51. package/dist/ui/components/DiffViewer.js.map +1 -1
  52. package/dist/ui/components/FileTagAutocomplete.d.ts +11 -0
  53. package/dist/ui/components/FileTagAutocomplete.d.ts.map +1 -0
  54. package/dist/ui/components/FileTagAutocomplete.js +27 -0
  55. package/dist/ui/components/FileTagAutocomplete.js.map +1 -0
  56. package/dist/ui/components/InputBox.d.ts.map +1 -1
  57. package/dist/ui/components/InputBox.js +209 -7
  58. package/dist/ui/components/InputBox.js.map +1 -1
  59. package/dist/ui/components/InteractiveShell.d.ts.map +1 -1
  60. package/dist/ui/components/InteractiveShell.js +177 -13
  61. package/dist/ui/components/InteractiveShell.js.map +1 -1
  62. package/dist/ui/components/MessageDisplay.d.ts.map +1 -1
  63. package/dist/ui/components/MessageDisplay.js +3 -3
  64. package/dist/ui/components/MessageDisplay.js.map +1 -1
  65. package/dist/ui/components/PlanAcceptedMessage.d.ts +12 -0
  66. package/dist/ui/components/PlanAcceptedMessage.d.ts.map +1 -0
  67. package/dist/ui/components/PlanAcceptedMessage.js +22 -0
  68. package/dist/ui/components/PlanAcceptedMessage.js.map +1 -0
  69. package/dist/ui/components/PlanReviewScreen.d.ts +14 -0
  70. package/dist/ui/components/PlanReviewScreen.d.ts.map +1 -0
  71. package/dist/ui/components/PlanReviewScreen.js +52 -0
  72. package/dist/ui/components/PlanReviewScreen.js.map +1 -0
  73. package/dist/ui/components/StreamingMessageDisplay.d.ts.map +1 -1
  74. package/dist/ui/components/StreamingMessageDisplay.js +3 -3
  75. package/dist/ui/components/StreamingMessageDisplay.js.map +1 -1
  76. package/dist/ui/components/TaskCompletedMessage.d.ts +14 -0
  77. package/dist/ui/components/TaskCompletedMessage.d.ts.map +1 -0
  78. package/dist/ui/components/TaskCompletedMessage.js +25 -0
  79. package/dist/ui/components/TaskCompletedMessage.js.map +1 -0
  80. package/dist/ui/components/ToolExecutionMessage.d.ts.map +1 -1
  81. package/dist/ui/components/ToolExecutionMessage.js +207 -20
  82. package/dist/ui/components/ToolExecutionMessage.js.map +1 -1
  83. package/dist/utils/conversation-logger.d.ts +127 -0
  84. package/dist/utils/conversation-logger.d.ts.map +1 -0
  85. package/dist/utils/conversation-logger.js +283 -0
  86. package/dist/utils/conversation-logger.js.map +1 -0
  87. package/dist/utils/editor-utils.d.ts +37 -0
  88. package/dist/utils/editor-utils.d.ts.map +1 -1
  89. package/dist/utils/editor-utils.js +212 -1
  90. package/dist/utils/editor-utils.js.map +1 -1
  91. package/dist/utils/input-classifier.d.ts.map +1 -1
  92. package/dist/utils/input-classifier.js +10 -3
  93. package/dist/utils/input-classifier.js.map +1 -1
  94. package/dist/utils/markdown-parser.d.ts.map +1 -1
  95. package/dist/utils/markdown-parser.js +4 -2
  96. package/dist/utils/markdown-parser.js.map +1 -1
  97. package/package.json +1 -1
  98. package/prompts/system-prompt-autonomous.md +0 -377
@@ -6,13 +6,115 @@ const TOOL_LABELS = {
6
6
  view_file: { verb: 'Reading file', emoji: '📖' },
7
7
  write_to_file: { verb: 'Writing file', emoji: '✍️' },
8
8
  edit_file: { verb: 'Editing file', emoji: '✏️' },
9
+ multi_edit_file: { verb: 'Editing file', emoji: '✏️' },
9
10
  list_dir: { verb: 'Listing directory', emoji: '📁' },
10
11
  execute_command: { verb: 'Executing command', emoji: '⚡' },
11
12
  grep_search: { verb: 'Searching files', emoji: '🔍' },
12
13
  find_files: { verb: 'Finding files', emoji: '🔎' },
13
14
  web_search: { verb: 'Searching web', emoji: '🌐' },
14
15
  fetch_url: { verb: 'Fetching URL', emoji: '📡' },
16
+ inspect_symbol: { verb: 'Inspecting symbol', emoji: '🔬' },
15
17
  };
18
+ /**
19
+ * Process terminal output to strip ANSI escape sequences that stripAnsi misses
20
+ * This includes OSC sequences (hyperlinks, title changes) that cause 'X' characters
21
+ */
22
+ function processTerminalOutput(raw) {
23
+ if (!raw)
24
+ return '';
25
+ return raw
26
+ // OSC sequences (Operating System Commands): \x1b]...\x07 or \x1b]...\x1b\\
27
+ // This includes hyperlinks (\x1b]8;;url\x1b\\text\x1b]8;;\x1b\\), title changes, etc.
28
+ .replace(/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g, '')
29
+ // Also handle malformed/partial OSC sequences that may end with common terminators
30
+ .replace(/\x1b\][^\x07]*\x07/g, '')
31
+ // Cursor movement and other CSI sequences
32
+ .replace(/\x1b\[\d*[ABCDHfJKSTsu]/g, '')
33
+ .replace(/\x1b\[\d*;\d*[Hf]/g, '')
34
+ .replace(/\x1b\[\?\d+[a-zA-Z]/g, '')
35
+ // Catch any remaining escape sequences
36
+ .replace(/\x1b\[\d*[a-zA-Z]/g, '')
37
+ // Strip remaining with stripAnsi and remove carriage returns
38
+ .replace(/\r/g, '');
39
+ }
40
+ /**
41
+ * Clean shell output for display in history
42
+ */
43
+ function cleanShellOutput(result) {
44
+ if (!result)
45
+ return '';
46
+ return stripAnsi(processTerminalOutput(result));
47
+ }
48
+ /**
49
+ * Parse grep_search result to get match count
50
+ * Format: "Found X matches in Y files" or line-by-line matches
51
+ */
52
+ function parseGrepSearchResult(result) {
53
+ if (!result)
54
+ return null;
55
+ // Try to parse "Found X matches in Y files" format
56
+ const summaryMatch = result.match(/Found (\d+) match(?:es)? in (\d+) file/);
57
+ if (summaryMatch) {
58
+ return { matches: parseInt(summaryMatch[1], 10), files: parseInt(summaryMatch[2], 10) };
59
+ }
60
+ // Count line-by-line matches (each line is a match)
61
+ const lines = result.split('\n').filter(line => line.trim() && !line.startsWith('Searching'));
62
+ if (lines.length > 0) {
63
+ // Estimate unique files from the matches
64
+ const uniqueFiles = new Set(lines.map(line => line.split(':')[0]).filter(Boolean));
65
+ return { matches: lines.length, files: uniqueFiles.size };
66
+ }
67
+ return null;
68
+ }
69
+ /**
70
+ * Parse find_files result to get file count
71
+ * Format: one file path per line, or "Found X files"
72
+ */
73
+ function parseFindFilesResult(result) {
74
+ if (!result)
75
+ return null;
76
+ // Try to parse "Found X files" format
77
+ const summaryMatch = result.match(/Found (\d+) file/);
78
+ if (summaryMatch) {
79
+ return parseInt(summaryMatch[1], 10);
80
+ }
81
+ // Try to parse "Total: X" format
82
+ const totalMatch = result.match(/Total:\s*(\d+)/);
83
+ if (totalMatch) {
84
+ return parseInt(totalMatch[1], 10);
85
+ }
86
+ // Count lines (each line is a file path)
87
+ const lines = result.split('\n').filter(line => line.trim() && !line.startsWith('Searching'));
88
+ return lines.length > 0 ? lines.length : null;
89
+ }
90
+ /**
91
+ * Parse list_dir result to get item count
92
+ * Format: "Directory: path\nTotal items: X\n..."
93
+ */
94
+ function parseListDirResult(result) {
95
+ if (!result)
96
+ return null;
97
+ // Try to parse "Total items: X" format
98
+ const match = result.match(/Total items:\s*(\d+)/);
99
+ if (match) {
100
+ return parseInt(match[1], 10);
101
+ }
102
+ return null;
103
+ }
104
+ /**
105
+ * Parse inspect_symbol result to check if symbols were found
106
+ */
107
+ function parseInspectSymbolResult(result) {
108
+ if (!result)
109
+ return { found: false, count: 0 };
110
+ // Check for "No symbols found" message
111
+ if (result.includes('No symbols found')) {
112
+ return { found: false, count: 0 };
113
+ }
114
+ // Count symbol definitions (rough estimate based on common patterns)
115
+ const symbolMatches = result.match(/(?:function|class|interface|type|const|let|var|def|struct)\s+\w+/g);
116
+ return { found: true, count: symbolMatches ? symbolMatches.length : 1 };
117
+ }
16
118
  /**
17
119
  * Parse MCP tool name to extract server name and tool name
18
120
  * MCP tools are named: mcp_{serverName}_{toolName}
@@ -55,6 +157,18 @@ export const ToolExecutionMessage = React.memo(({ message }) => {
55
157
  }
56
158
  const { toolName, status, result, error, arguments: toolArgs } = message.toolExecution;
57
159
  const toolInfo = getToolDisplayInfo(toolName);
160
+ // Display thinking duration if available (carried from thought-only message)
161
+ const thinkingDuration = message.thinkingDuration;
162
+ // Helper to wrap content with thinking duration display
163
+ const renderWithThinking = (content) => (React.createElement(Box, { flexDirection: "column" },
164
+ thinkingDuration !== undefined && thinkingDuration >= 0 && (React.createElement(Box, { marginBottom: 1 },
165
+ React.createElement(Text, { dimColor: true },
166
+ "Thought for ",
167
+ thinkingDuration,
168
+ " second",
169
+ thinkingDuration !== 1 ? 's' : '',
170
+ " \u203A"))),
171
+ content));
58
172
  // EXECUTING state
59
173
  if (status === 'executing') {
60
174
  // Skip execute_command - it's handled by InteractiveShell component
@@ -65,13 +179,17 @@ export const ToolExecutionMessage = React.memo(({ message }) => {
65
179
  if (toolName === 'web_search') {
66
180
  return null;
67
181
  } // Skip write/edit executing states (User preference to reduce clutter)
68
- if (toolName === 'write_to_file' || toolName === 'edit_file') {
182
+ if (toolName === 'write_to_file' || toolName === 'edit_file' || toolName === 'multi_edit_file') {
69
183
  return null;
70
184
  }
71
185
  // Skip grep_search and find_files executing states (User preference to avoid infinite scrolling)
72
186
  if (toolName === 'grep_search' || toolName === 'find_files') {
73
187
  return null;
74
188
  }
189
+ // Skip plan-mode tools - they have their own UI components (TaskCompletedMessage, PlanReviewScreen)
190
+ if (toolName === 'mark_task_complete' || toolName === 'create_plan') {
191
+ return null;
192
+ }
75
193
  // MCP tools - show executing state with simple format (no border to avoid emoji width issues)
76
194
  if (toolInfo.isMCP) {
77
195
  return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#9945FF", paddingX: 1, marginBottom: 1 },
@@ -172,7 +290,7 @@ export const ToolExecutionMessage = React.memo(({ message }) => {
172
290
  if (toolName === 'execute_command' && toolArgs) {
173
291
  const command = toolArgs.command || toolArgs.CommandLine || toolArgs.commandLine || '';
174
292
  const { cwd } = toolArgs;
175
- const cleanResult = result ? stripAnsi(result).replace(/\r/g, '') : '';
293
+ const cleanResult = cleanShellOutput(result);
176
294
  return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#ff3366", paddingX: 1, marginBottom: 1, width: "100%", flexGrow: 0, flexShrink: 1, minWidth: 0 },
177
295
  React.createElement(Box, { marginBottom: 1 },
178
296
  React.createElement(Text, null,
@@ -187,7 +305,7 @@ export const ToolExecutionMessage = React.memo(({ message }) => {
187
305
  cleanResult && (React.createElement(Box, { width: "100%", flexShrink: 1, minWidth: 0 },
188
306
  React.createElement(Text, { wrap: "wrap" }, cleanResult)))));
189
307
  }
190
- return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#ff3366", paddingX: 1, marginBottom: 1, width: "100%", flexGrow: 0 },
308
+ return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#ff3366", paddingX: 1, marginBottom: 1, flexGrow: 0, alignSelf: "flex-start" },
191
309
  React.createElement(Box, null,
192
310
  React.createElement(Text, { color: "#ff3366", bold: true },
193
311
  "\u2717 ",
@@ -204,7 +322,7 @@ export const ToolExecutionMessage = React.memo(({ message }) => {
204
322
  if (status === 'completed') {
205
323
  // MCP tools - show only success indicator, hide output (output goes to AI only)
206
324
  if (toolInfo.isMCP) {
207
- return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00cc66", paddingX: 1, marginBottom: 1 },
325
+ return renderWithThinking(React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00cc66", paddingX: 1, marginBottom: 1 },
208
326
  React.createElement(Box, null,
209
327
  React.createElement(Text, { color: "#00cc66", bold: true }, "\u2713 MCP"),
210
328
  React.createElement(Text, { color: "#aaaaaa" },
@@ -213,12 +331,16 @@ export const ToolExecutionMessage = React.memo(({ message }) => {
213
331
  " ",
214
332
  toolInfo.mcpToolName))));
215
333
  }
334
+ // Skip plan-mode tools - they have their own UI components (TaskCompletedMessage, PlanReviewScreen)
335
+ if (toolName === 'mark_task_complete' || toolName === 'create_plan') {
336
+ return null;
337
+ }
216
338
  // EXECUTE_COMMAND - render as static shell box
217
339
  if (toolName === 'execute_command' && toolArgs) {
218
340
  const command = toolArgs.command || toolArgs.CommandLine || toolArgs.commandLine || '';
219
341
  const { cwd } = toolArgs;
220
- const cleanResult = result ? stripAnsi(result).replace(/\r/g, '') : '';
221
- return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00cc66", paddingX: 1, marginBottom: 1, width: "100%", flexGrow: 0, flexShrink: 1, minWidth: 0 },
342
+ const cleanResult = cleanShellOutput(result);
343
+ return renderWithThinking(React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00cc66", paddingX: 1, marginBottom: 1, width: "100%", flexGrow: 0, flexShrink: 1, minWidth: 0 },
222
344
  React.createElement(Box, { marginBottom: 1 },
223
345
  React.createElement(Text, null,
224
346
  React.createElement(Text, { color: "#00cc66", bold: true }, "\u2713 Shell "),
@@ -238,7 +360,7 @@ export const ToolExecutionMessage = React.memo(({ message }) => {
238
360
  const lineInfo = StartLine && EndLine
239
361
  ? `lines ${StartLine}-${EndLine}`
240
362
  : 'entire file';
241
- return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1, width: "100%", flexGrow: 0 },
363
+ return renderWithThinking(React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1, flexGrow: 0, alignSelf: "flex-start" },
242
364
  React.createElement(Box, null,
243
365
  React.createElement(Text, { color: "#00cc66", bold: true },
244
366
  "\u2713 ",
@@ -252,7 +374,7 @@ export const ToolExecutionMessage = React.memo(({ message }) => {
252
374
  if (toolName === 'write_to_file' && toolArgs) {
253
375
  const { TargetFile, CodeContent } = toolArgs;
254
376
  const lines = CodeContent ? CodeContent.split('\n').length : 0;
255
- return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1, width: "100%", flexGrow: 0 },
377
+ return renderWithThinking(React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1, flexGrow: 0, alignSelf: "flex-start" },
256
378
  React.createElement(Box, null,
257
379
  React.createElement(Text, { color: "#00cc66", bold: true },
258
380
  "\u2713 ",
@@ -267,7 +389,7 @@ export const ToolExecutionMessage = React.memo(({ message }) => {
267
389
  // EDIT_FILE
268
390
  if (toolName === 'edit_file' && toolArgs) {
269
391
  const { file_path } = toolArgs;
270
- return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1, width: "100%", flexGrow: 0 },
392
+ return renderWithThinking(React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1, flexGrow: 0, alignSelf: "flex-start" },
271
393
  React.createElement(Box, null,
272
394
  React.createElement(Text, { color: "#00cc66", bold: true },
273
395
  "\u2713 ",
@@ -275,21 +397,45 @@ export const ToolExecutionMessage = React.memo(({ message }) => {
275
397
  " Edited "),
276
398
  React.createElement(Text, { color: "#00ccff" }, file_path))));
277
399
  }
400
+ // MULTI_EDIT_FILE
401
+ if (toolName === 'multi_edit_file' && toolArgs) {
402
+ const { file_path, edits } = toolArgs;
403
+ const editCount = Array.isArray(edits) ? edits.length : 0;
404
+ return renderWithThinking(React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1, flexGrow: 0, alignSelf: "flex-start" },
405
+ React.createElement(Box, null,
406
+ React.createElement(Text, { color: "#00cc66", bold: true },
407
+ "\u2713 ",
408
+ toolInfo.emoji,
409
+ " Edited "),
410
+ React.createElement(Text, { color: "#00ccff" }, file_path),
411
+ editCount > 0 && React.createElement(Text, { color: "#666666" },
412
+ " (",
413
+ editCount,
414
+ " edit",
415
+ editCount !== 1 ? 's' : '',
416
+ ")"))));
417
+ }
278
418
  // LIST_DIR
279
419
  if (toolName === 'list_dir' && toolArgs) {
280
420
  const { DirectoryPath } = toolArgs;
281
- return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1, width: "100%", flexGrow: 0 },
421
+ const itemCount = parseListDirResult(result);
422
+ return renderWithThinking(React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1, flexGrow: 0, alignSelf: "flex-start" },
282
423
  React.createElement(Box, null,
283
424
  React.createElement(Text, { color: "#00cc66", bold: true },
284
425
  "\u2713 ",
285
426
  toolInfo.emoji,
286
427
  " Listed "),
287
- React.createElement(Text, { color: "#00ccff" }, DirectoryPath))));
428
+ React.createElement(Text, { color: "#00ccff" }, DirectoryPath),
429
+ itemCount !== null && React.createElement(Text, { color: "#666666" },
430
+ " (",
431
+ itemCount,
432
+ " items)"))));
288
433
  }
289
434
  // GREP_SEARCH
290
435
  if (toolName === 'grep_search' && toolArgs) {
291
436
  const { Query } = toolArgs;
292
- return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1, width: "100%", flexGrow: 0 },
437
+ const searchResults = parseGrepSearchResult(result);
438
+ return renderWithThinking(React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1, flexGrow: 0, alignSelf: "flex-start" },
293
439
  React.createElement(Box, null,
294
440
  React.createElement(Text, { color: "#00cc66", bold: true },
295
441
  "\u2713 ",
@@ -298,12 +444,25 @@ export const ToolExecutionMessage = React.memo(({ message }) => {
298
444
  React.createElement(Text, { color: "#00ccff" },
299
445
  "\"",
300
446
  Query,
301
- "\""))));
447
+ "\""),
448
+ searchResults && (React.createElement(Text, { color: "#666666" },
449
+ " (",
450
+ searchResults.matches,
451
+ " match",
452
+ searchResults.matches !== 1 ? 'es' : '',
453
+ " in ",
454
+ searchResults.files,
455
+ " file",
456
+ searchResults.files !== 1 ? 's' : '',
457
+ ")")),
458
+ !searchResults && result && React.createElement(Text, { color: "#666666" }, " (no matches)"))));
302
459
  }
303
460
  // FIND_FILES
304
461
  if (toolName === 'find_files' && toolArgs) {
305
- const { pattern } = toolArgs;
306
- return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1, width: "100%", flexGrow: 0 },
462
+ const { pattern, Pattern } = toolArgs;
463
+ const displayPattern = pattern || Pattern || '*';
464
+ const fileCount = parseFindFilesResult(result);
465
+ return renderWithThinking(React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1, flexGrow: 0, alignSelf: "flex-start" },
307
466
  React.createElement(Box, null,
308
467
  React.createElement(Text, { color: "#00cc66", bold: true },
309
468
  "\u2713 ",
@@ -311,13 +470,20 @@ export const ToolExecutionMessage = React.memo(({ message }) => {
311
470
  " Found files matching "),
312
471
  React.createElement(Text, { color: "#00ccff" },
313
472
  "\"",
314
- pattern,
315
- "\""))));
473
+ displayPattern,
474
+ "\""),
475
+ fileCount !== null && React.createElement(Text, { color: "#666666" },
476
+ " (",
477
+ fileCount,
478
+ " file",
479
+ fileCount !== 1 ? 's' : '',
480
+ ")"),
481
+ fileCount === null && result && React.createElement(Text, { color: "#666666" }, " (no results)"))));
316
482
  }
317
483
  // WEB_SEARCH
318
484
  if (toolName === 'web_search' && toolArgs) {
319
485
  const { query } = toolArgs;
320
- return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1, width: "100%", flexGrow: 0 },
486
+ return renderWithThinking(React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1, flexGrow: 0, alignSelf: "flex-start" },
321
487
  React.createElement(Box, null,
322
488
  React.createElement(Text, { color: "#00cc66", bold: true },
323
489
  "\u2713 ",
@@ -327,7 +493,7 @@ export const ToolExecutionMessage = React.memo(({ message }) => {
327
493
  // FETCH_URL
328
494
  if (toolName === 'fetch_url' && toolArgs) {
329
495
  const { url } = toolArgs;
330
- return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1, width: "100%", flexGrow: 0 },
496
+ return renderWithThinking(React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1, flexGrow: 0, alignSelf: "flex-start" },
331
497
  React.createElement(Box, null,
332
498
  React.createElement(Text, { color: "#00cc66", bold: true },
333
499
  "\u2713 ",
@@ -335,8 +501,29 @@ export const ToolExecutionMessage = React.memo(({ message }) => {
335
501
  " Fetched "),
336
502
  React.createElement(Text, { color: "#00ccff" }, url))));
337
503
  }
504
+ // INSPECT_SYMBOL
505
+ if (toolName === 'inspect_symbol' && toolArgs) {
506
+ const { filePath } = toolArgs;
507
+ const symbolResult = parseInspectSymbolResult(result);
508
+ const displayPath = filePath || 'unknown';
509
+ const noSymbols = result?.includes('No symbols found');
510
+ return renderWithThinking(React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1, flexGrow: 0, alignSelf: "flex-start" },
511
+ React.createElement(Box, null,
512
+ React.createElement(Text, { color: "#00cc66", bold: true },
513
+ "\u2713 ",
514
+ toolInfo.emoji,
515
+ " Inspected "),
516
+ React.createElement(Text, { color: "#00ccff" }, displayPath),
517
+ noSymbols && React.createElement(Text, { color: "#666666" }, " (no symbols found)"),
518
+ !noSymbols && symbolResult.found && React.createElement(Text, { color: "#666666" },
519
+ " (",
520
+ symbolResult.count,
521
+ " symbol",
522
+ symbolResult.count !== 1 ? 's' : '',
523
+ ")"))));
524
+ }
338
525
  // DEFAULT - for any other tool
339
- return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1, width: "100%", flexGrow: 0 },
526
+ return renderWithThinking(React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1, flexGrow: 0, alignSelf: "flex-start" },
340
527
  React.createElement(Box, null,
341
528
  React.createElement(Text, { color: "#00cc66", bold: true },
342
529
  "\u2713 ",
@@ -1 +1 @@
1
- {"version":3,"file":"ToolExecutionMessage.js","sourceRoot":"","sources":["../../../src/ui/components/ToolExecutionMessage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolExecutionMessage.js","sourceRoot":"","sources":["../../../src/ui/components/ToolExecutionMessage.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,127 @@
1
+ /**
2
+ * Conversation Logger
3
+ *
4
+ * Comprehensive logging utility for AI conversation debugging.
5
+ * Logs all messages, tool calls, thoughts, and feedback to help
6
+ * debug issues like hallucination, looping, or getting stuck.
7
+ */
8
+ export declare enum LogLevel {
9
+ DEBUG = "DEBUG",
10
+ INFO = "INFO",
11
+ WARN = "WARN",
12
+ ERROR = "ERROR"
13
+ }
14
+ export declare enum LogCategory {
15
+ SESSION = "SESSION",
16
+ USER_MSG = "USER_MSG",
17
+ AI_TEXT = "AI_TEXT",
18
+ THOUGHT = "THOUGHT",
19
+ TOOL_CALL = "TOOL_CALL",
20
+ TOOL_EXEC = "TOOL_EXEC",
21
+ TOOL_RESULT = "TOOL_RESULT",
22
+ LOOP = "LOOP",
23
+ NARRATION = "NARRATION",
24
+ ERROR = "ERROR",
25
+ SYSTEM = "SYSTEM"
26
+ }
27
+ /**
28
+ * ConversationLogger class for structured conversation logging
29
+ */
30
+ export declare class ConversationLogger {
31
+ private logFilePath;
32
+ private sessionId;
33
+ private currentTurn;
34
+ private accumulatedThought;
35
+ private accumulatedAIText;
36
+ private enabled;
37
+ constructor(logFilePath?: string);
38
+ /**
39
+ * Enable or disable logging
40
+ */
41
+ setEnabled(enabled: boolean): void;
42
+ /**
43
+ * Start a new conversation session
44
+ */
45
+ startSession(): void;
46
+ /**
47
+ * Log a user message
48
+ */
49
+ logUserMessage(message: string): void;
50
+ /**
51
+ * Log AI text chunk (streaming)
52
+ */
53
+ logAITextChunk(chunk: string): void;
54
+ /**
55
+ * Log completed AI text response
56
+ */
57
+ logAITextComplete(): void;
58
+ /**
59
+ * Log thought chunk (streaming)
60
+ */
61
+ logThoughtChunk(thought: string): void;
62
+ /**
63
+ * Log thought completion with duration
64
+ */
65
+ logThoughtComplete(durationSeconds: number): void;
66
+ /**
67
+ * Log a tool call being received from AI
68
+ */
69
+ logToolCall(name: string, id: string, args: Record<string, any>): void;
70
+ /**
71
+ * Log tool execution starting
72
+ */
73
+ logToolExecutionStart(name: string, id: string): void;
74
+ /**
75
+ * Log tool execution result
76
+ */
77
+ logToolResult(name: string, id: string, result: any, success: boolean, error?: string): void;
78
+ /**
79
+ * Log loop state at turn boundaries
80
+ */
81
+ logLoopState(turn: number, state: {
82
+ toolCallCount: number;
83
+ assistantMessageLength: number;
84
+ hasToolCalls: boolean;
85
+ willContinue: boolean;
86
+ narrationAttempts?: number;
87
+ completionAttempts?: number;
88
+ }): void;
89
+ /**
90
+ * Log when narration/completion detection triggers
91
+ */
92
+ logNarrationDetection(type: 'narration' | 'silent_stop' | 'completion_prompt' | 'final_answer' | 'duplicate_file_write' | 'duplicate_tool_loop', details: any): void;
93
+ /**
94
+ * Log system prompts added to conversation
95
+ */
96
+ logSystemPrompt(promptType: string, content: string): void;
97
+ /**
98
+ * Log an error
99
+ */
100
+ logError(context: string, error: Error | string): void;
101
+ /**
102
+ * Log stream completion
103
+ */
104
+ logStreamEnd(reason: string): void;
105
+ /**
106
+ * Log task completion
107
+ */
108
+ logTaskComplete(summary: string): void;
109
+ /**
110
+ * Log session end
111
+ */
112
+ endSession(finalMessage: string, turnCount: number): void;
113
+ /**
114
+ * Log messages array state (for debugging conversation history)
115
+ */
116
+ logConversationHistory(messages: Array<{
117
+ role: string;
118
+ content: string;
119
+ tool_calls?: any[];
120
+ }>): void;
121
+ /**
122
+ * Core logging function
123
+ */
124
+ private log;
125
+ }
126
+ export declare const conversationLogger: ConversationLogger;
127
+ //# sourceMappingURL=conversation-logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation-logger.d.ts","sourceRoot":"","sources":["../../src/utils/conversation-logger.ts"],"names":[],"mappings":"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"}