centaurus-cli 3.0.1 → 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 -5158
  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 +1526 -1512
  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 +601 -572
  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 -406
  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 -3263
  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 -514
  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 -204
  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
package/dist/index.js CHANGED
@@ -1,414 +1,391 @@
1
1
  #!/usr/bin/env node
2
- /**
3
- * Centaurus CLI Entry Point
4
- *
5
- * NOTE: NO .env file loading! All configuration is baked in at build time.
6
- * See config/build-config.ts for the compile-time configuration.
7
- */
8
- import { fileURLToPath } from 'url';
9
- import { dirname } from 'path';
2
+ import { fileURLToPath } from "url";
3
+ import { dirname } from "path";
10
4
  const __filename = fileURLToPath(import.meta.url);
11
5
  const __dirname = dirname(__filename);
12
- // Import logger early for error handlers
13
- import { logError, logWarning, logInfo } from './utils/logger.js';
14
- import { quickLog } from './utils/conversation-logger.js';
15
- // Global handler for EPIPE errors from MCP servers during shutdown
16
- // This prevents crashes when MCP server processes try to write to closed pipes
17
- process.stdout.on('error', (err) => {
18
- if (err.code === 'EPIPE') {
19
- // Silently ignore EPIPE errors - these happen during graceful shutdown
20
- logWarning(`stdout EPIPE error (suppressed): ${err.message}`);
21
- return;
22
- }
23
- logError('stdout error', err);
6
+ import { logError, logWarning, logInfo } from "./utils/logger.js";
7
+ import { quickLog } from "./utils/conversation-logger.js";
8
+ process.stdout.on("error", (err) => {
9
+ if (err.code === "EPIPE") {
10
+ logWarning(`stdout EPIPE error (suppressed): ${err.message}`);
11
+ return;
12
+ }
13
+ logError("stdout error", err);
24
14
  });
25
- process.stderr.on('error', (err) => {
26
- if (err.code === 'EPIPE') {
27
- logWarning(`stderr EPIPE error (suppressed): ${err.message}`);
28
- return;
29
- }
30
- logError('stderr error', err);
15
+ process.stderr.on("error", (err) => {
16
+ if (err.code === "EPIPE") {
17
+ logWarning(`stderr EPIPE error (suppressed): ${err.message}`);
18
+ return;
19
+ }
20
+ logError("stderr error", err);
31
21
  });
32
- process.stdin.on('error', (err) => {
33
- if (err.code === 'EPIPE' || err.code === 'EOF') {
34
- logWarning(`stdin error (suppressed): ${err.code} - ${err.message}`);
35
- return;
36
- }
37
- logError('stdin error', err);
22
+ process.stdin.on("error", (err) => {
23
+ if (err.code === "EPIPE" || err.code === "EOF") {
24
+ logWarning(`stdin error (suppressed): ${err.code} - ${err.message}`);
25
+ return;
26
+ }
27
+ logError("stdin error", err);
38
28
  });
39
- // Handle uncaught errors from child processes (MCP servers)
40
- process.on('uncaughtException', (err) => {
41
- // EPIPE, ECONNRESET, and similar errors from MCP/network operations - log and continue
42
- if (err.code === 'EPIPE' || err.code === 'ECONNRESET' || err.code === 'ENOTCONN') {
43
- logWarning(`Uncaught exception (suppressed): ${err.code} - ${err.message}`);
44
- return;
45
- }
46
- // Yoga WASM memory access errors - these occur during rapid layout recalculations
47
- // in agent control mode and are non-fatal (the app can continue)
48
- if (err.name === 'RuntimeError' && err.message?.includes('memory access out of bounds')) {
49
- // Log to file only, not terminal
50
- quickLog(`[${new Date().toISOString()}] [WASM] Yoga memory error suppressed: ${err.message}\n`);
51
- return;
52
- }
53
- // For critical errors, log and exit
54
- logError('Uncaught exception (fatal)', err);
55
- process.exit(1);
29
+ process.on("uncaughtException", (err) => {
30
+ if (err.code === "EPIPE" || err.code === "ECONNRESET" || err.code === "ENOTCONN") {
31
+ logWarning(`Uncaught exception (suppressed): ${err.code} - ${err.message}`);
32
+ return;
33
+ }
34
+ if (err.name === "RuntimeError" && err.message?.includes("memory access out of bounds")) {
35
+ quickLog(`[${(/* @__PURE__ */ new Date()).toISOString()}] [WASM] Yoga memory error suppressed: ${err.message}
36
+ `);
37
+ return;
38
+ }
39
+ logError("Uncaught exception (fatal)", err);
40
+ process.exit(1);
56
41
  });
57
- // Handle unhandled promise rejections
58
- process.on('unhandledRejection', (reason, promise) => {
59
- const error = reason instanceof Error ? reason : new Error(String(reason));
60
- const errnoError = error;
61
- // Suppress common non-fatal errors from MCP/network operations
62
- if (errnoError.code === 'EPIPE' || errnoError.code === 'ECONNRESET' ||
63
- errnoError.code === 'ENOTCONN' || errnoError.code === 'ERR_STREAM_DESTROYED') {
64
- logWarning(`Unhandled rejection (suppressed): ${errnoError.code} - ${error.message}`);
65
- return;
66
- }
67
- logError('Unhandled rejection', error);
42
+ process.on("unhandledRejection", (reason, promise) => {
43
+ const error = reason instanceof Error ? reason : new Error(String(reason));
44
+ const errnoError = error;
45
+ if (errnoError.code === "EPIPE" || errnoError.code === "ECONNRESET" || errnoError.code === "ENOTCONN" || errnoError.code === "ERR_STREAM_DESTROYED") {
46
+ logWarning(`Unhandled rejection (suppressed): ${errnoError.code} - ${error.message}`);
47
+ return;
48
+ }
49
+ logError("Unhandled rejection", error);
68
50
  });
69
- import React from 'react';
70
- import { render } from 'ink';
71
- import { App } from './ui/components/App.js';
72
- import { ErrorBoundary } from './ui/components/ErrorBoundary.js';
73
- import { AuthWelcomeScreen } from './ui/components/AuthWelcomeScreen.js';
74
- import { CentaurusCLI } from './cli-adapter.js';
75
- import { apiClient } from './services/api-client.js';
76
- import { authenticateWithGoogle } from './services/auth-handler.js';
51
+ import React from "react";
52
+ import { render } from "ink";
53
+ import { App } from "./ui/components/App.js";
54
+ import { ErrorBoundary } from "./ui/components/ErrorBoundary.js";
55
+ import { AuthWelcomeScreen } from "./ui/components/AuthWelcomeScreen.js";
56
+ import { CentaurusCLI } from "./cli-adapter.js";
57
+ import { apiClient } from "./services/api-client.js";
58
+ import { authenticateWithGoogle } from "./services/auth-handler.js";
77
59
  async function handleAuthentication() {
78
- // Check if already authenticated and verify session is valid
79
- if (apiClient.isAuthenticated()) {
80
- try {
81
- // Verify the session is actually valid by checking with backend
82
- await apiClient.getCurrentUser();
83
- return true; // Session is valid
84
- }
85
- catch (error) {
86
- // Session is invalid/expired, clear it and continue to auth flow
87
- logWarning('Session expired. User needs to sign in again.');
88
- }
89
- }
90
- // Check if backend is reachable
91
- let backendReachable = false;
60
+ if (apiClient.isAuthenticated()) {
92
61
  try {
93
- await apiClient.healthCheck();
94
- backendReachable = true;
95
- }
96
- catch (error) {
97
- // Backend is not reachable - we'll still show auth screen but inform user
98
- logWarning('Backend API is not reachable during authentication.');
62
+ await apiClient.getCurrentUser();
63
+ return true;
64
+ } catch (error) {
65
+ logWarning("Session expired. User needs to sign in again.");
99
66
  }
100
- // Show authentication welcome screen with picker
101
- return new Promise((resolve) => {
102
- const { waitUntilExit, clear } = render(React.createElement(AuthWelcomeScreen, {
103
- onSignIn: async () => {
104
- clear();
105
- logInfo('Starting authentication process...');
106
- // Attempt authentication via web app
107
- // The auth handler will open the browser and wait for callback
108
- const result = await authenticateWithGoogle();
109
- if (result.success) {
110
- logInfo('Authentication successful!');
111
- resolve(true);
112
- }
113
- else {
114
- logWarning(`Authentication failed: ${result.error || 'Unknown error'}`);
115
- process.exit(1);
116
- }
117
- },
118
- onExit: () => {
119
- clear();
120
- logInfo('User exited authentication screen.');
121
- process.exit(0);
122
- },
123
- }), {
124
- patchConsole: false,
125
- exitOnCtrlC: true,
126
- });
127
- });
67
+ }
68
+ let backendReachable = false;
69
+ try {
70
+ await apiClient.healthCheck();
71
+ backendReachable = true;
72
+ } catch (error) {
73
+ logWarning("Backend API is not reachable during authentication.");
74
+ }
75
+ return new Promise((resolve) => {
76
+ const { waitUntilExit, clear } = render(
77
+ React.createElement(AuthWelcomeScreen, {
78
+ onSignIn: async () => {
79
+ clear();
80
+ logInfo("Starting authentication process...");
81
+ const result = await authenticateWithGoogle();
82
+ if (result.success) {
83
+ logInfo("Authentication successful!");
84
+ resolve(true);
85
+ } else {
86
+ logWarning(`Authentication failed: ${result.error || "Unknown error"}`);
87
+ process.exit(1);
88
+ }
89
+ },
90
+ onExit: () => {
91
+ clear();
92
+ logInfo("User exited authentication screen.");
93
+ process.exit(0);
94
+ }
95
+ }),
96
+ {
97
+ patchConsole: false,
98
+ exitOnCtrlC: true
99
+ }
100
+ );
101
+ });
128
102
  }
129
103
  async function main() {
130
- // Handle authentication
131
- await handleAuthentication();
132
- const cli = new CentaurusCLI();
133
- // Initialize CLI (load config, register tools)
134
- await cli.initialize();
135
- // Check if configuration migration occurred and show message
136
- const migrationMessage = cli.getMigrationMessage();
137
- if (migrationMessage) {
138
- logInfo(`Configuration migration: ${migrationMessage}`);
139
- // Wait for user to press Enter, but only if interactive
140
- if (process.stdin.isTTY) {
141
- await new Promise((resolve) => {
142
- const onData = () => {
143
- process.stdin.removeListener('end', onEnd);
144
- resolve();
145
- };
146
- const onEnd = () => {
147
- process.stdin.removeListener('data', onData);
148
- resolve();
149
- };
150
- process.stdin.once('data', onData);
151
- process.stdin.once('end', onEnd);
152
- });
153
- }
104
+ await handleAuthentication();
105
+ const cli = new CentaurusCLI();
106
+ await cli.initialize();
107
+ const migrationMessage = cli.getMigrationMessage();
108
+ if (migrationMessage) {
109
+ logInfo(`Configuration migration: ${migrationMessage}`);
110
+ if (process.stdin.isTTY) {
111
+ await new Promise((resolve) => {
112
+ const onData = () => {
113
+ process.stdin.removeListener("end", onEnd);
114
+ resolve();
115
+ };
116
+ const onEnd = () => {
117
+ process.stdin.removeListener("data", onData);
118
+ resolve();
119
+ };
120
+ process.stdin.once("data", onData);
121
+ process.stdin.once("end", onEnd);
122
+ });
154
123
  }
155
- // Clear the terminal before starting the UI
156
- process.stdout.write('\x1b[2J\x1b[3J\x1b[H');
157
- // Render Ink app with error boundary
158
- // patchConsole: false prevents console.log from interfering with Ink's rendering
159
- // This is CRITICAL for Static component to work properly
160
- // debug: false reduces flickering by disabling debug output
161
- const { waitUntilExit } = render(React.createElement(ErrorBoundary, null, React.createElement(App, {
124
+ }
125
+ process.stdout.write("\x1B[2J\x1B[3J\x1B[H");
126
+ const { waitUntilExit } = render(
127
+ React.createElement(
128
+ ErrorBoundary,
129
+ null,
130
+ React.createElement(App, {
162
131
  onMessage: (msg) => cli.handleMessage(msg),
163
132
  onCancelRequest: () => cli.cancelCurrentRequest(),
164
133
  initialModel: cli.getModel(),
165
134
  initialPlanMode: cli.getPlanMode(),
166
135
  onResponseReceived: (callback) => {
167
- cli.setOnResponseCallback(callback);
136
+ cli.setOnResponseCallback(callback);
168
137
  },
169
138
  onDirectMessage: (callback) => {
170
- cli.setOnDirectMessageCallback(callback);
139
+ cli.setOnDirectMessageCallback(callback);
171
140
  },
172
141
  onResponseStream: (callback) => {
173
- cli.setOnResponseStreamCallback(callback);
142
+ cli.setOnResponseStreamCallback(callback);
174
143
  },
175
144
  onClearStreamedResponse: (callback) => {
176
- cli.setOnClearStreamedResponse(callback);
145
+ cli.setOnClearStreamedResponse(callback);
177
146
  },
178
147
  onThoughtStream: (callback) => {
179
- cli.setOnThoughtStreamCallback(callback);
148
+ cli.setOnThoughtStreamCallback(callback);
180
149
  },
181
150
  onThoughtComplete: (callback) => {
182
- cli.setOnThoughtCompleteCallback(callback);
151
+ cli.setOnThoughtCompleteCallback(callback);
183
152
  },
184
153
  onPickerSetup: (callback) => {
185
- cli.setOnShowPickerCallback(callback);
154
+ cli.setOnShowPickerCallback(callback);
186
155
  },
187
156
  onPickerSelection: (selection, type) => {
188
- return cli.handlePickerSelection(selection, type);
157
+ return cli.handlePickerSelection(selection, type);
189
158
  },
190
159
  onToolExecutionUpdate: (callback) => {
191
- cli.setOnToolExecutionUpdate(callback);
160
+ cli.setOnToolExecutionUpdate(callback);
192
161
  },
193
162
  onToolApprovalRequest: (callback) => {
194
- cli.setOnToolApprovalRequest(callback);
163
+ cli.setOnToolApprovalRequest(callback);
195
164
  },
196
165
  onToolStreamingOutput: (callback) => {
197
- cli.setOnToolStreamingOutput(callback);
166
+ cli.setOnToolStreamingOutput(callback);
198
167
  },
199
168
  onPlanModeChange: (callback) => {
200
- cli.setOnPlanModeChange(callback);
169
+ cli.setOnPlanModeChange(callback);
201
170
  },
202
171
  onPlanApprovalRequest: (callback) => {
203
- cli.setOnPlanApprovalRequest(callback);
172
+ cli.setOnPlanApprovalRequest(callback);
204
173
  },
205
174
  onPlanCreated: (callback) => {
206
- cli.setOnPlanCreated(callback);
175
+ cli.setOnPlanCreated(callback);
207
176
  },
208
177
  onTaskCompleted: (callback) => {
209
- cli.setOnTaskCompleted(callback);
178
+ cli.setOnTaskCompleted(callback);
179
+ },
180
+ onFileChangeSummary: (callback) => {
181
+ cli.setOnFileChangeSummaryCallback(callback);
210
182
  },
211
183
  onCommandModeChange: (callback) => {
212
- cli.setOnCommandModeChange(callback);
184
+ cli.setOnCommandModeChange(callback);
213
185
  },
214
186
  onToggleCommandMode: () => {
215
- cli.toggleCommandMode();
187
+ cli.toggleCommandMode();
216
188
  },
217
189
  onBackgroundModeChange: (callback) => {
218
- cli.setOnBackgroundModeChange(callback);
190
+ cli.setOnBackgroundModeChange(callback);
219
191
  },
220
192
  onToggleBackgroundMode: () => {
221
- cli.toggleBackgroundMode();
193
+ cli.toggleBackgroundMode();
222
194
  },
223
195
  onBackgroundTaskCountChange: (callback) => {
224
- cli.setOnBackgroundTaskCountChange(callback);
196
+ cli.setOnBackgroundTaskCountChange(callback);
225
197
  },
226
198
  onSubAgentCountChange: (callback) => {
227
- cli.setOnSubAgentCountChange(callback);
199
+ cli.setOnSubAgentCountChange(callback);
228
200
  },
229
201
  onSetAutoModeSetup: (callback) => {
230
- cli.setOnSetAutoMode(callback);
202
+ cli.setOnSetAutoMode(callback);
231
203
  },
232
204
  onCwdChange: (callback) => {
233
- cli.setOnCwdChange(callback);
205
+ cli.setOnCwdChange(callback);
234
206
  },
235
207
  onModelChange: (callback) => {
236
- cli.setOnModelChange(callback);
208
+ cli.setOnModelChange(callback);
237
209
  },
238
210
  onSubshellContextChange: (callback) => {
239
- cli.setOnSubshellContextChange(callback);
211
+ cli.setOnSubshellContextChange(callback);
240
212
  },
241
213
  onPasswordRequest: (callback) => {
242
- cli.setOnPasswordRequest(callback);
214
+ cli.setOnPasswordRequest(callback);
243
215
  },
244
216
  onShellInput: (input) => {
245
- cli.writeToShellStdin(input);
217
+ cli.writeToShellStdin(input);
246
218
  },
247
219
  onShellSignal: (signal) => {
248
- cli.sendSignalToShell(signal);
220
+ cli.sendSignalToShell(signal);
249
221
  },
250
222
  onKillProcess: () => {
251
- cli.killCurrentProcess();
223
+ cli.killCurrentProcess();
252
224
  },
253
225
  onInteractiveEditorMode: (callback) => {
254
- cli.setOnInteractiveEditorMode(callback);
226
+ cli.setOnInteractiveEditorMode(callback);
255
227
  },
256
228
  onConnectionStatusUpdate: (callback) => {
257
- cli.setOnConnectionStatusUpdate(callback);
229
+ cli.setOnConnectionStatusUpdate(callback);
258
230
  },
259
231
  onTokenCountUpdate: (callback) => {
260
- cli.setOnTokenCountUpdate(callback);
232
+ cli.setOnTokenCountUpdate(callback);
261
233
  },
262
234
  onContextLimitReached: (callback) => {
263
- cli.setOnContextLimitReached(callback);
235
+ cli.setOnContextLimitReached(callback);
264
236
  },
265
237
  onChatPickerSetup: (callback) => {
266
- cli.setOnShowChatPickerCallback(callback);
238
+ cli.setOnShowChatPickerCallback(callback);
267
239
  },
268
240
  onChatPickerSelection: (chatId) => {
269
- return cli.handleChatPickerSelection(chatId);
241
+ return cli.handleChatPickerSelection(chatId);
270
242
  },
271
243
  onChatDeletePickerSetup: (callback) => {
272
- cli.setOnShowChatDeletePickerCallback(callback);
244
+ cli.setOnShowChatDeletePickerCallback(callback);
273
245
  },
274
246
  onChatDeletePickerSelection: (chatId) => {
275
- return cli.handleChatDeleteSelection(chatId);
247
+ return cli.handleChatDeleteSelection(chatId);
276
248
  },
277
249
  onChatListSetup: (callback) => {
278
- cli.setOnShowChatListCallback(callback);
250
+ cli.setOnShowChatListCallback(callback);
279
251
  },
280
252
  onChatRenamePickerSetup: (callback) => {
281
- cli.setOnShowChatRenamePickerCallback(callback);
253
+ cli.setOnShowChatRenamePickerCallback(callback);
282
254
  },
283
255
  onChatRename: (chatId, newTitle) => {
284
- cli.handleChatRename(chatId, newTitle);
256
+ cli.handleChatRename(chatId, newTitle);
285
257
  },
286
258
  onRestoreMessagesSetup: (callback) => {
287
- cli.setOnRestoreMessagesCallback(callback);
259
+ cli.setOnRestoreMessagesCallback(callback);
288
260
  },
289
261
  onUIMessageHistoryUpdate: (messages) => {
290
- cli.updateUIMessageHistory(messages);
262
+ cli.updateUIMessageHistory(messages);
291
263
  },
292
264
  onBackgroundTaskListSetup: (callback) => {
293
- cli.setOnShowBackgroundTaskPickerCallback(callback);
265
+ cli.setOnShowBackgroundTaskPickerCallback(callback);
294
266
  },
295
267
  onBackgroundTaskSelection: (taskId) => {
296
- cli.handleBackgroundTaskSelection(taskId);
268
+ cli.handleBackgroundTaskSelection(taskId);
297
269
  },
298
270
  onBackgroundTaskCancelSetup: (callback) => {
299
- cli.setOnShowBackgroundTaskCancelPickerCallback(callback);
271
+ cli.setOnShowBackgroundTaskCancelPickerCallback(callback);
300
272
  },
301
273
  onBackgroundTaskCancel: (taskId) => {
302
- cli.handleBackgroundTaskCancel(taskId);
274
+ cli.handleBackgroundTaskCancel(taskId);
303
275
  },
304
276
  onBackgroundTaskViewSetup: (callback) => {
305
- cli.setOnBackgroundTaskViewCallback(callback);
277
+ cli.setOnBackgroundTaskViewCallback(callback);
306
278
  },
307
279
  onSessionQuotaUpdate: (callback) => {
308
- cli.setOnSessionQuotaUpdate(callback);
280
+ cli.setOnSessionQuotaUpdate(callback);
309
281
  },
310
282
  // MCP management callbacks
311
283
  onMCPAddScreenSetup: (callback) => {
312
- cli.setOnMCPAddScreenSetup(callback);
284
+ cli.setOnMCPAddScreenSetup(callback);
313
285
  },
314
286
  onMCPRemoveScreenSetup: (callback) => {
315
- cli.setOnMCPRemoveScreenSetup(callback);
287
+ cli.setOnMCPRemoveScreenSetup(callback);
316
288
  },
317
289
  onMCPEnableScreenSetup: (callback) => {
318
- cli.setOnMCPEnableScreenSetup(callback);
290
+ cli.setOnMCPEnableScreenSetup(callback);
319
291
  },
320
292
  onMCPDisableScreenSetup: (callback) => {
321
- cli.setOnMCPDisableScreenSetup(callback);
293
+ cli.setOnMCPDisableScreenSetup(callback);
322
294
  },
323
295
  onMCPListScreenSetup: (callback) => {
324
- cli.setOnMCPListScreenSetup(callback);
296
+ cli.setOnMCPListScreenSetup(callback);
325
297
  },
326
298
  onMCPAddServer: (config) => {
327
- return cli.mcpAddServer(config);
299
+ return cli.mcpAddServer(config);
328
300
  },
329
301
  onMCPRemoveServer: (name) => {
330
- cli.mcpRemoveServer(name);
302
+ cli.mcpRemoveServer(name);
331
303
  },
332
304
  onMCPEnableServer: (name) => {
333
- cli.mcpEnableServer(name);
305
+ cli.mcpEnableServer(name);
334
306
  },
335
307
  onMCPDisableServer: (name) => {
336
- cli.mcpDisableServer(name);
308
+ cli.mcpDisableServer(name);
337
309
  },
338
310
  onMCPValidateConfig: (jsonString) => {
339
- return cli.mcpValidateConfig(jsonString);
311
+ return cli.mcpValidateConfig(jsonString);
340
312
  },
341
313
  onPromptAnswered: (callback) => {
342
- cli.setOnPromptAnswered(callback);
314
+ cli.setOnPromptAnswered(callback);
343
315
  },
344
316
  getMainConversation: () => {
345
- return cli.getConversationHistory();
317
+ return cli.getConversationHistory();
346
318
  },
347
319
  onWarpifySession: (command, type, connectionString) => {
348
- return cli.warpifySession(command, type, connectionString);
320
+ return cli.warpifySession(command, type, connectionString);
349
321
  },
350
322
  onAiAutoSuggestChange: (callback) => {
351
- cli.setOnAiAutoSuggestChange(callback);
323
+ cli.setOnAiAutoSuggestChange(callback);
352
324
  },
353
325
  // Workflow callbacks
354
326
  onWorkflowCreatorSetup: (callback) => {
355
- cli.setOnShowWorkflowCreator(callback);
327
+ cli.setOnShowWorkflowCreator(callback);
356
328
  },
357
329
  onWorkflowSave: (name, steps, description) => {
358
- cli.saveWorkflow(name, steps, description);
330
+ cli.saveWorkflow(name, steps, description);
331
+ },
332
+ onRulesEditorSetup: (callback) => {
333
+ cli.setOnShowRulesEditor(callback);
334
+ },
335
+ onRuleSave: (name, content, previousName) => {
336
+ return cli.saveRule(name, content, previousName);
359
337
  },
360
338
  getCheckpoints: () => {
361
- return cli.getCheckpointsForAutocomplete();
339
+ return cli.getCheckpointsForAutocomplete();
362
340
  },
363
341
  onRevertToCheckpointSetup: (callback) => {
364
- cli.setOnRevertToCheckpoint(callback);
342
+ cli.setOnRevertToCheckpoint(callback);
365
343
  },
366
344
  onSetInputSetup: (callback) => {
367
- cli.setOnSetInput(callback);
345
+ cli.setOnSetInput(callback);
368
346
  },
369
347
  onInterruptQueueUpdate: (callback) => {
370
- cli.setOnInterruptQueueUpdate(callback);
348
+ cli.setOnInterruptQueueUpdate(callback);
371
349
  },
372
350
  onQueuedMessageDispatched: (callback) => {
373
- cli.setOnQueuedMessageDispatched(callback);
351
+ cli.setOnQueuedMessageDispatched(callback);
352
+ },
353
+ onCommandQueueUpdate: (callback) => {
354
+ cli.setOnCommandQueueUpdate(callback);
355
+ },
356
+ onQueuedCommandDispatched: (callback) => {
357
+ cli.setOnQueuedCommandDispatched(callback);
374
358
  }
375
- })), {
376
- patchConsole: false,
377
- exitOnCtrlC: false,
378
- debug: false
379
- });
380
- // Wait for user to exit, with a fallback mechanism
381
- // If the React component tree crashes silently or the Ink runtime enters an unexpected state,
382
- // waitUntilExit() may never resolve. This fallback ensures we can still exit via signals.
383
- const exitPromise = waitUntilExit();
384
- const fallbackPromise = new Promise((resolve) => {
385
- const signals = ['SIGINT', 'SIGTERM'];
386
- // We don't want to immediately exit on the first SIGINT if Ink is healthy
387
- // and processing it to gracefully unmount. We add a short timeout,
388
- // or just rely on the fact that if this resolves first, we exit.
389
- const signalHandler = (sig) => {
390
- logWarning(`Received ${sig} (Fallback handler triggered)`);
391
- // Give Ink a small window to gracefully exit first before we force it
392
- setTimeout(() => {
393
- resolve();
394
- }, 500).unref();
395
- signals.forEach(s => process.removeListener(s, signalHandler));
396
- };
397
- signals.forEach(sig => process.once(sig, signalHandler));
398
- });
399
- try {
400
- await Promise.race([exitPromise, fallbackPromise]);
401
- }
402
- catch (err) {
403
- logError('Ink render error', err);
404
- }
405
- finally {
406
- // Ensure all background processes and timers are terminated
407
- process.exit(0);
359
+ })
360
+ ),
361
+ {
362
+ patchConsole: false,
363
+ exitOnCtrlC: false,
364
+ debug: false
408
365
  }
366
+ );
367
+ const exitPromise = waitUntilExit();
368
+ const fallbackPromise = new Promise((resolve) => {
369
+ const signals = ["SIGINT", "SIGTERM"];
370
+ const signalHandler = (sig) => {
371
+ logWarning(`Received ${sig} (Fallback handler triggered)`);
372
+ setTimeout(() => {
373
+ resolve();
374
+ }, 500).unref();
375
+ signals.forEach((s) => process.removeListener(s, signalHandler));
376
+ };
377
+ signals.forEach((sig) => process.once(sig, signalHandler));
378
+ });
379
+ try {
380
+ await Promise.race([exitPromise, fallbackPromise]);
381
+ } catch (err) {
382
+ logError("Ink render error", err);
383
+ } finally {
384
+ process.exit(0);
385
+ }
409
386
  }
410
387
  main().catch((error) => {
411
- logError('Fatal error in main()', error);
412
- process.exit(1);
388
+ logError("Fatal error in main()", error);
389
+ process.exit(1);
413
390
  });
414
391
  //# sourceMappingURL=index.js.map