centaurus-cli 3.0.0 → 3.1.0

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 (552) hide show
  1. package/dist/ai/types.js +0 -1
  2. package/dist/ai/types.js.map +1 -1
  3. package/dist/cli-adapter.js +5047 -5037
  4. package/dist/cli-adapter.js.map +1 -1
  5. package/dist/commands/CommandParser.js +372 -315
  6. package/dist/commands/CommandParser.js.map +1 -1
  7. package/dist/config/build-config.js +11 -42
  8. package/dist/config/build-config.js.map +1 -1
  9. package/dist/config/defaultConfig.js +94 -82
  10. package/dist/config/defaultConfig.js.map +1 -1
  11. package/dist/config/manager.js +144 -160
  12. package/dist/config/manager.js.map +1 -1
  13. package/dist/config/mcp-config-manager.js +411 -364
  14. package/dist/config/mcp-config-manager.js.map +1 -1
  15. package/dist/config/models.js +118 -185
  16. package/dist/config/models.js.map +1 -1
  17. package/dist/config/slash-commands.js +186 -184
  18. package/dist/config/slash-commands.js.map +1 -1
  19. package/dist/config/types.js +33 -26
  20. package/dist/config/types.js.map +1 -1
  21. package/dist/context/command-detector.js +63 -67
  22. package/dist/context/command-detector.js.map +1 -1
  23. package/dist/context/context-manager.js +533 -518
  24. package/dist/context/context-manager.js.map +1 -1
  25. package/dist/context/handlers/docker-handler.js +518 -576
  26. package/dist/context/handlers/docker-handler.js.map +1 -1
  27. package/dist/context/handlers/ssh-handler.js +1050 -1109
  28. package/dist/context/handlers/ssh-handler.js.map +1 -1
  29. package/dist/context/handlers/wsl-handler.js +558 -630
  30. package/dist/context/handlers/wsl-handler.js.map +1 -1
  31. package/dist/context/index.js +42 -6
  32. package/dist/context/index.js.map +1 -1
  33. package/dist/context/subshell-handler.js +0 -4
  34. package/dist/context/subshell-handler.js.map +1 -1
  35. package/dist/context/types.js +20 -31
  36. package/dist/context/types.js.map +1 -1
  37. package/dist/hooks/useConnectivity.js +13 -10
  38. package/dist/hooks/useConnectivity.js.map +1 -1
  39. package/dist/hooks/useTerminalDimensions.js +67 -79
  40. package/dist/hooks/useTerminalDimensions.js.map +1 -1
  41. package/dist/index.js +228 -251
  42. package/dist/index.js.map +1 -1
  43. package/dist/mcp/mcp-command-handler.js +297 -260
  44. package/dist/mcp/mcp-command-handler.js.map +1 -1
  45. package/dist/mcp/mcp-server-manager.js +139 -155
  46. package/dist/mcp/mcp-server-manager.js.map +1 -1
  47. package/dist/mcp/mcp-tool-wrapper.js +74 -94
  48. package/dist/mcp/mcp-tool-wrapper.js.map +1 -1
  49. package/dist/services/ai-autocomplete-agent.js +169 -181
  50. package/dist/services/ai-autocomplete-agent.js.map +1 -1
  51. package/dist/services/ai-context-injector.js +180 -93
  52. package/dist/services/ai-context-injector.js.map +1 -1
  53. package/dist/services/ai-service-client.js +513 -456
  54. package/dist/services/ai-service-client.js.map +1 -1
  55. package/dist/services/api-client.js +443 -441
  56. package/dist/services/api-client.js.map +1 -1
  57. package/dist/services/auth-handler.js +162 -198
  58. package/dist/services/auth-handler.js.map +1 -1
  59. package/dist/services/background-task-manager.js +258 -282
  60. package/dist/services/background-task-manager.js.map +1 -1
  61. package/dist/services/checkpoint-manager.js +1513 -973
  62. package/dist/services/checkpoint-manager.js.map +1 -1
  63. package/dist/services/clipboard-service.js +151 -200
  64. package/dist/services/clipboard-service.js.map +1 -1
  65. package/dist/services/connectivity-manager.js +63 -65
  66. package/dist/services/connectivity-manager.js.map +1 -1
  67. package/dist/services/conversation-manager.js +118 -121
  68. package/dist/services/conversation-manager.js.map +1 -1
  69. package/dist/services/environment-context-injector.js +160 -187
  70. package/dist/services/environment-context-injector.js.map +1 -1
  71. package/dist/services/fast-context-agent.js +203 -243
  72. package/dist/services/fast-context-agent.js.map +1 -1
  73. package/dist/services/input-detection-agent.js +190 -202
  74. package/dist/services/input-detection-agent.js.map +1 -1
  75. package/dist/services/input-requirement-detector.js +155 -189
  76. package/dist/services/input-requirement-detector.js.map +1 -1
  77. package/dist/services/local-chat-storage.js +342 -365
  78. package/dist/services/local-chat-storage.js.map +1 -1
  79. package/dist/services/monitored-shell-manager.js +225 -233
  80. package/dist/services/monitored-shell-manager.js.map +1 -1
  81. package/dist/services/ollama-service.js +293 -310
  82. package/dist/services/ollama-service.js.map +1 -1
  83. package/dist/services/rules-storage.js +142 -0
  84. package/dist/services/rules-storage.js.map +1 -0
  85. package/dist/services/session-quota-manager.js +219 -235
  86. package/dist/services/session-quota-manager.js.map +1 -1
  87. package/dist/services/shell-input-agent.js +299 -334
  88. package/dist/services/shell-input-agent.js.map +1 -1
  89. package/dist/services/sub-agent-manager.js +459 -501
  90. package/dist/services/sub-agent-manager.js.map +1 -1
  91. package/dist/services/warpify-detector.js +133 -183
  92. package/dist/services/warpify-detector.js.map +1 -1
  93. package/dist/services/workflow-storage.js +202 -217
  94. package/dist/services/workflow-storage.js.map +1 -1
  95. package/dist/test-ssh-handler.js +148 -193
  96. package/dist/test-ssh-handler.js.map +1 -1
  97. package/dist/tools/add-mcp.js +161 -0
  98. package/dist/tools/add-mcp.js.map +1 -0
  99. package/dist/tools/background-command.js +240 -273
  100. package/dist/tools/background-command.js.map +1 -1
  101. package/dist/tools/command.js +447 -440
  102. package/dist/tools/command.js.map +1 -1
  103. package/dist/tools/create-image.js +172 -202
  104. package/dist/tools/create-image.js.map +1 -1
  105. package/dist/tools/enter-remote-session.js +169 -215
  106. package/dist/tools/enter-remote-session.js.map +1 -1
  107. package/dist/tools/fast-context.js +60 -67
  108. package/dist/tools/fast-context.js.map +1 -1
  109. package/dist/tools/file-ops.js +605 -537
  110. package/dist/tools/file-ops.js.map +1 -1
  111. package/dist/tools/find-files.js +262 -303
  112. package/dist/tools/find-files.js.map +1 -1
  113. package/dist/tools/get-diff.js +423 -400
  114. package/dist/tools/get-diff.js.map +1 -1
  115. package/dist/tools/grep-search.js +966 -948
  116. package/dist/tools/grep-search.js.map +1 -1
  117. package/dist/tools/inspect-symbol.js +308 -323
  118. package/dist/tools/inspect-symbol.js.map +1 -1
  119. package/dist/tools/plan-mode.js +459 -503
  120. package/dist/tools/plan-mode.js.map +1 -1
  121. package/dist/tools/read-binary-file.js +160 -190
  122. package/dist/tools/read-binary-file.js.map +1 -1
  123. package/dist/tools/registry.js +100 -84
  124. package/dist/tools/registry.js.map +1 -1
  125. package/dist/tools/reproduce_issue.js +170 -151
  126. package/dist/tools/reproduce_issue.js.map +1 -1
  127. package/dist/tools/sub-agent.js +223 -228
  128. package/dist/tools/sub-agent.js.map +1 -1
  129. package/dist/tools/task-complete.js +28 -27
  130. package/dist/tools/task-complete.js.map +1 -1
  131. package/dist/tools/types.js +0 -1
  132. package/dist/tools/types.js.map +1 -1
  133. package/dist/tools/validation.js +96 -118
  134. package/dist/tools/validation.js.map +1 -1
  135. package/dist/tools/web-search.js +194 -194
  136. package/dist/tools/web-search.js.map +1 -1
  137. package/dist/tools/workflow-tool.js +77 -82
  138. package/dist/tools/workflow-tool.js.map +1 -1
  139. package/dist/types/index.js +0 -1
  140. package/dist/types/index.js.map +1 -1
  141. package/dist/types/rule.js +1 -0
  142. package/dist/types/rule.js.map +1 -0
  143. package/dist/types/workflow.js +0 -7
  144. package/dist/types/workflow.js.map +1 -1
  145. package/dist/ui/components/AgentTimer.js +24 -25
  146. package/dist/ui/components/AgentTimer.js.map +1 -1
  147. package/dist/ui/components/App.js +3266 -3249
  148. package/dist/ui/components/App.js.map +1 -1
  149. package/dist/ui/components/AuthScreen.js +22 -34
  150. package/dist/ui/components/AuthScreen.js.map +1 -1
  151. package/dist/ui/components/AuthWelcomeScreen.js +30 -24
  152. package/dist/ui/components/AuthWelcomeScreen.js.map +1 -1
  153. package/dist/ui/components/Breadcrumbs.js +53 -82
  154. package/dist/ui/components/Breadcrumbs.js.map +1 -1
  155. package/dist/ui/components/CircularSelectInput.js +59 -67
  156. package/dist/ui/components/CircularSelectInput.js.map +1 -1
  157. package/dist/ui/components/ClipboardFileAutocomplete.js +78 -39
  158. package/dist/ui/components/ClipboardFileAutocomplete.js.map +1 -1
  159. package/dist/ui/components/CodeBlock.js +24 -42
  160. package/dist/ui/components/CodeBlock.js.map +1 -1
  161. package/dist/ui/components/ConfigViewer.js +18 -25
  162. package/dist/ui/components/ConfigViewer.js.map +1 -1
  163. package/dist/ui/components/ConfirmPrompt.js +49 -71
  164. package/dist/ui/components/ConfirmPrompt.js.map +1 -1
  165. package/dist/ui/components/ConnectionStatusMessage.js +32 -83
  166. package/dist/ui/components/ConnectionStatusMessage.js.map +1 -1
  167. package/dist/ui/components/ContextWindowIndicator.js +34 -49
  168. package/dist/ui/components/ContextWindowIndicator.js.map +1 -1
  169. package/dist/ui/components/DetailedPlanReviewScreen.js +104 -106
  170. package/dist/ui/components/DetailedPlanReviewScreen.js.map +1 -1
  171. package/dist/ui/components/DiffViewer.js +68 -121
  172. package/dist/ui/components/DiffViewer.js.map +1 -1
  173. package/dist/ui/components/ErrorBoundary.js +40 -48
  174. package/dist/ui/components/ErrorBoundary.js.map +1 -1
  175. package/dist/ui/components/FileCreationPreview.js +29 -60
  176. package/dist/ui/components/FileCreationPreview.js.map +1 -1
  177. package/dist/ui/components/FileOperation.js +34 -29
  178. package/dist/ui/components/FileOperation.js.map +1 -1
  179. package/dist/ui/components/FileTagAutocomplete.js +55 -25
  180. package/dist/ui/components/FileTagAutocomplete.js.map +1 -1
  181. package/dist/ui/components/FontRecommendation.js.map +1 -1
  182. package/dist/ui/components/GitDiffBreadcrumb.js +29 -0
  183. package/dist/ui/components/GitDiffBreadcrumb.js.map +1 -0
  184. package/dist/ui/components/InputBox.js +1620 -2150
  185. package/dist/ui/components/InputBox.js.map +1 -1
  186. package/dist/ui/components/InteractiveShell.js +234 -352
  187. package/dist/ui/components/InteractiveShell.js.map +1 -1
  188. package/dist/ui/components/KeyboardHelp.js +34 -35
  189. package/dist/ui/components/KeyboardHelp.js.map +1 -1
  190. package/dist/ui/components/LoadingIndicator.js +22 -25
  191. package/dist/ui/components/LoadingIndicator.js.map +1 -1
  192. package/dist/ui/components/MCPAddScreen.js +40 -51
  193. package/dist/ui/components/MCPAddScreen.js.map +1 -1
  194. package/dist/ui/components/MCPListScreen.js +40 -48
  195. package/dist/ui/components/MCPListScreen.js.map +1 -1
  196. package/dist/ui/components/MCPServerListScreen.js +49 -56
  197. package/dist/ui/components/MCPServerListScreen.js.map +1 -1
  198. package/dist/ui/components/MarkdownRenderer.js +69 -96
  199. package/dist/ui/components/MarkdownRenderer.js.map +1 -1
  200. package/dist/ui/components/MessageBox.js +66 -48
  201. package/dist/ui/components/MessageBox.js.map +1 -1
  202. package/dist/ui/components/MessageDisplay.js +150 -142
  203. package/dist/ui/components/MessageDisplay.js.map +1 -1
  204. package/dist/ui/components/MonitorModeAIPanel.js +46 -65
  205. package/dist/ui/components/MonitorModeAIPanel.js.map +1 -1
  206. package/dist/ui/components/MultiLineInput.js +243 -277
  207. package/dist/ui/components/MultiLineInput.js.map +1 -1
  208. package/dist/ui/components/PasswordPrompt.js +37 -18
  209. package/dist/ui/components/PasswordPrompt.js.map +1 -1
  210. package/dist/ui/components/PlanAcceptedMessage.js +27 -38
  211. package/dist/ui/components/PlanAcceptedMessage.js.map +1 -1
  212. package/dist/ui/components/PlanReviewScreen.js +46 -50
  213. package/dist/ui/components/PlanReviewScreen.js.map +1 -1
  214. package/dist/ui/components/RulesEditorScreen.js +81 -0
  215. package/dist/ui/components/RulesEditorScreen.js.map +1 -0
  216. package/dist/ui/components/SelectPrompt.js +19 -8
  217. package/dist/ui/components/SelectPrompt.js.map +1 -1
  218. package/dist/ui/components/ShimmerText.js +44 -0
  219. package/dist/ui/components/ShimmerText.js.map +1 -0
  220. package/dist/ui/components/SlashCommandAutocomplete.js +49 -22
  221. package/dist/ui/components/SlashCommandAutocomplete.js.map +1 -1
  222. package/dist/ui/components/StatusBar.js +56 -87
  223. package/dist/ui/components/StatusBar.js.map +1 -1
  224. package/dist/ui/components/StreamingMessageDisplay.js +116 -99
  225. package/dist/ui/components/StreamingMessageDisplay.js.map +1 -1
  226. package/dist/ui/components/TaskCompletedMessage.js +28 -23
  227. package/dist/ui/components/TaskCompletedMessage.js.map +1 -1
  228. package/dist/ui/components/TaskProgressIndicator.js +44 -70
  229. package/dist/ui/components/TaskProgressIndicator.js.map +1 -1
  230. package/dist/ui/components/ThinkingDisplay.js +44 -41
  231. package/dist/ui/components/ThinkingDisplay.js.map +1 -1
  232. package/dist/ui/components/ToolExecutionMessage.js +772 -1326
  233. package/dist/ui/components/ToolExecutionMessage.js.map +1 -1
  234. package/dist/ui/components/ToolExecutionStatus.js +53 -84
  235. package/dist/ui/components/ToolExecutionStatus.js.map +1 -1
  236. package/dist/ui/components/ToolResult.js +22 -15
  237. package/dist/ui/components/ToolResult.js.map +1 -1
  238. package/dist/ui/components/VersionUpdatePrompt.js +88 -120
  239. package/dist/ui/components/VersionUpdatePrompt.js.map +1 -1
  240. package/dist/ui/components/WelcomeBanner.js +176 -26
  241. package/dist/ui/components/WelcomeBanner.js.map +1 -1
  242. package/dist/ui/components/WorkflowCreatorScreen.js +94 -161
  243. package/dist/ui/components/WorkflowCreatorScreen.js.map +1 -1
  244. package/dist/utils/ansi-encoder.js +30 -61
  245. package/dist/utils/ansi-encoder.js.map +1 -1
  246. package/dist/utils/chat-formatter.js +327 -305
  247. package/dist/utils/chat-formatter.js.map +1 -1
  248. package/dist/utils/command-history.js +152 -174
  249. package/dist/utils/command-history.js.map +1 -1
  250. package/dist/utils/context-sanitizer.js +49 -112
  251. package/dist/utils/context-sanitizer.js.map +1 -1
  252. package/dist/utils/conversation-logger.js +292 -324
  253. package/dist/utils/conversation-logger.js.map +1 -1
  254. package/dist/utils/custom-commands-manager.js +126 -131
  255. package/dist/utils/custom-commands-manager.js.map +1 -1
  256. package/dist/utils/editor-utils.js +732 -837
  257. package/dist/utils/editor-utils.js.map +1 -1
  258. package/dist/utils/file.js +174 -213
  259. package/dist/utils/file.js.map +1 -1
  260. package/dist/utils/git-stats.js +169 -0
  261. package/dist/utils/git-stats.js.map +1 -0
  262. package/dist/utils/input-classifier.js +960 -482
  263. package/dist/utils/input-classifier.js.map +1 -1
  264. package/dist/utils/logger.js +48 -73
  265. package/dist/utils/logger.js.map +1 -1
  266. package/dist/utils/markdown-parser.js +277 -310
  267. package/dist/utils/markdown-parser.js.map +1 -1
  268. package/dist/utils/rule-reference-resolver.js +54 -0
  269. package/dist/utils/rule-reference-resolver.js.map +1 -0
  270. package/dist/utils/shell.js +144 -156
  271. package/dist/utils/shell.js.map +1 -1
  272. package/dist/utils/state.js +23 -22
  273. package/dist/utils/state.js.map +1 -1
  274. package/dist/utils/syntax-checker.js +279 -327
  275. package/dist/utils/syntax-checker.js.map +1 -1
  276. package/dist/utils/terminal-output.js +199 -302
  277. package/dist/utils/terminal-output.js.map +1 -1
  278. package/dist/utils/text-clipboard.js +47 -70
  279. package/dist/utils/text-clipboard.js.map +1 -1
  280. package/dist/utils/unicode-sanitizer.js +134 -197
  281. package/dist/utils/unicode-sanitizer.js.map +1 -1
  282. package/dist/utils/version-checker.js +46 -56
  283. package/dist/utils/version-checker.js.map +1 -1
  284. package/package.json +6 -4
  285. package/dist/ai/types.d.ts +0 -20
  286. package/dist/ai/types.d.ts.map +0 -1
  287. package/dist/cli-adapter.d.ts +0 -511
  288. package/dist/cli-adapter.d.ts.map +0 -1
  289. package/dist/commands/CommandParser.d.ts +0 -27
  290. package/dist/commands/CommandParser.d.ts.map +0 -1
  291. package/dist/config/build-config.d.ts +0 -42
  292. package/dist/config/build-config.d.ts.map +0 -1
  293. package/dist/config/defaultConfig.d.ts +0 -79
  294. package/dist/config/defaultConfig.d.ts.map +0 -1
  295. package/dist/config/manager.d.ts +0 -62
  296. package/dist/config/manager.d.ts.map +0 -1
  297. package/dist/config/mcp-config-manager.d.ts +0 -79
  298. package/dist/config/mcp-config-manager.d.ts.map +0 -1
  299. package/dist/config/models.d.ts +0 -83
  300. package/dist/config/models.d.ts.map +0 -1
  301. package/dist/config/slash-commands.d.ts +0 -23
  302. package/dist/config/slash-commands.d.ts.map +0 -1
  303. package/dist/config/types.d.ts +0 -35
  304. package/dist/config/types.d.ts.map +0 -1
  305. package/dist/context/command-detector.d.ts +0 -50
  306. package/dist/context/command-detector.d.ts.map +0 -1
  307. package/dist/context/context-manager.d.ts +0 -157
  308. package/dist/context/context-manager.d.ts.map +0 -1
  309. package/dist/context/handlers/docker-handler.d.ts +0 -130
  310. package/dist/context/handlers/docker-handler.d.ts.map +0 -1
  311. package/dist/context/handlers/ssh-handler.d.ts +0 -201
  312. package/dist/context/handlers/ssh-handler.d.ts.map +0 -1
  313. package/dist/context/handlers/wsl-handler.d.ts +0 -146
  314. package/dist/context/handlers/wsl-handler.d.ts.map +0 -1
  315. package/dist/context/index.d.ts +0 -8
  316. package/dist/context/index.d.ts.map +0 -1
  317. package/dist/context/subshell-handler.d.ts +0 -165
  318. package/dist/context/subshell-handler.d.ts.map +0 -1
  319. package/dist/context/types.d.ts +0 -70
  320. package/dist/context/types.d.ts.map +0 -1
  321. package/dist/hooks/useConnectivity.d.ts +0 -2
  322. package/dist/hooks/useConnectivity.d.ts.map +0 -1
  323. package/dist/hooks/useTerminalDimensions.d.ts +0 -41
  324. package/dist/hooks/useTerminalDimensions.d.ts.map +0 -1
  325. package/dist/index.d.ts +0 -9
  326. package/dist/index.d.ts.map +0 -1
  327. package/dist/mcp/mcp-command-handler.d.ts +0 -47
  328. package/dist/mcp/mcp-command-handler.d.ts.map +0 -1
  329. package/dist/mcp/mcp-server-manager.d.ts +0 -30
  330. package/dist/mcp/mcp-server-manager.d.ts.map +0 -1
  331. package/dist/mcp/mcp-tool-wrapper.d.ts +0 -12
  332. package/dist/mcp/mcp-tool-wrapper.d.ts.map +0 -1
  333. package/dist/services/ai-autocomplete-agent.d.ts +0 -39
  334. package/dist/services/ai-autocomplete-agent.d.ts.map +0 -1
  335. package/dist/services/ai-context-injector.d.ts +0 -41
  336. package/dist/services/ai-context-injector.d.ts.map +0 -1
  337. package/dist/services/ai-service-client.d.ts +0 -128
  338. package/dist/services/ai-service-client.d.ts.map +0 -1
  339. package/dist/services/api-client.d.ts +0 -353
  340. package/dist/services/api-client.d.ts.map +0 -1
  341. package/dist/services/auth-handler.d.ts +0 -30
  342. package/dist/services/auth-handler.d.ts.map +0 -1
  343. package/dist/services/background-task-manager.d.ts +0 -114
  344. package/dist/services/background-task-manager.d.ts.map +0 -1
  345. package/dist/services/checkpoint-manager.d.ts +0 -167
  346. package/dist/services/checkpoint-manager.d.ts.map +0 -1
  347. package/dist/services/clipboard-service.d.ts +0 -37
  348. package/dist/services/clipboard-service.d.ts.map +0 -1
  349. package/dist/services/connectivity-manager.d.ts +0 -18
  350. package/dist/services/connectivity-manager.d.ts.map +0 -1
  351. package/dist/services/conversation-manager.d.ts +0 -73
  352. package/dist/services/conversation-manager.d.ts.map +0 -1
  353. package/dist/services/environment-context-injector.d.ts +0 -69
  354. package/dist/services/environment-context-injector.d.ts.map +0 -1
  355. package/dist/services/fast-context-agent.d.ts +0 -12
  356. package/dist/services/fast-context-agent.d.ts.map +0 -1
  357. package/dist/services/input-detection-agent.d.ts +0 -40
  358. package/dist/services/input-detection-agent.d.ts.map +0 -1
  359. package/dist/services/input-requirement-detector.d.ts +0 -28
  360. package/dist/services/input-requirement-detector.d.ts.map +0 -1
  361. package/dist/services/local-chat-storage.d.ts +0 -182
  362. package/dist/services/local-chat-storage.d.ts.map +0 -1
  363. package/dist/services/monitored-shell-manager.d.ts +0 -120
  364. package/dist/services/monitored-shell-manager.d.ts.map +0 -1
  365. package/dist/services/ollama-service.d.ts +0 -197
  366. package/dist/services/ollama-service.d.ts.map +0 -1
  367. package/dist/services/session-quota-manager.d.ts +0 -101
  368. package/dist/services/session-quota-manager.d.ts.map +0 -1
  369. package/dist/services/shell-input-agent.d.ts +0 -89
  370. package/dist/services/shell-input-agent.d.ts.map +0 -1
  371. package/dist/services/sub-agent-manager.d.ts +0 -140
  372. package/dist/services/sub-agent-manager.d.ts.map +0 -1
  373. package/dist/services/warpify-detector.d.ts +0 -43
  374. package/dist/services/warpify-detector.d.ts.map +0 -1
  375. package/dist/services/workflow-storage.d.ts +0 -72
  376. package/dist/services/workflow-storage.d.ts.map +0 -1
  377. package/dist/test-ssh-handler.d.ts +0 -8
  378. package/dist/test-ssh-handler.d.ts.map +0 -1
  379. package/dist/tools/background-command.d.ts +0 -11
  380. package/dist/tools/background-command.d.ts.map +0 -1
  381. package/dist/tools/command.d.ts +0 -3
  382. package/dist/tools/command.d.ts.map +0 -1
  383. package/dist/tools/create-image.d.ts +0 -10
  384. package/dist/tools/create-image.d.ts.map +0 -1
  385. package/dist/tools/enter-remote-session.d.ts +0 -48
  386. package/dist/tools/enter-remote-session.d.ts.map +0 -1
  387. package/dist/tools/fast-context.d.ts +0 -3
  388. package/dist/tools/fast-context.d.ts.map +0 -1
  389. package/dist/tools/file-ops.d.ts +0 -7
  390. package/dist/tools/file-ops.d.ts.map +0 -1
  391. package/dist/tools/find-files.d.ts +0 -49
  392. package/dist/tools/find-files.d.ts.map +0 -1
  393. package/dist/tools/get-diff.d.ts +0 -14
  394. package/dist/tools/get-diff.d.ts.map +0 -1
  395. package/dist/tools/grep-search.d.ts +0 -155
  396. package/dist/tools/grep-search.d.ts.map +0 -1
  397. package/dist/tools/inspect-symbol.d.ts +0 -32
  398. package/dist/tools/inspect-symbol.d.ts.map +0 -1
  399. package/dist/tools/plan-mode.d.ts +0 -140
  400. package/dist/tools/plan-mode.d.ts.map +0 -1
  401. package/dist/tools/read-binary-file.d.ts +0 -10
  402. package/dist/tools/read-binary-file.d.ts.map +0 -1
  403. package/dist/tools/registry.d.ts +0 -31
  404. package/dist/tools/registry.d.ts.map +0 -1
  405. package/dist/tools/reproduce_issue.d.ts +0 -2
  406. package/dist/tools/reproduce_issue.d.ts.map +0 -1
  407. package/dist/tools/sub-agent.d.ts +0 -9
  408. package/dist/tools/sub-agent.d.ts.map +0 -1
  409. package/dist/tools/task-complete.d.ts +0 -3
  410. package/dist/tools/task-complete.d.ts.map +0 -1
  411. package/dist/tools/types.d.ts +0 -40
  412. package/dist/tools/types.d.ts.map +0 -1
  413. package/dist/tools/validation.d.ts +0 -47
  414. package/dist/tools/validation.d.ts.map +0 -1
  415. package/dist/tools/web-search.d.ts +0 -24
  416. package/dist/tools/web-search.d.ts.map +0 -1
  417. package/dist/tools/workflow-tool.d.ts +0 -11
  418. package/dist/tools/workflow-tool.d.ts.map +0 -1
  419. package/dist/types/index.d.ts +0 -123
  420. package/dist/types/index.d.ts.map +0 -1
  421. package/dist/types/workflow.d.ts +0 -110
  422. package/dist/types/workflow.d.ts.map +0 -1
  423. package/dist/ui/components/AgentTimer.d.ts +0 -7
  424. package/dist/ui/components/AgentTimer.d.ts.map +0 -1
  425. package/dist/ui/components/App.d.ts +0 -197
  426. package/dist/ui/components/App.d.ts.map +0 -1
  427. package/dist/ui/components/AuthScreen.d.ts +0 -8
  428. package/dist/ui/components/AuthScreen.d.ts.map +0 -1
  429. package/dist/ui/components/AuthWelcomeScreen.d.ts +0 -8
  430. package/dist/ui/components/AuthWelcomeScreen.d.ts.map +0 -1
  431. package/dist/ui/components/Breadcrumbs.d.ts +0 -13
  432. package/dist/ui/components/Breadcrumbs.d.ts.map +0 -1
  433. package/dist/ui/components/CircularSelectInput.d.ts +0 -24
  434. package/dist/ui/components/CircularSelectInput.d.ts.map +0 -1
  435. package/dist/ui/components/ClipboardFileAutocomplete.d.ts +0 -10
  436. package/dist/ui/components/ClipboardFileAutocomplete.d.ts.map +0 -1
  437. package/dist/ui/components/CodeBlock.d.ts +0 -9
  438. package/dist/ui/components/CodeBlock.d.ts.map +0 -1
  439. package/dist/ui/components/ConfigViewer.d.ts +0 -11
  440. package/dist/ui/components/ConfigViewer.d.ts.map +0 -1
  441. package/dist/ui/components/ConfirmPrompt.d.ts +0 -13
  442. package/dist/ui/components/ConfirmPrompt.d.ts.map +0 -1
  443. package/dist/ui/components/ConnectionStatusMessage.d.ts +0 -17
  444. package/dist/ui/components/ConnectionStatusMessage.d.ts.map +0 -1
  445. package/dist/ui/components/ContextWindowIndicator.d.ts +0 -8
  446. package/dist/ui/components/ContextWindowIndicator.d.ts.map +0 -1
  447. package/dist/ui/components/DetailedPlanReviewScreen.d.ts +0 -17
  448. package/dist/ui/components/DetailedPlanReviewScreen.d.ts.map +0 -1
  449. package/dist/ui/components/DiffViewer.d.ts +0 -9
  450. package/dist/ui/components/DiffViewer.d.ts.map +0 -1
  451. package/dist/ui/components/ErrorBoundary.d.ts +0 -17
  452. package/dist/ui/components/ErrorBoundary.d.ts.map +0 -1
  453. package/dist/ui/components/FileCreationPreview.d.ts +0 -8
  454. package/dist/ui/components/FileCreationPreview.d.ts.map +0 -1
  455. package/dist/ui/components/FileOperation.d.ts +0 -10
  456. package/dist/ui/components/FileOperation.d.ts.map +0 -1
  457. package/dist/ui/components/FileTagAutocomplete.d.ts +0 -11
  458. package/dist/ui/components/FileTagAutocomplete.d.ts.map +0 -1
  459. package/dist/ui/components/FontRecommendation.d.ts +0 -1
  460. package/dist/ui/components/FontRecommendation.d.ts.map +0 -1
  461. package/dist/ui/components/InputBox.d.ts +0 -42
  462. package/dist/ui/components/InputBox.d.ts.map +0 -1
  463. package/dist/ui/components/InteractiveShell.d.ts +0 -30
  464. package/dist/ui/components/InteractiveShell.d.ts.map +0 -1
  465. package/dist/ui/components/KeyboardHelp.d.ts +0 -7
  466. package/dist/ui/components/KeyboardHelp.d.ts.map +0 -1
  467. package/dist/ui/components/LoadingIndicator.d.ts +0 -3
  468. package/dist/ui/components/LoadingIndicator.d.ts.map +0 -1
  469. package/dist/ui/components/MCPAddScreen.d.ts +0 -13
  470. package/dist/ui/components/MCPAddScreen.d.ts.map +0 -1
  471. package/dist/ui/components/MCPListScreen.d.ts +0 -17
  472. package/dist/ui/components/MCPListScreen.d.ts.map +0 -1
  473. package/dist/ui/components/MCPServerListScreen.d.ts +0 -16
  474. package/dist/ui/components/MCPServerListScreen.d.ts.map +0 -1
  475. package/dist/ui/components/MarkdownRenderer.d.ts +0 -8
  476. package/dist/ui/components/MarkdownRenderer.d.ts.map +0 -1
  477. package/dist/ui/components/MessageBox.d.ts +0 -10
  478. package/dist/ui/components/MessageBox.d.ts.map +0 -1
  479. package/dist/ui/components/MessageDisplay.d.ts +0 -14
  480. package/dist/ui/components/MessageDisplay.d.ts.map +0 -1
  481. package/dist/ui/components/MonitorModeAIPanel.d.ts +0 -23
  482. package/dist/ui/components/MonitorModeAIPanel.d.ts.map +0 -1
  483. package/dist/ui/components/MultiLineInput.d.ts +0 -13
  484. package/dist/ui/components/MultiLineInput.d.ts.map +0 -1
  485. package/dist/ui/components/PasswordPrompt.d.ts +0 -9
  486. package/dist/ui/components/PasswordPrompt.d.ts.map +0 -1
  487. package/dist/ui/components/PlanAcceptedMessage.d.ts +0 -20
  488. package/dist/ui/components/PlanAcceptedMessage.d.ts.map +0 -1
  489. package/dist/ui/components/PlanReviewScreen.d.ts +0 -14
  490. package/dist/ui/components/PlanReviewScreen.d.ts.map +0 -1
  491. package/dist/ui/components/SelectPrompt.d.ts +0 -12
  492. package/dist/ui/components/SelectPrompt.d.ts.map +0 -1
  493. package/dist/ui/components/SlashCommandAutocomplete.d.ts +0 -13
  494. package/dist/ui/components/SlashCommandAutocomplete.d.ts.map +0 -1
  495. package/dist/ui/components/StatusBar.d.ts +0 -14
  496. package/dist/ui/components/StatusBar.d.ts.map +0 -1
  497. package/dist/ui/components/StreamingMessageDisplay.d.ts +0 -15
  498. package/dist/ui/components/StreamingMessageDisplay.d.ts.map +0 -1
  499. package/dist/ui/components/TaskCompletedMessage.d.ts +0 -14
  500. package/dist/ui/components/TaskCompletedMessage.d.ts.map +0 -1
  501. package/dist/ui/components/TaskProgressIndicator.d.ts +0 -18
  502. package/dist/ui/components/TaskProgressIndicator.d.ts.map +0 -1
  503. package/dist/ui/components/ThinkingDisplay.d.ts +0 -15
  504. package/dist/ui/components/ThinkingDisplay.d.ts.map +0 -1
  505. package/dist/ui/components/ToolExecutionMessage.d.ts +0 -8
  506. package/dist/ui/components/ToolExecutionMessage.d.ts.map +0 -1
  507. package/dist/ui/components/ToolExecutionStatus.d.ts +0 -10
  508. package/dist/ui/components/ToolExecutionStatus.d.ts.map +0 -1
  509. package/dist/ui/components/ToolResult.d.ts +0 -10
  510. package/dist/ui/components/ToolResult.d.ts.map +0 -1
  511. package/dist/ui/components/VersionUpdatePrompt.d.ts +0 -9
  512. package/dist/ui/components/VersionUpdatePrompt.d.ts.map +0 -1
  513. package/dist/ui/components/WelcomeBanner.d.ts +0 -3
  514. package/dist/ui/components/WelcomeBanner.d.ts.map +0 -1
  515. package/dist/ui/components/WorkflowCreatorScreen.d.ts +0 -25
  516. package/dist/ui/components/WorkflowCreatorScreen.d.ts.map +0 -1
  517. package/dist/utils/ansi-encoder.d.ts +0 -7
  518. package/dist/utils/ansi-encoder.d.ts.map +0 -1
  519. package/dist/utils/chat-formatter.d.ts +0 -12
  520. package/dist/utils/chat-formatter.d.ts.map +0 -1
  521. package/dist/utils/command-history.d.ts +0 -24
  522. package/dist/utils/command-history.d.ts.map +0 -1
  523. package/dist/utils/context-sanitizer.d.ts +0 -50
  524. package/dist/utils/context-sanitizer.d.ts.map +0 -1
  525. package/dist/utils/conversation-logger.d.ts +0 -142
  526. package/dist/utils/conversation-logger.d.ts.map +0 -1
  527. package/dist/utils/custom-commands-manager.d.ts +0 -59
  528. package/dist/utils/custom-commands-manager.d.ts.map +0 -1
  529. package/dist/utils/editor-utils.d.ts +0 -101
  530. package/dist/utils/editor-utils.d.ts.map +0 -1
  531. package/dist/utils/file.d.ts +0 -61
  532. package/dist/utils/file.d.ts.map +0 -1
  533. package/dist/utils/input-classifier.d.ts +0 -25
  534. package/dist/utils/input-classifier.d.ts.map +0 -1
  535. package/dist/utils/logger.d.ts +0 -17
  536. package/dist/utils/logger.d.ts.map +0 -1
  537. package/dist/utils/markdown-parser.d.ts +0 -60
  538. package/dist/utils/markdown-parser.d.ts.map +0 -1
  539. package/dist/utils/shell.d.ts +0 -47
  540. package/dist/utils/shell.d.ts.map +0 -1
  541. package/dist/utils/state.d.ts +0 -13
  542. package/dist/utils/state.d.ts.map +0 -1
  543. package/dist/utils/syntax-checker.d.ts +0 -24
  544. package/dist/utils/syntax-checker.d.ts.map +0 -1
  545. package/dist/utils/terminal-output.d.ts +0 -25
  546. package/dist/utils/terminal-output.d.ts.map +0 -1
  547. package/dist/utils/text-clipboard.d.ts +0 -12
  548. package/dist/utils/text-clipboard.d.ts.map +0 -1
  549. package/dist/utils/unicode-sanitizer.d.ts +0 -44
  550. package/dist/utils/unicode-sanitizer.d.ts.map +0 -1
  551. package/dist/utils/version-checker.d.ts +0 -14
  552. package/dist/utils/version-checker.d.ts.map +0 -1
@@ -1,326 +1,348 @@
1
- /**
2
- * Chat Formatter Utility
3
- *
4
- * Formats chat messages into human-readable text for clipboard sharing.
5
- * Converts internal tool call JSON and execution data into readable descriptions.
6
- */
7
- import stripAnsi from 'strip-ansi';
8
- /**
9
- * Clean Unicode characters that might get corrupted in clipboard.
10
- * Removes emojis, box-drawing characters, and other problematic Unicode.
11
- */
1
+ import stripAnsi from "strip-ansi";
12
2
  function cleanUnicode(text) {
13
- return text
14
- // Remove box-drawing characters (used in UI borders)
15
- .replace(/[\u2500-\u257F]/g, '')
16
- // Remove block elements
17
- .replace(/[\u2580-\u259F]/g, '')
18
- // Remove emojis and pictographs (replace with text equivalents)
19
- .replace(/✓/g, '[OK]')
20
- .replace(/✗/g, '[FAIL]')
21
- .replace(/📖/g, '[READ]')
22
- .replace(/📁/g, '[DIR]')
23
- .replace(/📂/g, '[DIR]')
24
- .replace(/📄/g, '[FILE]')
25
- .replace(/✅/g, '[DONE]')
26
- .replace(/❌/g, '[ERROR]')
27
- .replace(/📭/g, '[EMPTY]')
28
- .replace(/📋/g, '[CLIPBOARD]')
29
- .replace(/🔗/g, '[LINK]')
30
- .replace(/🔌/g, '[DISCONNECT]')
31
- .replace(/⚠️/g, '[WARNING]')
32
- .replace(/🆕/g, '[NEW]')
33
- // Remove remaining emojis (broad Unicode ranges)
34
- .replace(/[\u{1F300}-\u{1F9FF}]/gu, '')
35
- .replace(/[\u{2600}-\u{26FF}]/gu, '')
36
- .replace(/[\u{2700}-\u{27BF}]/gu, '')
37
- // Remove common corrupted sequences (Γ, ≡, etc.)
38
- .replace(/Γ[^\s]*/g, '')
39
- .replace(/≡[^\s]*/g, '')
40
- // Clean up extra whitespace from removals
41
- .replace(/\n{3,}/g, '\n\n')
42
- .trim();
3
+ return text.replace(/[\u2500-\u257F]/g, "").replace(/[\u2580-\u259F]/g, "").replace(/✓/g, "[OK]").replace(/✗/g, "[FAIL]").replace(/📖/g, "[READ]").replace(/📁/g, "[DIR]").replace(/📂/g, "[DIR]").replace(/📄/g, "[FILE]").replace(/✅/g, "[DONE]").replace(/❌/g, "[ERROR]").replace(/📭/g, "[EMPTY]").replace(/📋/g, "[CLIPBOARD]").replace(/🔗/g, "[LINK]").replace(/🔌/g, "[DISCONNECT]").replace(/⚠️/g, "[WARNING]").replace(/🆕/g, "[NEW]").replace(/[\u{1F300}-\u{1F9FF}]/gu, "").replace(/[\u{2600}-\u{26FF}]/gu, "").replace(/[\u{2700}-\u{27BF}]/gu, "").replace(/Γ[^\s]*/g, "").replace(/≡[^\s]*/g, "").replace(/\n{3,}/g, "\n\n").trim();
43
4
  }
44
- /**
45
- * Format a tool execution into human-readable text.
46
- */
47
5
  function formatToolExecution(toolExecution) {
48
- const { toolName, status, result, error, arguments: args } = toolExecution;
49
- // Only format completed or error executions
50
- if (status !== 'completed' && status !== 'error') {
51
- return '';
6
+ const { toolName, status, result, error, arguments: args } = toolExecution;
7
+ if (status !== "completed" && status !== "error") {
8
+ return "";
9
+ }
10
+ const statusLabel = status === "completed" ? "\u2713" : "\u2717";
11
+ const cleanResult = result ? stripAnsi(result).trim() : "";
12
+ const truncate = (text, maxLen = 3e3) => {
13
+ if (text.length <= maxLen) return text;
14
+ return text.substring(0, maxLen) + "\n... (content truncated)";
15
+ };
16
+ switch (toolName) {
17
+ case "execute_command": {
18
+ const command = args?.command || args?.CommandLine || args?.commandLine || "unknown command";
19
+ const cwd = args?.cwd || "";
20
+ let output = `${statusLabel} The assistant ran a shell command: \`${command}\``;
21
+ if (cwd) {
22
+ output += ` (in directory: ${cwd})`;
23
+ }
24
+ if (cleanResult) {
25
+ output += `
26
+
27
+ Output:
28
+ \`\`\`
29
+ ${truncate(cleanResult, 2e3)}
30
+ \`\`\``;
31
+ }
32
+ if (status === "error" && error) {
33
+ output += `
34
+
35
+ Error: ${error}`;
36
+ }
37
+ return output;
52
38
  }
53
- const statusLabel = status === 'completed' ? '✓' : '✗';
54
- // Clean result output (remove ANSI codes)
55
- const cleanResult = result ? stripAnsi(result).trim() : '';
56
- // Helper to truncate long content
57
- const truncate = (text, maxLen = 3000) => {
58
- if (text.length <= maxLen)
59
- return text;
60
- return text.substring(0, maxLen) + '\n... (content truncated)';
61
- };
62
- // Handle different tool types
63
- switch (toolName) {
64
- case 'execute_command': {
65
- const command = args?.command || args?.CommandLine || args?.commandLine || 'unknown command';
66
- const cwd = args?.cwd || '';
67
- let output = `${statusLabel} The assistant ran a shell command: \`${command}\``;
68
- if (cwd) {
69
- output += ` (in directory: ${cwd})`;
70
- }
71
- if (cleanResult) {
72
- output += `\n\nOutput:\n\`\`\`\n${truncate(cleanResult, 2000)}\n\`\`\``;
73
- }
74
- if (status === 'error' && error) {
75
- output += `\n\nError: ${error}`;
76
- }
77
- return output;
78
- }
79
- case 'view_file': {
80
- const filePath = args?.AbsolutePath || args?.file_path || 'unknown file';
81
- const startLine = args?.StartLine;
82
- const endLine = args?.EndLine;
83
- let output = `${statusLabel} The assistant read file: \`${filePath}\``;
84
- if (startLine && endLine) {
85
- output += ` (lines ${startLine}-${endLine})`;
86
- }
87
- // Include the file contents from the result
88
- if (cleanResult) {
89
- output += `\n\nFile contents:\n\`\`\`\n${truncate(cleanResult)}\n\`\`\``;
90
- }
91
- return output;
92
- }
93
- case 'write_to_file': {
94
- const filePath = args?.TargetFile || args?.file_path || 'unknown file';
95
- const content = args?.CodeContent || '';
96
- const lines = content ? content.split('\n').length : 0;
97
- let output = `${statusLabel} The assistant wrote to file: \`${filePath}\` (${lines} lines)`;
98
- // Include the content that was written
99
- if (content) {
100
- output += `\n\nNew file contents:\n\`\`\`\n${truncate(content)}\n\`\`\``;
101
- }
102
- return output;
103
- }
104
- case 'edit_file':
105
- case 'replace_file_content': {
106
- const filePath = args?.file_path || args?.TargetFile || 'unknown file';
107
- const targetContent = args?.TargetContent || args?.target_content || '';
108
- const replacementContent = args?.ReplacementContent || args?.replacement_content || '';
109
- let output = `${statusLabel} The assistant edited file: \`${filePath}\``;
110
- // Include the edit details
111
- if (targetContent || replacementContent) {
112
- output += `\n\nEdit made:`;
113
- if (targetContent) {
114
- output += `\n\nOriginal:\n\`\`\`\n${truncate(targetContent, 500)}\n\`\`\``;
115
- }
116
- if (replacementContent) {
117
- output += `\n\nReplaced with:\n\`\`\`\n${truncate(replacementContent, 500)}\n\`\`\``;
118
- }
119
- }
120
- return output;
121
- }
122
- case 'multi_edit_file':
123
- case 'multi_replace_file_content': {
124
- const filePath = args?.file_path || args?.TargetFile || 'unknown file';
125
- const chunks = args?.ReplacementChunks || args?.edits || [];
126
- let output = `${statusLabel} The assistant made ${chunks.length || 'multiple'} edits to file: \`${filePath}\``;
127
- // Include each edit
128
- if (Array.isArray(chunks) && chunks.length > 0) {
129
- output += `\n\nEdits made:`;
130
- chunks.slice(0, 5).forEach((chunk, i) => {
131
- const target = chunk.TargetContent || chunk.target_content || '';
132
- const replacement = chunk.ReplacementContent || chunk.replacement_content || '';
133
- output += `\n\n**Edit ${i + 1}:**`;
134
- if (target) {
135
- output += `\nOriginal:\n\`\`\`\n${truncate(target, 300)}\n\`\`\``;
136
- }
137
- if (replacement) {
138
- output += `\nReplaced with:\n\`\`\`\n${truncate(replacement, 300)}\n\`\`\``;
139
- }
140
- });
141
- if (chunks.length > 5) {
142
- output += `\n\n... and ${chunks.length - 5} more edits`;
143
- }
144
- }
145
- return output;
146
- }
147
- case 'list_dir': {
148
- const dirPath = args?.DirectoryPath || args?.directory || 'unknown directory';
149
- let output = `${statusLabel} The assistant listed directory: \`${dirPath}\``;
150
- if (cleanResult) {
151
- output += `\n\nContents:\n\`\`\`\n${truncate(cleanResult, 1000)}\n\`\`\``;
152
- }
153
- return output;
154
- }
155
- case 'grep_search': {
156
- const query = args?.Query || args?.query || 'unknown query';
157
- let output = `${statusLabel} The assistant searched for: "${query}"`;
158
- if (cleanResult) {
159
- output += `\n\nSearch results:\n\`\`\`\n${truncate(cleanResult, 1500)}\n\`\`\``;
160
- }
161
- return output;
162
- }
163
- case 'find_files':
164
- case 'find_by_name': {
165
- const pattern = args?.pattern || args?.Pattern || '*';
166
- let output = `${statusLabel} The assistant searched for files matching: "${pattern}"`;
167
- if (cleanResult) {
168
- output += `\n\nFiles found:\n\`\`\`\n${truncate(cleanResult, 1000)}\n\`\`\``;
169
- }
170
- return output;
171
- }
172
- case 'web_search':
173
- case 'search_web': {
174
- const query = args?.query || 'unknown query';
175
- let output = `${statusLabel} The assistant searched the web for: "${query}"`;
176
- if (cleanResult) {
177
- output += `\n\nSearch results:\n${truncate(cleanResult, 2000)}`;
178
- }
179
- return output;
180
- }
181
- case 'fetch_url':
182
- case 'read_url_content': {
183
- const url = args?.url || args?.Url || 'unknown URL';
184
- let output = `${statusLabel} The assistant fetched URL: ${url}`;
185
- if (cleanResult) {
186
- output += `\n\nContent:\n${truncate(cleanResult, 2000)}`;
187
- }
188
- return output;
189
- }
190
- case 'view_code_item':
191
- case 'inspect_symbol': {
192
- const filePath = args?.filePath || args?.File || 'unknown file';
193
- const nodePaths = args?.NodePaths || args?.symbols || [];
194
- let output = `${statusLabel} The assistant inspected code in: \`${filePath}\``;
195
- if (Array.isArray(nodePaths) && nodePaths.length > 0) {
196
- output += ` (symbols: ${nodePaths.join(', ')})`;
197
- }
198
- if (cleanResult) {
199
- output += `\n\nCode:\n\`\`\`\n${truncate(cleanResult)}\n\`\`\``;
200
- }
201
- return output;
202
- }
203
- case 'view_file_outline': {
204
- const filePath = args?.AbsolutePath || 'unknown file';
205
- let output = `${statusLabel} The assistant viewed outline of: \`${filePath}\``;
206
- if (cleanResult) {
207
- output += `\n\nOutline:\n\`\`\`\n${truncate(cleanResult, 1500)}\n\`\`\``;
208
- }
209
- return output;
210
- }
211
- case 'read_binary_file': {
212
- const filePath = args?.file_path || 'unknown file';
213
- return `${statusLabel} The assistant uploaded binary file: \`${filePath}\``;
214
- }
215
- case 'create_image':
216
- case 'generate_image': {
217
- const outputPath = args?.output_path || args?.ImageName || 'unknown path';
218
- const prompt = args?.Prompt || args?.image_prompt || '';
219
- let output = `${statusLabel} The assistant generated an image: \`${outputPath}\``;
220
- if (prompt) {
221
- output += `\n\nPrompt used: "${truncate(prompt, 500)}"`;
222
- }
223
- return output;
224
- }
225
- default: {
226
- // Check for MCP tools (mcp_servername_toolname)
227
- if (toolName.startsWith('mcp_')) {
228
- const parts = toolName.slice(4).split('_');
229
- const serverName = parts[0] || 'unknown';
230
- const mcpToolName = parts.slice(1).join('_') || 'unknown';
231
- let output = `${statusLabel} The assistant used MCP tool: ${serverName}.${mcpToolName}`;
232
- // Include the full MCP result
233
- if (cleanResult) {
234
- output += `\n\nResult:\n\`\`\`\n${truncate(cleanResult)}\n\`\`\``;
235
- }
236
- return output;
237
- }
238
- // Generic tool formatting
239
- let output = `${statusLabel} The assistant used tool: ${toolName}`;
240
- if (cleanResult) {
241
- output += `\n\nResult:\n\`\`\`\n${truncate(cleanResult, 1000)}\n\`\`\``;
242
- }
243
- return output;
244
- }
39
+ case "view_file": {
40
+ const filePath = args?.AbsolutePath || args?.file_path || "unknown file";
41
+ const startLine = args?.StartLine;
42
+ const endLine = args?.EndLine;
43
+ let output = `${statusLabel} The assistant read file: \`${filePath}\``;
44
+ if (startLine && endLine) {
45
+ output += ` (lines ${startLine}-${endLine})`;
46
+ }
47
+ if (cleanResult) {
48
+ output += `
49
+
50
+ File contents:
51
+ \`\`\`
52
+ ${truncate(cleanResult)}
53
+ \`\`\``;
54
+ }
55
+ return output;
245
56
  }
246
- }
247
- /**
248
- * Format a single message into human-readable text.
249
- */
250
- function formatMessage(message) {
251
- const { role, content, toolExecution, isCommandMode, taskCompletion, planAccepted, connectionStatus } = message;
252
- // Skip system messages
253
- if (role === 'system') {
254
- return '';
57
+ case "write_to_file": {
58
+ const filePath = args?.TargetFile || args?.file_path || "unknown file";
59
+ const content = args?.CodeContent || "";
60
+ const lines = content ? content.split("\n").length : 0;
61
+ let output = `${statusLabel} The assistant wrote to file: \`${filePath}\` (${lines} lines)`;
62
+ if (content) {
63
+ output += `
64
+
65
+ New file contents:
66
+ \`\`\`
67
+ ${truncate(content)}
68
+ \`\`\``;
69
+ }
70
+ return output;
255
71
  }
256
- // Handle connection status messages
257
- if (connectionStatus) {
258
- const { type, status, connectionString, error: connError } = connectionStatus;
259
- if (status === 'connected') {
260
- return `🔗 Connected to ${type.toUpperCase()}: ${connectionString || 'session'}`;
72
+ case "edit_file":
73
+ case "replace_file_content": {
74
+ const filePath = args?.file_path || args?.TargetFile || "unknown file";
75
+ const targetContent = args?.TargetContent || args?.target_content || "";
76
+ const replacementContent = args?.ReplacementContent || args?.replacement_content || "";
77
+ let output = `${statusLabel} The assistant edited file: \`${filePath}\``;
78
+ if (targetContent || replacementContent) {
79
+ output += `
80
+
81
+ Edit made:`;
82
+ if (targetContent) {
83
+ output += `
84
+
85
+ Original:
86
+ \`\`\`
87
+ ${truncate(targetContent, 500)}
88
+ \`\`\``;
261
89
  }
262
- else if (status === 'disconnected') {
263
- return `🔌 Disconnected from ${type.toUpperCase()} session`;
90
+ if (replacementContent) {
91
+ output += `
92
+
93
+ Replaced with:
94
+ \`\`\`
95
+ ${truncate(replacementContent, 500)}
96
+ \`\`\``;
264
97
  }
265
- else if (status === 'error') {
266
- return `❌ ${type.toUpperCase()} connection error: ${connError || 'unknown error'}`;
98
+ }
99
+ return output;
100
+ }
101
+ case "multi_edit_file":
102
+ case "multi_replace_file_content": {
103
+ const filePath = args?.file_path || args?.TargetFile || "unknown file";
104
+ const chunks = args?.ReplacementChunks || args?.edits || [];
105
+ let output = `${statusLabel} The assistant made ${chunks.length || "multiple"} edits to file: \`${filePath}\``;
106
+ if (Array.isArray(chunks) && chunks.length > 0) {
107
+ output += `
108
+
109
+ Edits made:`;
110
+ chunks.slice(0, 5).forEach((chunk, i) => {
111
+ const target = chunk.TargetContent || chunk.target_content || "";
112
+ const replacement = chunk.ReplacementContent || chunk.replacement_content || "";
113
+ output += `
114
+
115
+ **Edit ${i + 1}:**`;
116
+ if (target) {
117
+ output += `
118
+ Original:
119
+ \`\`\`
120
+ ${truncate(target, 300)}
121
+ \`\`\``;
122
+ }
123
+ if (replacement) {
124
+ output += `
125
+ Replaced with:
126
+ \`\`\`
127
+ ${truncate(replacement, 300)}
128
+ \`\`\``;
129
+ }
130
+ });
131
+ if (chunks.length > 5) {
132
+ output += `
133
+
134
+ ... and ${chunks.length - 5} more edits`;
267
135
  }
268
- return '';
136
+ }
137
+ return output;
269
138
  }
270
- // Handle plan accepted messages
271
- if (planAccepted) {
272
- const { planTitle, totalTasks } = planAccepted;
273
- return `📋 Plan accepted: "${planTitle || 'Implementation Plan'}" with ${totalTasks || 0} tasks`;
139
+ case "list_dir": {
140
+ const dirPath = args?.DirectoryPath || args?.directory || "unknown directory";
141
+ let output = `${statusLabel} The assistant listed directory: \`${dirPath}\``;
142
+ if (cleanResult) {
143
+ output += `
144
+
145
+ Contents:
146
+ \`\`\`
147
+ ${truncate(cleanResult, 1e3)}
148
+ \`\`\``;
149
+ }
150
+ return output;
274
151
  }
275
- // Handle task completion messages
276
- if (taskCompletion) {
277
- const { taskNumber, totalTasks, taskDescription, completionNote } = taskCompletion;
278
- let output = `✅ Task ${taskNumber}/${totalTasks} completed: ${taskDescription}`;
279
- if (completionNote) {
280
- output += `\nNote: ${completionNote}`;
281
- }
282
- return output;
152
+ case "grep_search": {
153
+ const query = args?.Query || args?.query || "unknown query";
154
+ let output = `${statusLabel} The assistant searched for: "${query}"`;
155
+ if (cleanResult) {
156
+ output += `
157
+
158
+ Search results:
159
+ \`\`\`
160
+ ${truncate(cleanResult, 1500)}
161
+ \`\`\``;
162
+ }
163
+ return output;
283
164
  }
284
- // Handle tool execution messages
285
- if (toolExecution) {
286
- return formatToolExecution(toolExecution);
165
+ case "find_files":
166
+ case "find_by_name": {
167
+ const pattern = args?.pattern || args?.Pattern || "*";
168
+ let output = `${statusLabel} The assistant searched for files matching: "${pattern}"`;
169
+ if (cleanResult) {
170
+ output += `
171
+
172
+ Files found:
173
+ \`\`\`
174
+ ${truncate(cleanResult, 1e3)}
175
+ \`\`\``;
176
+ }
177
+ return output;
287
178
  }
288
- // Handle user messages
289
- if (role === 'user') {
290
- if (isCommandMode) {
291
- return `## User (Terminal Command)\n\`\`\`\n${content}\n\`\`\``;
292
- }
293
- return `## User\n${content}`;
179
+ case "web_search":
180
+ case "search_web": {
181
+ const query = args?.query || "unknown query";
182
+ let output = `${statusLabel} The assistant searched the web for: "${query}"`;
183
+ if (cleanResult) {
184
+ output += `
185
+
186
+ Search results:
187
+ ${truncate(cleanResult, 2e3)}`;
188
+ }
189
+ return output;
190
+ }
191
+ case "fetch_url":
192
+ case "read_url_content": {
193
+ const url = args?.url || args?.Url || "unknown URL";
194
+ let output = `${statusLabel} The assistant fetched URL: ${url}`;
195
+ if (cleanResult) {
196
+ output += `
197
+
198
+ Content:
199
+ ${truncate(cleanResult, 2e3)}`;
200
+ }
201
+ return output;
202
+ }
203
+ case "view_code_item":
204
+ case "inspect_symbol": {
205
+ const filePath = args?.filePath || args?.File || "unknown file";
206
+ const nodePaths = args?.NodePaths || args?.symbols || [];
207
+ let output = `${statusLabel} The assistant inspected code in: \`${filePath}\``;
208
+ if (Array.isArray(nodePaths) && nodePaths.length > 0) {
209
+ output += ` (symbols: ${nodePaths.join(", ")})`;
210
+ }
211
+ if (cleanResult) {
212
+ output += `
213
+
214
+ Code:
215
+ \`\`\`
216
+ ${truncate(cleanResult)}
217
+ \`\`\``;
218
+ }
219
+ return output;
220
+ }
221
+ case "view_file_outline": {
222
+ const filePath = args?.AbsolutePath || "unknown file";
223
+ let output = `${statusLabel} The assistant viewed outline of: \`${filePath}\``;
224
+ if (cleanResult) {
225
+ output += `
226
+
227
+ Outline:
228
+ \`\`\`
229
+ ${truncate(cleanResult, 1500)}
230
+ \`\`\``;
231
+ }
232
+ return output;
233
+ }
234
+ case "read_binary_file": {
235
+ const filePath = args?.file_path || "unknown file";
236
+ return `${statusLabel} The assistant uploaded binary file: \`${filePath}\``;
294
237
  }
295
- // Handle assistant messages
296
- if (role === 'assistant') {
297
- if (content && content.trim()) {
298
- return `## Assistant\n${content}`;
238
+ case "create_image":
239
+ case "generate_image": {
240
+ const outputPath = args?.output_path || args?.ImageName || "unknown path";
241
+ const prompt = args?.Prompt || args?.image_prompt || "";
242
+ let output = `${statusLabel} The assistant generated an image: \`${outputPath}\``;
243
+ if (prompt) {
244
+ output += `
245
+
246
+ Prompt used: "${truncate(prompt, 500)}"`;
247
+ }
248
+ return output;
249
+ }
250
+ default: {
251
+ if (toolName.startsWith("mcp_")) {
252
+ const parts = toolName.slice(4).split("_");
253
+ const serverName = parts[0] || "unknown";
254
+ const mcpToolName = parts.slice(1).join("_") || "unknown";
255
+ let output2 = `${statusLabel} The assistant used MCP tool: ${serverName}.${mcpToolName}`;
256
+ if (cleanResult) {
257
+ output2 += `
258
+
259
+ Result:
260
+ \`\`\`
261
+ ${truncate(cleanResult)}
262
+ \`\`\``;
299
263
  }
300
- return '';
264
+ return output2;
265
+ }
266
+ let output = `${statusLabel} The assistant used tool: ${toolName}`;
267
+ if (cleanResult) {
268
+ output += `
269
+
270
+ Result:
271
+ \`\`\`
272
+ ${truncate(cleanResult, 1e3)}
273
+ \`\`\``;
274
+ }
275
+ return output;
276
+ }
277
+ }
278
+ }
279
+ function formatMessage(message) {
280
+ const { role, content, toolExecution, isCommandMode, taskCompletion, planAccepted, connectionStatus } = message;
281
+ if (role === "system") {
282
+ return "";
283
+ }
284
+ if (connectionStatus) {
285
+ const { type, status, connectionString, error: connError } = connectionStatus;
286
+ if (status === "connected") {
287
+ return `\u{1F517} Connected to ${type.toUpperCase()}: ${connectionString || "session"}`;
288
+ } else if (status === "disconnected") {
289
+ return `\u{1F50C} Disconnected from ${type.toUpperCase()} session`;
290
+ } else if (status === "error") {
291
+ return `\u274C ${type.toUpperCase()} connection error: ${connError || "unknown error"}`;
301
292
  }
302
- // Handle tool result messages (usually internal, skip)
303
- if (role === 'tool') {
304
- return '';
293
+ return "";
294
+ }
295
+ if (planAccepted) {
296
+ const { planTitle, totalTasks } = planAccepted;
297
+ return `\u{1F4CB} Plan accepted: "${planTitle || "Implementation Plan"}" with ${totalTasks || 0} tasks`;
298
+ }
299
+ if (taskCompletion) {
300
+ const { taskNumber, totalTasks, taskDescription, completionNote } = taskCompletion;
301
+ let output = `\u2705 Task ${taskNumber}/${totalTasks} completed: ${taskDescription}`;
302
+ if (completionNote) {
303
+ output += `
304
+ Note: ${completionNote}`;
305
305
  }
306
- return '';
306
+ return output;
307
+ }
308
+ if (toolExecution) {
309
+ return formatToolExecution(toolExecution);
310
+ }
311
+ if (role === "user") {
312
+ if (isCommandMode) {
313
+ return `## User (Terminal Command)
314
+ \`\`\`
315
+ ${content}
316
+ \`\`\``;
317
+ }
318
+ return `## User
319
+ ${content}`;
320
+ }
321
+ if (role === "assistant") {
322
+ if (content && content.trim()) {
323
+ return `## Assistant
324
+ ${content}`;
325
+ }
326
+ return "";
327
+ }
328
+ if (role === "tool") {
329
+ return "";
330
+ }
331
+ return "";
307
332
  }
308
- /**
309
- * Format entire chat history into human-readable text for clipboard sharing.
310
- */
311
- export function formatChatForClipboard(messages) {
312
- const header = `# Chat Session Export
313
- Generated: ${new Date().toLocaleString()}
314
- ---
315
-
333
+ function formatChatForClipboard(messages) {
334
+ const header = `# Chat Session Export
335
+ Generated: ${(/* @__PURE__ */ new Date()).toLocaleString()}
336
+ ---
337
+
316
338
  `;
317
- const formattedMessages = messages
318
- .map(formatMessage)
319
- .filter(text => text.trim() !== '')
320
- .join('\n\n---\n\n');
321
- if (!formattedMessages) {
322
- return cleanUnicode(header + 'No messages in this chat session.');
323
- }
324
- return cleanUnicode(header + formattedMessages);
339
+ const formattedMessages = messages.map(formatMessage).filter((text) => text.trim() !== "").join("\n\n---\n\n");
340
+ if (!formattedMessages) {
341
+ return cleanUnicode(header + "No messages in this chat session.");
342
+ }
343
+ return cleanUnicode(header + formattedMessages);
325
344
  }
345
+ export {
346
+ formatChatForClipboard
347
+ };
326
348
  //# sourceMappingURL=chat-formatter.js.map