centaurus-cli 2.7.1 → 2.7.3

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 (106) hide show
  1. package/dist/cli-adapter.d.ts +15 -0
  2. package/dist/cli-adapter.d.ts.map +1 -1
  3. package/dist/cli-adapter.js +380 -122
  4. package/dist/cli-adapter.js.map +1 -1
  5. package/dist/config/mcp-config-manager.d.ts +53 -0
  6. package/dist/config/mcp-config-manager.d.ts.map +1 -0
  7. package/dist/config/mcp-config-manager.js +210 -0
  8. package/dist/config/mcp-config-manager.js.map +1 -0
  9. package/dist/config/slash-commands.d.ts +14 -0
  10. package/dist/config/slash-commands.d.ts.map +1 -0
  11. package/dist/config/slash-commands.js +65 -0
  12. package/dist/config/slash-commands.js.map +1 -0
  13. package/dist/index.js +17 -0
  14. package/dist/index.js.map +1 -1
  15. package/dist/mcp/mcp-command-handler.d.ts +16 -0
  16. package/dist/mcp/mcp-command-handler.d.ts.map +1 -0
  17. package/dist/mcp/mcp-command-handler.js +196 -0
  18. package/dist/mcp/mcp-command-handler.js.map +1 -0
  19. package/dist/mcp/mcp-server-manager.d.ts +30 -0
  20. package/dist/mcp/mcp-server-manager.d.ts.map +1 -0
  21. package/dist/mcp/mcp-server-manager.js +165 -0
  22. package/dist/mcp/mcp-server-manager.js.map +1 -0
  23. package/dist/mcp/mcp-tool-wrapper.d.ts +12 -0
  24. package/dist/mcp/mcp-tool-wrapper.d.ts.map +1 -0
  25. package/dist/mcp/mcp-tool-wrapper.js +57 -0
  26. package/dist/mcp/mcp-tool-wrapper.js.map +1 -0
  27. package/dist/services/ai-service-client.d.ts.map +1 -1
  28. package/dist/services/ai-service-client.js +1 -0
  29. package/dist/services/ai-service-client.js.map +1 -1
  30. package/dist/services/environment-context-injector.d.ts +2 -2
  31. package/dist/services/environment-context-injector.d.ts.map +1 -1
  32. package/dist/services/environment-context-injector.js +4 -4
  33. package/dist/services/environment-context-injector.js.map +1 -1
  34. package/dist/tools/command.d.ts +1 -2
  35. package/dist/tools/command.d.ts.map +1 -1
  36. package/dist/tools/command.js +39 -131
  37. package/dist/tools/command.js.map +1 -1
  38. package/dist/tools/file-ops.d.ts +3 -3
  39. package/dist/tools/file-ops.d.ts.map +1 -1
  40. package/dist/tools/file-ops.js +125 -99
  41. package/dist/tools/file-ops.js.map +1 -1
  42. package/dist/tools/get-diff.d.ts +5 -0
  43. package/dist/tools/get-diff.d.ts.map +1 -1
  44. package/dist/tools/get-diff.js +67 -5
  45. package/dist/tools/get-diff.js.map +1 -1
  46. package/dist/tools/grep-search.d.ts +13 -21
  47. package/dist/tools/grep-search.d.ts.map +1 -1
  48. package/dist/tools/grep-search.js +309 -280
  49. package/dist/tools/grep-search.js.map +1 -1
  50. package/dist/tools/inspect-symbol.d.ts +5 -0
  51. package/dist/tools/inspect-symbol.d.ts.map +1 -1
  52. package/dist/tools/inspect-symbol.js +102 -20
  53. package/dist/tools/inspect-symbol.js.map +1 -1
  54. package/dist/tools/types.d.ts +2 -1
  55. package/dist/tools/types.d.ts.map +1 -1
  56. package/dist/tools/validation.d.ts +8 -10
  57. package/dist/tools/validation.d.ts.map +1 -1
  58. package/dist/tools/validation.js +35 -37
  59. package/dist/tools/validation.js.map +1 -1
  60. package/dist/ui/components/App.d.ts +4 -0
  61. package/dist/ui/components/App.d.ts.map +1 -1
  62. package/dist/ui/components/App.js +182 -70
  63. package/dist/ui/components/App.js.map +1 -1
  64. package/dist/ui/components/AuthWelcomeScreen.d.ts.map +1 -1
  65. package/dist/ui/components/AuthWelcomeScreen.js +1 -9
  66. package/dist/ui/components/AuthWelcomeScreen.js.map +1 -1
  67. package/dist/ui/components/CodeBlock.d.ts.map +1 -1
  68. package/dist/ui/components/CodeBlock.js +24 -13
  69. package/dist/ui/components/CodeBlock.js.map +1 -1
  70. package/dist/ui/components/DiffViewer.d.ts +1 -0
  71. package/dist/ui/components/DiffViewer.d.ts.map +1 -1
  72. package/dist/ui/components/DiffViewer.js +107 -70
  73. package/dist/ui/components/DiffViewer.js.map +1 -1
  74. package/dist/ui/components/FileCreationPreview.d.ts +8 -0
  75. package/dist/ui/components/FileCreationPreview.d.ts.map +1 -0
  76. package/dist/ui/components/FileCreationPreview.js +63 -0
  77. package/dist/ui/components/FileCreationPreview.js.map +1 -0
  78. package/dist/ui/components/InputBox.d.ts.map +1 -1
  79. package/dist/ui/components/InputBox.js +134 -10
  80. package/dist/ui/components/InputBox.js.map +1 -1
  81. package/dist/ui/components/InteractiveShell.d.ts +1 -0
  82. package/dist/ui/components/InteractiveShell.d.ts.map +1 -1
  83. package/dist/ui/components/InteractiveShell.js +30 -8
  84. package/dist/ui/components/InteractiveShell.js.map +1 -1
  85. package/dist/ui/components/MarkdownRenderer.d.ts.map +1 -1
  86. package/dist/ui/components/MarkdownRenderer.js +8 -30
  87. package/dist/ui/components/MarkdownRenderer.js.map +1 -1
  88. package/dist/ui/components/SlashCommandAutocomplete.d.ts +11 -0
  89. package/dist/ui/components/SlashCommandAutocomplete.d.ts.map +1 -0
  90. package/dist/ui/components/SlashCommandAutocomplete.js +15 -0
  91. package/dist/ui/components/SlashCommandAutocomplete.js.map +1 -0
  92. package/dist/ui/components/ToolExecutionMessage.d.ts.map +1 -1
  93. package/dist/ui/components/ToolExecutionMessage.js +212 -53
  94. package/dist/ui/components/ToolExecutionMessage.js.map +1 -1
  95. package/dist/ui/components/ToolExecutionStatus.d.ts.map +1 -1
  96. package/dist/ui/components/ToolExecutionStatus.js +28 -1
  97. package/dist/ui/components/ToolExecutionStatus.js.map +1 -1
  98. package/dist/utils/input-classifier.d.ts.map +1 -1
  99. package/dist/utils/input-classifier.js +3 -1
  100. package/dist/utils/input-classifier.js.map +1 -1
  101. package/dist/utils/shell.d.ts +2 -0
  102. package/dist/utils/shell.d.ts.map +1 -1
  103. package/dist/utils/shell.js +71 -0
  104. package/dist/utils/shell.js.map +1 -1
  105. package/package.json +2 -1
  106. package/prompts/system-prompt-autonomous.md +22 -73
@@ -1,31 +1,161 @@
1
1
  import React from 'react';
2
2
  import { Box, Text } from 'ink';
3
+ import Spinner from 'ink-spinner';
3
4
  import stripAnsi from 'strip-ansi';
4
5
  const TOOL_LABELS = {
5
- read_file: { verb: 'Reading file', emoji: '📖' },
6
- write_file: { verb: 'Writing file', emoji: '✍️' },
6
+ view_file: { verb: 'Reading file', emoji: '📖' },
7
+ write_to_file: { verb: 'Writing file', emoji: '✍️' },
7
8
  edit_file: { verb: 'Editing file', emoji: '✏️' },
8
- list_directory: { verb: 'Listing directory', emoji: '📁' },
9
+ list_dir: { verb: 'Listing directory', emoji: '📁' },
9
10
  execute_command: { verb: 'Executing command', emoji: '⚡' },
10
11
  grep_search: { verb: 'Searching files', emoji: '🔍' },
12
+ find_files: { verb: 'Finding files', emoji: '🔎' },
11
13
  web_search: { verb: 'Searching web', emoji: '🌐' },
12
14
  fetch_url: { verb: 'Fetching URL', emoji: '📡' },
13
15
  };
16
+ /**
17
+ * Parse MCP tool name to extract server name and tool name
18
+ * MCP tools are named: mcp_{serverName}_{toolName}
19
+ */
20
+ function parseMCPToolName(toolName) {
21
+ if (!toolName.startsWith('mcp_'))
22
+ return null;
23
+ // Remove 'mcp_' prefix and split by first underscore
24
+ const withoutPrefix = toolName.slice(4); // Remove 'mcp_'
25
+ const firstUnderscoreIdx = withoutPrefix.indexOf('_');
26
+ if (firstUnderscoreIdx === -1) {
27
+ return { serverName: withoutPrefix, mcpToolName: 'unknown' };
28
+ }
29
+ const serverName = withoutPrefix.slice(0, firstUnderscoreIdx);
30
+ const mcpToolName = withoutPrefix.slice(firstUnderscoreIdx + 1);
31
+ return { serverName, mcpToolName };
32
+ }
33
+ /**
34
+ * Get display info for a tool, with special handling for MCP tools
35
+ */
36
+ function getToolDisplayInfo(toolName) {
37
+ // Check if it's an MCP tool
38
+ const mcpInfo = parseMCPToolName(toolName);
39
+ if (mcpInfo) {
40
+ return {
41
+ verb: `MCP ${mcpInfo.serverName} ${mcpInfo.mcpToolName}`,
42
+ emoji: '⚡',
43
+ isMCP: true,
44
+ serverName: mcpInfo.serverName,
45
+ mcpToolName: mcpInfo.mcpToolName
46
+ };
47
+ }
48
+ // Regular tool
49
+ const toolInfo = TOOL_LABELS[toolName] || { verb: 'Executing', emoji: '🔧' };
50
+ return { ...toolInfo, isMCP: false };
51
+ }
14
52
  export const ToolExecutionMessage = React.memo(({ message }) => {
15
53
  if (!message.toolExecution) {
16
54
  return null;
17
55
  }
18
56
  const { toolName, status, result, error, arguments: toolArgs } = message.toolExecution;
19
- const toolInfo = TOOL_LABELS[toolName] || { verb: 'Executing', emoji: '🔧' };
20
- // EXECUTING state - execute_command should NOT show here (handled by InteractiveShell)
57
+ const toolInfo = getToolDisplayInfo(toolName);
58
+ // EXECUTING state
21
59
  if (status === 'executing') {
22
60
  // Skip execute_command - it's handled by InteractiveShell component
23
61
  if (toolName === 'execute_command') {
24
62
  return null;
25
63
  }
26
- // Skip web_search executing state - only show completed state
64
+ // Skip web_search executing state
27
65
  if (toolName === 'web_search') {
28
66
  return null;
67
+ } // Skip write/edit executing states (User preference to reduce clutter)
68
+ if (toolName === 'write_to_file' || toolName === 'edit_file') {
69
+ return null;
70
+ }
71
+ // Skip grep_search and find_files executing states (User preference to avoid infinite scrolling)
72
+ if (toolName === 'grep_search' || toolName === 'find_files') {
73
+ return null;
74
+ }
75
+ // MCP tools - show executing state with simple format (no border to avoid emoji width issues)
76
+ if (toolInfo.isMCP) {
77
+ return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#9945FF", paddingX: 1, marginBottom: 1 },
78
+ React.createElement(Box, null,
79
+ React.createElement(Text, { color: "#00ccff" },
80
+ React.createElement(Spinner, { type: "dots" })),
81
+ React.createElement(Text, { color: "#9945FF", bold: true }, " MCP"),
82
+ React.createElement(Text, { color: "#9945FF" },
83
+ " ",
84
+ toolInfo.serverName,
85
+ " ",
86
+ toolInfo.mcpToolName))));
87
+ }
88
+ // VIEW_FILE
89
+ if (toolName === 'view_file' && toolArgs) {
90
+ const { AbsolutePath, StartLine, EndLine } = toolArgs;
91
+ const lineInfo = StartLine && EndLine
92
+ ? `lines ${StartLine}-${EndLine}`
93
+ : 'entire file';
94
+ return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#003b59", paddingX: 1, marginBottom: 1 },
95
+ React.createElement(Box, null,
96
+ React.createElement(Text, { color: "#00ccff", bold: true },
97
+ "\u23F3 ",
98
+ toolInfo.emoji,
99
+ " Reading ",
100
+ lineInfo,
101
+ " from "),
102
+ React.createElement(Text, { color: "#00ccff" },
103
+ AbsolutePath,
104
+ "..."))));
105
+ }
106
+ // LIST_DIR
107
+ if (toolName === 'list_dir' && toolArgs) {
108
+ const { DirectoryPath } = toolArgs;
109
+ return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#003b59", paddingX: 1, marginBottom: 1 },
110
+ React.createElement(Box, null,
111
+ React.createElement(Text, { color: "#00ccff", bold: true },
112
+ "\u23F3 ",
113
+ toolInfo.emoji,
114
+ " Listing "),
115
+ React.createElement(Text, { color: "#00ccff" },
116
+ DirectoryPath,
117
+ "..."))));
118
+ }
119
+ // GREP_SEARCH
120
+ if (toolName === 'grep_search' && toolArgs) {
121
+ const { Query } = toolArgs;
122
+ return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#003b59", paddingX: 1, marginBottom: 1 },
123
+ React.createElement(Box, null,
124
+ React.createElement(Text, { color: "#00ccff", bold: true },
125
+ "\u23F3 ",
126
+ toolInfo.emoji,
127
+ " Searching for "),
128
+ React.createElement(Text, { color: "#00ccff" },
129
+ "\"",
130
+ Query,
131
+ "\"..."))));
132
+ }
133
+ // FIND_FILES
134
+ if (toolName === 'find_files' && toolArgs) {
135
+ const { pattern } = toolArgs;
136
+ return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#003b59", paddingX: 1, marginBottom: 1 },
137
+ React.createElement(Box, null,
138
+ React.createElement(Text, { color: "#00ccff", bold: true },
139
+ "\u23F3 ",
140
+ toolInfo.emoji,
141
+ " Finding files matching "),
142
+ React.createElement(Text, { color: "#00ccff" },
143
+ "\"",
144
+ pattern,
145
+ "\"..."))));
146
+ }
147
+ // FETCH_URL
148
+ if (toolName === 'fetch_url' && toolArgs) {
149
+ const { url } = toolArgs;
150
+ return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#003b59", paddingX: 1, marginBottom: 1 },
151
+ React.createElement(Box, null,
152
+ React.createElement(Text, { color: "#00ccff", bold: true },
153
+ "\u23F3 ",
154
+ toolInfo.emoji,
155
+ " Fetching "),
156
+ React.createElement(Text, { color: "#00ccff" },
157
+ url,
158
+ "..."))));
29
159
  }
30
160
  return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#003b59", paddingX: 1, marginBottom: 1 },
31
161
  React.createElement(Box, null,
@@ -40,22 +170,24 @@ export const ToolExecutionMessage = React.memo(({ message }) => {
40
170
  if (status === 'error') {
41
171
  // EXECUTE_COMMAND - render as static shell box with error
42
172
  if (toolName === 'execute_command' && toolArgs) {
43
- const { command, cwd } = toolArgs;
173
+ const command = toolArgs.command || toolArgs.CommandLine || toolArgs.commandLine || '';
174
+ const { cwd } = toolArgs;
44
175
  const cleanResult = result ? stripAnsi(result).replace(/\r/g, '') : '';
45
- return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#ff3366", paddingX: 1, marginBottom: 1 },
176
+ return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#ff3366", paddingX: 1, marginBottom: 1, width: "100%", flexGrow: 0, flexShrink: 1, minWidth: 0 },
46
177
  React.createElement(Box, { marginBottom: 1 },
47
- React.createElement(Text, { color: "#ff3366", bold: true }, "\u2717 Shell "),
48
- React.createElement(Text, { color: "#666666" },
49
- command,
50
- " "),
51
- cwd && React.createElement(Text, { color: "#666666", dimColor: true },
52
- "[current working directory ",
53
- cwd,
54
- "]")),
55
- cleanResult && (React.createElement(Box, null,
178
+ React.createElement(Text, null,
179
+ React.createElement(Text, { color: "#ff3366", bold: true }, "\u2717 Shell "),
180
+ React.createElement(Text, { color: "#666666" },
181
+ command,
182
+ " "),
183
+ cwd && React.createElement(Text, { color: "#666666", dimColor: true },
184
+ "[current working directory ",
185
+ cwd,
186
+ "]"))),
187
+ cleanResult && (React.createElement(Box, { width: "100%", flexShrink: 1, minWidth: 0 },
56
188
  React.createElement(Text, { wrap: "wrap" }, cleanResult)))));
57
189
  }
58
- return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#ff3366", paddingX: 1, marginBottom: 1 },
190
+ return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#ff3366", paddingX: 1, marginBottom: 1, width: "100%", flexGrow: 0 },
59
191
  React.createElement(Box, null,
60
192
  React.createElement(Text, { color: "#ff3366", bold: true },
61
193
  "\u2717 ",
@@ -70,30 +202,43 @@ export const ToolExecutionMessage = React.memo(({ message }) => {
70
202
  }
71
203
  // COMPLETED state - tool-specific rendering
72
204
  if (status === 'completed') {
205
+ // MCP tools - show only success indicator, hide output (output goes to AI only)
206
+ if (toolInfo.isMCP) {
207
+ return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00cc66", paddingX: 1, marginBottom: 1 },
208
+ React.createElement(Box, null,
209
+ React.createElement(Text, { color: "#00cc66", bold: true }, "\u2713 MCP"),
210
+ React.createElement(Text, { color: "#aaaaaa" },
211
+ " ",
212
+ toolInfo.serverName,
213
+ " ",
214
+ toolInfo.mcpToolName))));
215
+ }
73
216
  // EXECUTE_COMMAND - render as static shell box
74
217
  if (toolName === 'execute_command' && toolArgs) {
75
- const { command, cwd } = toolArgs;
218
+ const command = toolArgs.command || toolArgs.CommandLine || toolArgs.commandLine || '';
219
+ const { cwd } = toolArgs;
76
220
  const cleanResult = result ? stripAnsi(result).replace(/\r/g, '') : '';
77
- return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00cc66", paddingX: 1, marginBottom: 1 },
221
+ return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00cc66", paddingX: 1, marginBottom: 1, width: "100%", flexGrow: 0, flexShrink: 1, minWidth: 0 },
78
222
  React.createElement(Box, { marginBottom: 1 },
79
- React.createElement(Text, { color: "#00cc66", bold: true }, "\u2713 Shell "),
80
- React.createElement(Text, { color: "#666666" },
81
- command,
82
- " "),
83
- cwd && React.createElement(Text, { color: "#666666", dimColor: true },
84
- "[current working directory ",
85
- cwd,
86
- "]")),
87
- cleanResult && (React.createElement(Box, null,
223
+ React.createElement(Text, null,
224
+ React.createElement(Text, { color: "#00cc66", bold: true }, "\u2713 Shell "),
225
+ React.createElement(Text, { color: "#666666" },
226
+ command,
227
+ " "),
228
+ cwd && React.createElement(Text, { color: "#666666", dimColor: true },
229
+ "[current working directory ",
230
+ cwd,
231
+ "]"))),
232
+ cleanResult && (React.createElement(Box, { width: "100%", flexShrink: 1, minWidth: 0 },
88
233
  React.createElement(Text, { wrap: "wrap" }, cleanResult)))));
89
234
  }
90
- // READ_FILE
91
- if (toolName === 'read_file' && toolArgs) {
92
- const { file_path, start_line, end_line } = toolArgs;
93
- const lineInfo = start_line && end_line
94
- ? `lines ${start_line}-${end_line}`
235
+ // VIEW_FILE
236
+ if (toolName === 'view_file' && toolArgs) {
237
+ const { AbsolutePath, StartLine, EndLine } = toolArgs;
238
+ const lineInfo = StartLine && EndLine
239
+ ? `lines ${StartLine}-${EndLine}`
95
240
  : 'entire file';
96
- return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1 },
241
+ return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1, width: "100%", flexGrow: 0 },
97
242
  React.createElement(Box, null,
98
243
  React.createElement(Text, { color: "#00cc66", bold: true },
99
244
  "\u2713 ",
@@ -101,19 +246,19 @@ export const ToolExecutionMessage = React.memo(({ message }) => {
101
246
  " Read ",
102
247
  lineInfo,
103
248
  " from "),
104
- React.createElement(Text, { color: "#00ccff" }, file_path))));
249
+ React.createElement(Text, { color: "#00ccff" }, AbsolutePath))));
105
250
  }
106
- // WRITE_FILE
107
- if (toolName === 'write_file' && toolArgs) {
108
- const { file_path, content } = toolArgs;
109
- const lines = content ? content.split('\n').length : 0;
110
- return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1 },
251
+ // WRITE_TO_FILE
252
+ if (toolName === 'write_to_file' && toolArgs) {
253
+ const { TargetFile, CodeContent } = toolArgs;
254
+ 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 },
111
256
  React.createElement(Box, null,
112
257
  React.createElement(Text, { color: "#00cc66", bold: true },
113
258
  "\u2713 ",
114
259
  toolInfo.emoji,
115
260
  " Wrote to "),
116
- React.createElement(Text, { color: "#00ccff" }, file_path),
261
+ React.createElement(Text, { color: "#00ccff" }, TargetFile),
117
262
  React.createElement(Text, { color: "#666666" },
118
263
  " (",
119
264
  lines,
@@ -122,7 +267,7 @@ export const ToolExecutionMessage = React.memo(({ message }) => {
122
267
  // EDIT_FILE
123
268
  if (toolName === 'edit_file' && toolArgs) {
124
269
  const { file_path } = toolArgs;
125
- return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1 },
270
+ return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1, width: "100%", flexGrow: 0 },
126
271
  React.createElement(Box, null,
127
272
  React.createElement(Text, { color: "#00cc66", bold: true },
128
273
  "\u2713 ",
@@ -130,26 +275,40 @@ export const ToolExecutionMessage = React.memo(({ message }) => {
130
275
  " Edited "),
131
276
  React.createElement(Text, { color: "#00ccff" }, file_path))));
132
277
  }
133
- // LIST_DIRECTORY
134
- if (toolName === 'list_directory' && toolArgs) {
135
- const { directory_path } = toolArgs;
136
- return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1 },
278
+ // LIST_DIR
279
+ if (toolName === 'list_dir' && toolArgs) {
280
+ const { DirectoryPath } = toolArgs;
281
+ return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1, width: "100%", flexGrow: 0 },
137
282
  React.createElement(Box, null,
138
283
  React.createElement(Text, { color: "#00cc66", bold: true },
139
284
  "\u2713 ",
140
285
  toolInfo.emoji,
141
286
  " Listed "),
142
- React.createElement(Text, { color: "#00ccff" }, directory_path))));
287
+ React.createElement(Text, { color: "#00ccff" }, DirectoryPath))));
143
288
  }
144
289
  // GREP_SEARCH
145
290
  if (toolName === 'grep_search' && toolArgs) {
146
- const { pattern } = toolArgs;
147
- return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1 },
291
+ const { Query } = toolArgs;
292
+ return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1, width: "100%", flexGrow: 0 },
148
293
  React.createElement(Box, null,
149
294
  React.createElement(Text, { color: "#00cc66", bold: true },
150
295
  "\u2713 ",
151
296
  toolInfo.emoji,
152
297
  " Searched for "),
298
+ React.createElement(Text, { color: "#00ccff" },
299
+ "\"",
300
+ Query,
301
+ "\""))));
302
+ }
303
+ // FIND_FILES
304
+ 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 },
307
+ React.createElement(Box, null,
308
+ React.createElement(Text, { color: "#00cc66", bold: true },
309
+ "\u2713 ",
310
+ toolInfo.emoji,
311
+ " Found files matching "),
153
312
  React.createElement(Text, { color: "#00ccff" },
154
313
  "\"",
155
314
  pattern,
@@ -158,7 +317,7 @@ export const ToolExecutionMessage = React.memo(({ message }) => {
158
317
  // WEB_SEARCH
159
318
  if (toolName === 'web_search' && toolArgs) {
160
319
  const { query } = toolArgs;
161
- return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1 },
320
+ return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1, width: "100%", flexGrow: 0 },
162
321
  React.createElement(Box, null,
163
322
  React.createElement(Text, { color: "#00cc66", bold: true },
164
323
  "\u2713 ",
@@ -168,7 +327,7 @@ export const ToolExecutionMessage = React.memo(({ message }) => {
168
327
  // FETCH_URL
169
328
  if (toolName === 'fetch_url' && toolArgs) {
170
329
  const { url } = toolArgs;
171
- return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1 },
330
+ return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1, width: "100%", flexGrow: 0 },
172
331
  React.createElement(Box, null,
173
332
  React.createElement(Text, { color: "#00cc66", bold: true },
174
333
  "\u2713 ",
@@ -177,7 +336,7 @@ export const ToolExecutionMessage = React.memo(({ message }) => {
177
336
  React.createElement(Text, { color: "#00ccff" }, url))));
178
337
  }
179
338
  // DEFAULT - for any other tool
180
- return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1 },
339
+ return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, marginBottom: 1, width: "100%", flexGrow: 0 },
181
340
  React.createElement(Box, null,
182
341
  React.createElement(Text, { color: "#00cc66", bold: true },
183
342
  "\u2713 ",
@@ -1 +1 @@
1
- {"version":3,"file":"ToolExecutionMessage.js","sourceRoot":"","sources":["../../../src/ui/components/ToolExecutionMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,OAAO,SAAS,MAAM,YAAY,CAAC;AAOnC,MAAM,WAAW,GAAoD;IACnE,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE;IAChD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE;IACjD,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE;IAChD,cAAc,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,IAAI,EAAE;IAC1D,eAAe,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,GAAG,EAAE;IAC1D,WAAW,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAE;IACrD,UAAU,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE;IAClD,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE;CACjD,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAwC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IAClG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC;IACvF,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAE7E,uFAAuF;IACvF,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAC3B,oEAAoE;QACpE,IAAI,QAAQ,KAAK,iBAAiB,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,8DAA8D;QAC9D,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAC,SAAS,EAAC,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC;YAChG,oBAAC,GAAG;gBACF,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,IAAI;;oBAAI,QAAQ,CAAC,KAAK;;oBAAG,QAAQ,CAAC,IAAI;0BAAW,CACnE,CACF,CACP,CAAC;IACJ,CAAC;IAED,cAAc;IACd,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,0DAA0D;QAC1D,IAAI,QAAQ,KAAK,iBAAiB,IAAI,QAAQ,EAAE,CAAC;YAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC;YAClC,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAEvE,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAC,SAAS,EAAC,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC;gBAChG,oBAAC,GAAG,IAAC,YAAY,EAAE,CAAC;oBAClB,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,IAAI,0BAAgB;oBAC1C,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS;wBAAE,OAAO;4BAAS;oBACtC,GAAG,IAAI,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,QAAQ;;wBAA6B,GAAG;4BAAS,CAC3E;gBACL,WAAW,IAAI,CACd,oBAAC,GAAG;oBACF,oBAAC,IAAI,IAAC,IAAI,EAAC,MAAM,IAAE,WAAW,CAAQ,CAClC,CACP,CAEG,CACP,CAAC;QACJ,CAAC;QAED,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAC,SAAS,EAAC,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC;YAChG,oBAAC,GAAG;gBACF,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,IAAI;;oBAAI,QAAQ,CAAC,KAAK;;oBAAG,QAAQ,CAAC,IAAI;8BAAe,CACvE;YACL,KAAK,IAAI,CACR,oBAAC,GAAG,IAAC,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC;gBAC/B,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS;oBAAE,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;oBAAE,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAQ,CAClG,CACP,CACG,CACP,CAAC;IACJ,CAAC;IAED,4CAA4C;IAC5C,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAC3B,+CAA+C;QAC/C,IAAI,QAAQ,KAAK,iBAAiB,IAAI,QAAQ,EAAE,CAAC;YAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC;YAClC,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAEvE,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAC,SAAS,EAAC,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC;gBAChG,oBAAC,GAAG,IAAC,YAAY,EAAE,CAAC;oBAClB,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,IAAI,0BAAgB;oBAC1C,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS;wBAAE,OAAO;4BAAS;oBACtC,GAAG,IAAI,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,QAAQ;;wBAA6B,GAAG;4BAAS,CAC3E;gBACL,WAAW,IAAI,CACd,oBAAC,GAAG;oBACF,oBAAC,IAAI,IAAC,IAAI,EAAC,MAAM,IAAE,WAAW,CAAQ,CAClC,CACP,CACG,CACP,CAAC;QACJ,CAAC;QAED,YAAY;QACZ,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,EAAE,CAAC;YACzC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;YACrD,MAAM,QAAQ,GAAG,UAAU,IAAI,QAAQ;gBACrC,CAAC,CAAC,SAAS,UAAU,IAAI,QAAQ,EAAE;gBACnC,CAAC,CAAC,aAAa,CAAC;YAElB,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAC,SAAS,EAAC,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC;gBAChG,oBAAC,GAAG;oBACF,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,IAAI;;wBAAI,QAAQ,CAAC,KAAK;;wBAAQ,QAAQ;iCAAc;oBAC1E,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,IAAE,SAAS,CAAQ,CACpC,CACF,CACP,CAAC;QACJ,CAAC;QAED,aAAa;QACb,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,EAAE,CAAC;YAC1C,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;YACxC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAEvD,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAC,SAAS,EAAC,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC;gBAChG,oBAAC,GAAG;oBACF,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,IAAI;;wBAAI,QAAQ,CAAC,KAAK;qCAAkB;oBAC9D,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,IAAE,SAAS,CAAQ;oBACxC,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS;;wBAAI,KAAK;kCAAe,CACzC,CACF,CACP,CAAC;QACJ,CAAC;QAED,YAAY;QACZ,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,EAAE,CAAC;YACzC,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;YAE/B,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAC,SAAS,EAAC,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC;gBAChG,oBAAC,GAAG;oBACF,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,IAAI;;wBAAI,QAAQ,CAAC,KAAK;mCAAgB;oBAC5D,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,IAAE,SAAS,CAAQ,CACpC,CACF,CACP,CAAC;QACJ,CAAC;QAED,iBAAiB;QACjB,IAAI,QAAQ,KAAK,gBAAgB,IAAI,QAAQ,EAAE,CAAC;YAC9C,MAAM,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAC;YAEpC,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAC,SAAS,EAAC,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC;gBAChG,oBAAC,GAAG;oBACF,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,IAAI;;wBAAI,QAAQ,CAAC,KAAK;mCAAgB;oBAC5D,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,IAAE,cAAc,CAAQ,CACzC,CACF,CACP,CAAC;QACJ,CAAC;QAED,cAAc;QACd,IAAI,QAAQ,KAAK,aAAa,IAAI,QAAQ,EAAE,CAAC;YAC3C,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;YAE7B,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAC,SAAS,EAAC,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC;gBAChG,oBAAC,GAAG;oBACF,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,IAAI;;wBAAI,QAAQ,CAAC,KAAK;yCAAsB;oBAClE,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS;;wBAAG,OAAO;6BAAS,CACpC,CACF,CACP,CAAC;QACJ,CAAC;QAED,aAAa;QACb,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,EAAE,CAAC;YAC1C,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC;YAE3B,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAC,SAAS,EAAC,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC;gBAChG,oBAAC,GAAG;oBACF,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,IAAI;;wBAAI,QAAQ,CAAC,KAAK;4CAAyB,CACjE,CACF,CACP,CAAC;QACJ,CAAC;QAED,YAAY;QACZ,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,EAAE,CAAC;YACzC,MAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC;YAEzB,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAC,SAAS,EAAC,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC;gBAChG,oBAAC,GAAG;oBACF,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,IAAI;;wBAAI,QAAQ,CAAC,KAAK;oCAAiB;oBAC7D,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,IAAE,GAAG,CAAQ,CAC9B,CACF,CACP,CAAC;QACJ,CAAC;QAED,+BAA+B;QAC/B,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAC,SAAS,EAAC,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC;YAChG,oBAAC,GAAG;gBACF,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,IAAI;;oBAAI,QAAQ,CAAC,KAAK;;oBAAG,QAAQ,CAAC,IAAI,CAAQ,CAChE;YACL,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,CAChC,oBAAC,GAAG,IAAC,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC;gBAC/B,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,IAAE,MAAM,CAAQ,CACjC,CACP,CACG,CACP,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE;IAC1B,qDAAqD;IACrD,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC;IACjD,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC;IAEjD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAEzC,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;QACnC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ;QACvC,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;QACnC,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC;AAC3C,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"ToolExecutionMessage.js","sourceRoot":"","sources":["../../../src/ui/components/ToolExecutionMessage.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ToolExecutionStatus.d.ts","sourceRoot":"","sources":["../../../src/ui/components/ToolExecutionStatus.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAInD,UAAU,wBAAwB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAWD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAgEjE,CAAC"}
1
+ {"version":3,"file":"ToolExecutionStatus.d.ts","sourceRoot":"","sources":["../../../src/ui/components/ToolExecutionStatus.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAInD,UAAU,wBAAwB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAuCD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAgEjE,CAAC"}
@@ -9,8 +9,35 @@ const TOOL_LABELS = {
9
9
  execute_command: { verb: 'Executing command', emoji: '⚡' },
10
10
  grep_search: { verb: 'Searching files', emoji: '🔍' },
11
11
  };
12
+ /**
13
+ * Parse MCP tool name to extract server name and tool name
14
+ * MCP tools are named: mcp_{serverName}_{toolName}
15
+ */
16
+ function parseMCPToolName(toolName) {
17
+ if (!toolName.startsWith('mcp_'))
18
+ return null;
19
+ const withoutPrefix = toolName.slice(4);
20
+ const firstUnderscoreIdx = withoutPrefix.indexOf('_');
21
+ if (firstUnderscoreIdx === -1) {
22
+ return { serverName: withoutPrefix, mcpToolName: 'unknown' };
23
+ }
24
+ return {
25
+ serverName: withoutPrefix.slice(0, firstUnderscoreIdx),
26
+ mcpToolName: withoutPrefix.slice(firstUnderscoreIdx + 1)
27
+ };
28
+ }
29
+ function getToolDisplayInfo(toolName) {
30
+ const mcpInfo = parseMCPToolName(toolName);
31
+ if (mcpInfo) {
32
+ return {
33
+ verb: `MCP ${mcpInfo.serverName} ${mcpInfo.mcpToolName}`,
34
+ emoji: '⚡'
35
+ };
36
+ }
37
+ return TOOL_LABELS[toolName] || { verb: 'Executing', emoji: '🔧' };
38
+ }
12
39
  export const ToolExecutionStatus = React.memo(({ toolName, status, result, error, }) => {
13
- const toolInfo = TOOL_LABELS[toolName] || { verb: 'Executing', emoji: '🔧' };
40
+ const toolInfo = getToolDisplayInfo(toolName);
14
41
  if (status === 'pending') {
15
42
  return (React.createElement(Box, null,
16
43
  React.createElement(Text, { color: "#666666", dimColor: true },
@@ -1 +1 @@
1
- {"version":3,"file":"ToolExecutionStatus.js","sourceRoot":"","sources":["../../../src/ui/components/ToolExecutionStatus.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolExecutionStatus.js","sourceRoot":"","sources":["../../../src/ui/components/ToolExecutionStatus.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"input-classifier.d.ts","sourceRoot":"","sources":["../../src/utils/input-classifier.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;AAqD3C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CA6FvD"}
1
+ {"version":3,"file":"input-classifier.d.ts","sourceRoot":"","sources":["../../src/utils/input-classifier.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;AAuD3C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CA6FvD"}
@@ -13,7 +13,9 @@ const SLASH_COMMANDS = new Set([
13
13
  'exit', 'quit', 'q',
14
14
  'session', 's',
15
15
  'tools', 't',
16
- 'plan'
16
+ 'plan',
17
+ 'init', 'i',
18
+ 'mcp'
17
19
  ]);
18
20
  // Common binaries that definitely indicate a terminal command
19
21
  const COMMON_COMMANDS = new Set([
@@ -1 +1 @@
1
- {"version":3,"file":"input-classifier.js","sourceRoot":"","sources":["../../src/utils/input-classifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"input-classifier.js","sourceRoot":"","sources":["../../src/utils/input-classifier.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
1
  import { ChildProcess } from 'child_process';
2
+ export declare function killProcessTree(pid: number, signal: string | number): void;
2
3
  export declare function getShellCommand(): string;
3
4
  export interface InteractiveProcess {
4
5
  process: ChildProcess;
5
6
  write: (input: string) => void;
6
7
  kill: () => void;
8
+ signal: (signal: NodeJS.Signals) => void;
7
9
  }
8
10
  export declare function executeCommandInteractive(command: string, cwd: string, onData: (chunk: string, type: 'stdout' | 'stderr') => void, onExit?: (exitCode: number) => void): InteractiveProcess;
9
11
  export declare function executeCommand(command: string, cwd: string, onData?: (chunk: string, type: 'stdout' | 'stderr') => void): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../src/utils/shell.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,EAC1D,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GAClC,kBAAkB,CA0DpB;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,GAC1D,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CA0G/D"}
1
+ {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../src/utils/shell.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAQ,MAAM,eAAe,CAAC;AAEnD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,QAmCnE;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;CAC1C;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,EAC1D,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GAClC,kBAAkB,CAiFpB;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,GAC1D,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CA0G/D"}
@@ -1,5 +1,50 @@
1
1
  import * as os from 'os';
2
2
  import spawn from 'cross-spawn'; // Use cross-spawn for better Windows support
3
+ import { exec } from 'child_process';
4
+ export function killProcessTree(pid, signal) {
5
+ if (os.platform() === 'win32') {
6
+ try {
7
+ require('fs').appendFileSync('shell_debug.log', `[${new Date().toISOString()}] Executing taskkill for PID ${pid}\n`);
8
+ }
9
+ catch (e) { }
10
+ exec(`taskkill /pid ${pid} /T /F`, (error, stdout, stderr) => {
11
+ if (error) {
12
+ try {
13
+ require('fs').appendFileSync('shell_debug.log', `[${new Date().toISOString()}] taskkill failed: ${error.message}\nstderr: ${stderr}\n`);
14
+ }
15
+ catch (e) { }
16
+ // Fallback to normal kill if taskkill fails (e.g. permission issue)
17
+ try {
18
+ process.kill(pid, signal);
19
+ }
20
+ catch (e) {
21
+ // Ignore if process already gone
22
+ }
23
+ }
24
+ else {
25
+ try {
26
+ require('fs').appendFileSync('shell_debug.log', `[${new Date().toISOString()}] taskkill success: ${stdout}\n`);
27
+ }
28
+ catch (e) { }
29
+ }
30
+ });
31
+ }
32
+ else {
33
+ // POSIX: Kill process group
34
+ try {
35
+ process.kill(-pid, signal);
36
+ }
37
+ catch (e) {
38
+ // Fallback to normal kill
39
+ try {
40
+ process.kill(pid, signal);
41
+ }
42
+ catch (e2) {
43
+ // Ignore
44
+ }
45
+ }
46
+ }
47
+ }
3
48
  export function getShellCommand() {
4
49
  return os.platform() === 'win32' ? 'powershell.exe' : (process.env.SHELL || '/bin/bash');
5
50
  }
@@ -54,6 +99,32 @@ export function executeCommandInteractive(command, cwd, onData, onExit) {
54
99
  },
55
100
  kill: () => {
56
101
  childProcess.kill();
102
+ },
103
+ signal: (signal) => {
104
+ if (!childProcess.pid)
105
+ return;
106
+ // 1. Try graceful signal first
107
+ try {
108
+ require('fs').appendFileSync('shell_debug.log', `[${new Date().toISOString()}] Sending signal ${signal} to PID ${childProcess.pid}\n`);
109
+ }
110
+ catch (e) { }
111
+ childProcess.kill(signal);
112
+ // 2. Set safety timeout to force kill if it doesn't exit
113
+ setTimeout(() => {
114
+ if (childProcess.exitCode === null && childProcess.pid) {
115
+ try {
116
+ require('fs').appendFileSync('shell_debug.log', `[${new Date().toISOString()}] Process ${childProcess.pid} still running, forcing killProcessTree\n`);
117
+ }
118
+ catch (e) { }
119
+ killProcessTree(childProcess.pid, signal);
120
+ }
121
+ else {
122
+ try {
123
+ require('fs').appendFileSync('shell_debug.log', `[${new Date().toISOString()}] Process ${childProcess.pid} already exited with code ${childProcess.exitCode}\n`);
124
+ }
125
+ catch (e) { }
126
+ }
127
+ }, 500);
57
128
  }
58
129
  };
59
130
  }