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
@@ -1,72 +1,46 @@
1
- /**
2
- * TaskProgressIndicator Component
3
- *
4
- * Displays the current execution progress during phased plan execution
5
- * Shows current task number, subtask progress, and overall completion
6
- */
7
- import React from 'react';
8
- import { Box, Text } from 'ink';
9
- export const TaskProgressIndicator = ({ currentTask, totalTasks, currentSubtask, totalSubtasks, taskDescription, compact = false }) => {
10
- // Calculate overall progress percentage
11
- const tasksComplete = currentTask - 1;
12
- const subtasksComplete = currentSubtask ? currentSubtask - 1 : 0;
13
- // For overall progress, each task is weighted equally
14
- // If we have subtask info, factor that into current task progress
15
- let overallProgress = (tasksComplete / totalTasks) * 100;
16
- if (totalSubtasks && totalSubtasks > 0) {
17
- const currentTaskProgress = (subtasksComplete / totalSubtasks) / totalTasks * 100;
18
- overallProgress += currentTaskProgress;
19
- }
20
- overallProgress = Math.round(overallProgress);
21
- // Generate progress bar
22
- const barWidth = 20;
23
- const filledWidth = Math.round((overallProgress / 100) * barWidth);
24
- const progressBar = '█'.repeat(filledWidth) + '░'.repeat(barWidth - filledWidth);
25
- if (compact) {
26
- return (React.createElement(Box, null,
27
- React.createElement(Text, { color: "#00ccff" }, "\uD83D\uDCCA "),
28
- React.createElement(Text, { color: "#888888" },
29
- "Task ",
30
- currentTask,
31
- "/",
32
- totalTasks),
33
- currentSubtask !== undefined && totalSubtasks !== undefined && (React.createElement(React.Fragment, null,
34
- React.createElement(Text, { color: "#666666" }, " | "),
35
- React.createElement(Text, { color: "#888888" },
36
- "Step ",
37
- currentSubtask,
38
- "/",
39
- totalSubtasks))),
40
- React.createElement(Text, { color: "#666666" }, " | "),
41
- React.createElement(Text, { color: "#00cc66" },
42
- overallProgress,
43
- "%")));
44
- }
45
- return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#00ccff", paddingX: 1, paddingY: 0, marginY: 0 },
46
- React.createElement(Box, null,
47
- React.createElement(Text, { color: "#00ccff", bold: true }, "\uD83D\uDCCA Progress")),
48
- React.createElement(Box, { marginTop: 0 },
49
- React.createElement(Text, { color: "#888888" }, "["),
50
- React.createElement(Text, { color: "#00cc66" }, progressBar),
51
- React.createElement(Text, { color: "#888888" }, "] "),
52
- React.createElement(Text, { color: "#00cc66", bold: true },
53
- overallProgress,
54
- "%")),
55
- React.createElement(Box, { marginTop: 0 },
56
- React.createElement(Text, { color: "#ffffff" }, "Task "),
57
- React.createElement(Text, { color: "#00ccff", bold: true }, currentTask),
58
- React.createElement(Text, { color: "#666666" }, " / "),
59
- React.createElement(Text, { color: "#888888" }, totalTasks),
60
- currentSubtask !== undefined && totalSubtasks !== undefined && (React.createElement(React.Fragment, null,
61
- React.createElement(Text, { color: "#666666" }, " \u2022 "),
62
- React.createElement(Text, { color: "#ffffff" }, "Subtask "),
63
- React.createElement(Text, { color: "#ffaa00", bold: true }, currentSubtask),
64
- React.createElement(Text, { color: "#666666" }, " / "),
65
- React.createElement(Text, { color: "#888888" }, totalSubtasks)))),
66
- taskDescription && (React.createElement(Box, { marginTop: 0 },
67
- React.createElement(Text, { color: "#666666", wrap: "truncate-end" }, taskDescription.length > 60
68
- ? taskDescription.substring(0, 60) + '...'
69
- : taskDescription)))));
1
+ import React from "react";
2
+ import { Box, Text } from "ink";
3
+ const TaskProgressIndicator = ({
4
+ currentTask,
5
+ totalTasks,
6
+ currentSubtask,
7
+ totalSubtasks,
8
+ taskDescription,
9
+ compact = false
10
+ }) => {
11
+ const tasksComplete = currentTask - 1;
12
+ const subtasksComplete = currentSubtask ? currentSubtask - 1 : 0;
13
+ let overallProgress = tasksComplete / totalTasks * 100;
14
+ if (totalSubtasks && totalSubtasks > 0) {
15
+ const currentTaskProgress = subtasksComplete / totalSubtasks / totalTasks * 100;
16
+ overallProgress += currentTaskProgress;
17
+ }
18
+ overallProgress = Math.round(overallProgress);
19
+ const barWidth = 20;
20
+ const filledWidth = Math.round(overallProgress / 100 * barWidth);
21
+ const progressBar = "\u2588".repeat(filledWidth) + "\u2591".repeat(barWidth - filledWidth);
22
+ if (compact) {
23
+ return /* @__PURE__ */ React.createElement(Box, null, /* @__PURE__ */ React.createElement(Text, { color: "#00ccff" }, "\u{1F4CA} "), /* @__PURE__ */ React.createElement(Text, { color: "#888888" }, "Task ", currentTask, "/", totalTasks), currentSubtask !== void 0 && totalSubtasks !== void 0 && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Text, { color: "#666666" }, " | "), /* @__PURE__ */ React.createElement(Text, { color: "#888888" }, "Step ", currentSubtask, "/", totalSubtasks)), /* @__PURE__ */ React.createElement(Text, { color: "#666666" }, " | "), /* @__PURE__ */ React.createElement(Text, { color: "#00cc66" }, overallProgress, "%"));
24
+ }
25
+ return /* @__PURE__ */ React.createElement(
26
+ Box,
27
+ {
28
+ flexDirection: "column",
29
+ borderStyle: "round",
30
+ borderColor: "#00ccff",
31
+ paddingX: 1,
32
+ paddingY: 0,
33
+ marginY: 0
34
+ },
35
+ /* @__PURE__ */ React.createElement(Box, null, /* @__PURE__ */ React.createElement(Text, { color: "#00ccff", bold: true }, "\u{1F4CA} Progress")),
36
+ /* @__PURE__ */ React.createElement(Box, { marginTop: 0 }, /* @__PURE__ */ React.createElement(Text, { color: "#888888" }, "["), /* @__PURE__ */ React.createElement(Text, { color: "#00cc66" }, progressBar), /* @__PURE__ */ React.createElement(Text, { color: "#888888" }, "] "), /* @__PURE__ */ React.createElement(Text, { color: "#00cc66", bold: true }, overallProgress, "%")),
37
+ /* @__PURE__ */ React.createElement(Box, { marginTop: 0 }, /* @__PURE__ */ React.createElement(Text, { color: "#ffffff" }, "Task "), /* @__PURE__ */ React.createElement(Text, { color: "#00ccff", bold: true }, currentTask), /* @__PURE__ */ React.createElement(Text, { color: "#666666" }, " / "), /* @__PURE__ */ React.createElement(Text, { color: "#888888" }, totalTasks), currentSubtask !== void 0 && totalSubtasks !== void 0 && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Text, { color: "#666666" }, " \u2022 "), /* @__PURE__ */ React.createElement(Text, { color: "#ffffff" }, "Subtask "), /* @__PURE__ */ React.createElement(Text, { color: "#ffaa00", bold: true }, currentSubtask), /* @__PURE__ */ React.createElement(Text, { color: "#666666" }, " / "), /* @__PURE__ */ React.createElement(Text, { color: "#888888" }, totalSubtasks))),
38
+ taskDescription && /* @__PURE__ */ React.createElement(Box, { marginTop: 0 }, /* @__PURE__ */ React.createElement(Text, { color: "#666666", wrap: "truncate-end" }, taskDescription.length > 60 ? taskDescription.substring(0, 60) + "..." : taskDescription))
39
+ );
40
+ };
41
+ var TaskProgressIndicator_default = TaskProgressIndicator;
42
+ export {
43
+ TaskProgressIndicator,
44
+ TaskProgressIndicator_default as default
70
45
  };
71
- export default TaskProgressIndicator;
72
46
  //# sourceMappingURL=TaskProgressIndicator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TaskProgressIndicator.js","sourceRoot":"","sources":["../../../src/ui/components/TaskProgressIndicator.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAWhC,MAAM,CAAC,MAAM,qBAAqB,GAAyC,CAAC,EACxE,WAAW,EACX,UAAU,EACV,cAAc,EACd,aAAa,EACb,eAAe,EACf,OAAO,GAAG,KAAK,EAClB,EAAE,EAAE;IACD,wCAAwC;IACxC,MAAM,aAAa,GAAG,WAAW,GAAG,CAAC,CAAC;IACtC,MAAM,gBAAgB,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjE,sDAAsD;IACtD,kEAAkE;IAClE,IAAI,eAAe,GAAG,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;IACzD,IAAI,aAAa,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,mBAAmB,GAAG,CAAC,gBAAgB,GAAG,aAAa,CAAC,GAAG,UAAU,GAAG,GAAG,CAAC;QAClF,eAAe,IAAI,mBAAmB,CAAC;IAC3C,CAAC;IACD,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAE9C,wBAAwB;IACxB,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC;IAEjF,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,CACH,oBAAC,GAAG;YACA,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,oBAAW;YAChC,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS;;gBAAO,WAAW;;gBAAG,UAAU,CAAQ;YAC3D,cAAc,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,IAAI,CAC5D;gBACI,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,UAAW;gBAChC,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS;;oBAAO,cAAc;;oBAAG,aAAa,CAAQ,CACnE,CACN;YACD,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,UAAW;YAChC,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS;gBAAE,eAAe;oBAAS,CAC7C,CACT,CAAC;IACN,CAAC;IAED,OAAO,CACH,oBAAC,GAAG,IACA,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAC,OAAO,EACnB,WAAW,EAAC,SAAS,EACrB,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,CAAC;QAEV,oBAAC,GAAG;YACA,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,IAAI,kCAAmB,CAC3C;QAEN,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC;YACb,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,QAAS;YAC9B,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,IAAE,WAAW,CAAQ;YAC1C,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,SAAU;YAC/B,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,IAAI;gBAAE,eAAe;oBAAS,CAClD;QAEN,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC;YACb,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAa;YAClC,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,IAAI,UAAE,WAAW,CAAQ;YAC/C,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,UAAW;YAChC,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,IAAE,UAAU,CAAQ;YAExC,cAAc,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,IAAI,CAC5D;gBACI,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,iBAAa;gBAClC,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,eAAgB;gBACrC,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,IAAI,UAAE,cAAc,CAAQ;gBAClD,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,UAAW;gBAChC,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,IAAE,aAAa,CAAQ,CAC7C,CACN,CACC;QAEL,eAAe,IAAI,CAChB,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC;YACb,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,IAAI,EAAC,cAAc,IACpC,eAAe,CAAC,MAAM,GAAG,EAAE;gBACxB,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;gBAC1C,CAAC,CAAC,eAAe,CAClB,CACL,CACT,CACC,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"sources":["../../../src/ui/components/TaskProgressIndicator.tsx"],"sourcesContent":["/**\r\n * TaskProgressIndicator Component\r\n * \r\n * Displays the current execution progress during phased plan execution\r\n * Shows current task number, subtask progress, and overall completion\r\n */\r\n\r\nimport React from 'react';\r\nimport { Box, Text } from 'ink';\r\n\r\ninterface TaskProgressIndicatorProps {\r\n currentTask: number;\r\n totalTasks: number;\r\n currentSubtask?: number;\r\n totalSubtasks?: number;\r\n taskDescription?: string;\r\n compact?: boolean;\r\n}\r\n\r\nexport const TaskProgressIndicator: React.FC<TaskProgressIndicatorProps> = ({\r\n currentTask,\r\n totalTasks,\r\n currentSubtask,\r\n totalSubtasks,\r\n taskDescription,\r\n compact = false\r\n}) => {\r\n // Calculate overall progress percentage\r\n const tasksComplete = currentTask - 1;\r\n const subtasksComplete = currentSubtask ? currentSubtask - 1 : 0;\r\n\r\n // For overall progress, each task is weighted equally\r\n // If we have subtask info, factor that into current task progress\r\n let overallProgress = (tasksComplete / totalTasks) * 100;\r\n if (totalSubtasks && totalSubtasks > 0) {\r\n const currentTaskProgress = (subtasksComplete / totalSubtasks) / totalTasks * 100;\r\n overallProgress += currentTaskProgress;\r\n }\r\n overallProgress = Math.round(overallProgress);\r\n\r\n // Generate progress bar\r\n const barWidth = 20;\r\n const filledWidth = Math.round((overallProgress / 100) * barWidth);\r\n const progressBar = '█'.repeat(filledWidth) + '░'.repeat(barWidth - filledWidth);\r\n\r\n if (compact) {\r\n return (\r\n <Box>\r\n <Text color=\"#00ccff\">📊 </Text>\r\n <Text color=\"#888888\">Task {currentTask}/{totalTasks}</Text>\r\n {currentSubtask !== undefined && totalSubtasks !== undefined && (\r\n <>\r\n <Text color=\"#666666\"> | </Text>\r\n <Text color=\"#888888\">Step {currentSubtask}/{totalSubtasks}</Text>\r\n </>\r\n )}\r\n <Text color=\"#666666\"> | </Text>\r\n <Text color=\"#00cc66\">{overallProgress}%</Text>\r\n </Box>\r\n );\r\n }\r\n\r\n return (\r\n <Box\r\n flexDirection=\"column\"\r\n borderStyle=\"round\"\r\n borderColor=\"#00ccff\"\r\n paddingX={1}\r\n paddingY={0}\r\n marginY={0}\r\n >\r\n <Box>\r\n <Text color=\"#00ccff\" bold>📊 Progress</Text>\r\n </Box>\r\n\r\n <Box marginTop={0}>\r\n <Text color=\"#888888\">[</Text>\r\n <Text color=\"#00cc66\">{progressBar}</Text>\r\n <Text color=\"#888888\">] </Text>\r\n <Text color=\"#00cc66\" bold>{overallProgress}%</Text>\r\n </Box>\r\n\r\n <Box marginTop={0}>\r\n <Text color=\"#ffffff\">Task </Text>\r\n <Text color=\"#00ccff\" bold>{currentTask}</Text>\r\n <Text color=\"#666666\"> / </Text>\r\n <Text color=\"#888888\">{totalTasks}</Text>\r\n\r\n {currentSubtask !== undefined && totalSubtasks !== undefined && (\r\n <>\r\n <Text color=\"#666666\"> • </Text>\r\n <Text color=\"#ffffff\">Subtask </Text>\r\n <Text color=\"#ffaa00\" bold>{currentSubtask}</Text>\r\n <Text color=\"#666666\"> / </Text>\r\n <Text color=\"#888888\">{totalSubtasks}</Text>\r\n </>\r\n )}\r\n </Box>\r\n\r\n {taskDescription && (\r\n <Box marginTop={0}>\r\n <Text color=\"#666666\" wrap=\"truncate-end\">\r\n {taskDescription.length > 60\r\n ? taskDescription.substring(0, 60) + '...'\r\n : taskDescription}\r\n </Text>\r\n </Box>\r\n )}\r\n </Box>\r\n );\r\n};\r\n\r\nexport default TaskProgressIndicator;\r\n"],"mappings":"AAOA,OAAO,WAAW;AAClB,SAAS,KAAK,YAAY;AAWnB,MAAM,wBAA8D,CAAC;AAAA,EACxE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AACd,MAAM;AAEF,QAAM,gBAAgB,cAAc;AACpC,QAAM,mBAAmB,iBAAiB,iBAAiB,IAAI;AAI/D,MAAI,kBAAmB,gBAAgB,aAAc;AACrD,MAAI,iBAAiB,gBAAgB,GAAG;AACpC,UAAM,sBAAuB,mBAAmB,gBAAiB,aAAa;AAC9E,uBAAmB;AAAA,EACvB;AACA,oBAAkB,KAAK,MAAM,eAAe;AAG5C,QAAM,WAAW;AACjB,QAAM,cAAc,KAAK,MAAO,kBAAkB,MAAO,QAAQ;AACjE,QAAM,cAAc,SAAI,OAAO,WAAW,IAAI,SAAI,OAAO,WAAW,WAAW;AAE/E,MAAI,SAAS;AACT,WACI,oCAAC,WACG,oCAAC,QAAK,OAAM,aAAU,YAAG,GACzB,oCAAC,QAAK,OAAM,aAAU,SAAM,aAAY,KAAE,UAAW,GACpD,mBAAmB,UAAa,kBAAkB,UAC/C,0DACI,oCAAC,QAAK,OAAM,aAAU,KAAG,GACzB,oCAAC,QAAK,OAAM,aAAU,SAAM,gBAAe,KAAE,aAAc,CAC/D,GAEJ,oCAAC,QAAK,OAAM,aAAU,KAAG,GACzB,oCAAC,QAAK,OAAM,aAAW,iBAAgB,GAAC,CAC5C;AAAA,EAER;AAEA,SACI;AAAA,IAAC;AAAA;AAAA,MACG,eAAc;AAAA,MACd,aAAY;AAAA,MACZ,aAAY;AAAA,MACZ,UAAU;AAAA,MACV,UAAU;AAAA,MACV,SAAS;AAAA;AAAA,IAET,oCAAC,WACG,oCAAC,QAAK,OAAM,WAAU,MAAI,QAAC,oBAAW,CAC1C;AAAA,IAEA,oCAAC,OAAI,WAAW,KACZ,oCAAC,QAAK,OAAM,aAAU,GAAC,GACvB,oCAAC,QAAK,OAAM,aAAW,WAAY,GACnC,oCAAC,QAAK,OAAM,aAAU,IAAE,GACxB,oCAAC,QAAK,OAAM,WAAU,MAAI,QAAE,iBAAgB,GAAC,CACjD;AAAA,IAEA,oCAAC,OAAI,WAAW,KACZ,oCAAC,QAAK,OAAM,aAAU,OAAK,GAC3B,oCAAC,QAAK,OAAM,WAAU,MAAI,QAAE,WAAY,GACxC,oCAAC,QAAK,OAAM,aAAU,KAAG,GACzB,oCAAC,QAAK,OAAM,aAAW,UAAW,GAEjC,mBAAmB,UAAa,kBAAkB,UAC/C,0DACI,oCAAC,QAAK,OAAM,aAAU,YAAK,GAC3B,oCAAC,QAAK,OAAM,aAAU,UAAQ,GAC9B,oCAAC,QAAK,OAAM,WAAU,MAAI,QAAE,cAAe,GAC3C,oCAAC,QAAK,OAAM,aAAU,KAAG,GACzB,oCAAC,QAAK,OAAM,aAAW,aAAc,CACzC,CAER;AAAA,IAEC,mBACG,oCAAC,OAAI,WAAW,KACZ,oCAAC,QAAK,OAAM,WAAU,MAAK,kBACtB,gBAAgB,SAAS,KACpB,gBAAgB,UAAU,GAAG,EAAE,IAAI,QACnC,eACV,CACJ;AAAA,EAER;AAER;AAEA,IAAO,gCAAQ;","names":[]}
@@ -1,43 +1,46 @@
1
- import React, { useState, useEffect } from 'react';
2
- import { Box, Text } from 'ink';
3
- /**
4
- * ThinkingDisplay - Shows model's thinking/reasoning in a scrolling container
5
- * Shows only the first 2 lines in a scrolling container that disappears after 3 seconds when complete
6
- * Height can be dynamically adjusted based on terminal size
7
- */
8
- export const ThinkingDisplay = ({ thinking, isComplete = false, maxHeight = 3 }) => {
9
- const [startTime] = useState(Date.now());
10
- const [duration, setDuration] = useState(0);
11
- const [isVisible, setIsVisible] = useState(true);
12
- useEffect(() => {
13
- if (isComplete && thinking) {
14
- const elapsed = Math.round((Date.now() - startTime) / 1000);
15
- setDuration(elapsed);
16
- // Hide after 3 seconds when complete
17
- const timer = setTimeout(() => {
18
- setIsVisible(false);
19
- }, 3000);
20
- return () => clearTimeout(timer);
21
- }
22
- }, [isComplete, thinking, startTime]);
23
- if (!thinking || thinking.trim().length === 0 || !isVisible)
24
- return null;
25
- // Split thinking into lines and filter out empty lines and "true" values
26
- const lines = thinking
27
- .split('\n')
28
- .map(line => line.trim())
29
- .filter(line => line.length > 0 && line !== 'true' && line !== 'false');
30
- // If no valid lines, don't show anything
31
- if (lines.length === 0)
32
- return null;
33
- // Show only first N lines based on maxHeight (accounting for borders)
34
- const maxDisplayLines = Math.max(1, maxHeight - 1);
35
- const displayLines = lines.slice(0, maxDisplayLines);
36
- return (React.createElement(Box, { flexDirection: "column", marginBottom: 1, paddingLeft: 1, paddingRight: 1, paddingY: 0, borderStyle: "single", borderColor: "#333333", height: maxHeight, overflow: "hidden" },
37
- displayLines.map((line, index) => (React.createElement(Text, { key: `thinking-${index}-${line.substring(0, 20)}`, dimColor: true, color: "#666666" }, line.length > 80 ? line.substring(0, 77) + '...' : line))),
38
- isComplete && (React.createElement(Text, { dimColor: true, color: "#555555" },
39
- "(",
40
- duration,
41
- "s)"))));
1
+ import React, { useState, useEffect } from "react";
2
+ import { Box, Text } from "ink";
3
+ const ThinkingDisplay = ({
4
+ thinking,
5
+ isComplete = false,
6
+ maxHeight = 3
7
+ }) => {
8
+ const [startTime] = useState(Date.now());
9
+ const [duration, setDuration] = useState(0);
10
+ const [isVisible, setIsVisible] = useState(true);
11
+ useEffect(() => {
12
+ if (isComplete && thinking) {
13
+ const elapsed = Math.round((Date.now() - startTime) / 1e3);
14
+ setDuration(elapsed);
15
+ const timer = setTimeout(() => {
16
+ setIsVisible(false);
17
+ }, 3e3);
18
+ return () => clearTimeout(timer);
19
+ }
20
+ }, [isComplete, thinking, startTime]);
21
+ if (!thinking || thinking.trim().length === 0 || !isVisible) return null;
22
+ const lines = thinking.split("\n").map((line) => line.trim()).filter((line) => line.length > 0 && line !== "true" && line !== "false");
23
+ if (lines.length === 0) return null;
24
+ const maxDisplayLines = Math.max(1, maxHeight - 1);
25
+ const displayLines = lines.slice(0, maxDisplayLines);
26
+ return /* @__PURE__ */ React.createElement(
27
+ Box,
28
+ {
29
+ flexDirection: "column",
30
+ marginBottom: 1,
31
+ paddingLeft: 1,
32
+ paddingRight: 1,
33
+ paddingY: 0,
34
+ borderStyle: "single",
35
+ borderColor: "#333333",
36
+ height: maxHeight,
37
+ overflow: "hidden"
38
+ },
39
+ displayLines.map((line, index) => /* @__PURE__ */ React.createElement(Text, { key: `thinking-${index}-${line.substring(0, 20)}`, dimColor: true, color: "#666666" }, line.length > 80 ? line.substring(0, 77) + "..." : line)),
40
+ isComplete && /* @__PURE__ */ React.createElement(Text, { dimColor: true, color: "#555555" }, "(", duration, "s)")
41
+ );
42
+ };
43
+ export {
44
+ ThinkingDisplay
42
45
  };
43
46
  //# sourceMappingURL=ThinkingDisplay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThinkingDisplay.js","sourceRoot":"","sources":["../../../src/ui/components/ThinkingDisplay.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/ui/components/ThinkingDisplay.tsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { Box, Text } from 'ink';\r\n\r\ninterface ThinkingDisplayProps {\r\n thinking: string;\r\n isComplete?: boolean;\r\n /** Optional max height for the thinking display box */\r\n maxHeight?: number;\r\n}\r\n\r\n/**\r\n * ThinkingDisplay - Shows model's thinking/reasoning in a scrolling container\r\n * Shows only the first 2 lines in a scrolling container that disappears after 3 seconds when complete\r\n * Height can be dynamically adjusted based on terminal size\r\n */\r\nexport const ThinkingDisplay: React.FC<ThinkingDisplayProps> = ({\r\n thinking,\r\n isComplete = false,\r\n maxHeight = 3\r\n}) => {\r\n const [startTime] = useState(Date.now());\r\n const [duration, setDuration] = useState(0);\r\n const [isVisible, setIsVisible] = useState(true);\r\n\r\n useEffect(() => {\r\n if (isComplete && thinking) {\r\n const elapsed = Math.round((Date.now() - startTime) / 1000);\r\n setDuration(elapsed);\r\n\r\n // Hide after 3 seconds when complete\r\n const timer = setTimeout(() => {\r\n setIsVisible(false);\r\n }, 3000);\r\n\r\n return () => clearTimeout(timer);\r\n }\r\n }, [isComplete, thinking, startTime]);\r\n\r\n if (!thinking || thinking.trim().length === 0 || !isVisible) return null;\r\n\r\n // Split thinking into lines and filter out empty lines and \"true\" values\r\n const lines = thinking\r\n .split('\\n')\r\n .map(line => line.trim())\r\n .filter(line => line.length > 0 && line !== 'true' && line !== 'false');\r\n\r\n // If no valid lines, don't show anything\r\n if (lines.length === 0) return null;\r\n\r\n // Show only first N lines based on maxHeight (accounting for borders)\r\n const maxDisplayLines = Math.max(1, maxHeight - 1);\r\n const displayLines = lines.slice(0, maxDisplayLines);\r\n\r\n return (\r\n <Box\r\n flexDirection=\"column\"\r\n marginBottom={1}\r\n paddingLeft={1}\r\n paddingRight={1}\r\n paddingY={0}\r\n borderStyle=\"single\"\r\n borderColor=\"#333333\"\r\n height={maxHeight}\r\n overflow=\"hidden\"\r\n >\r\n {displayLines.map((line, index) => (\r\n <Text key={`thinking-${index}-${line.substring(0, 20)}`} dimColor color=\"#666666\">\r\n {line.length > 80 ? line.substring(0, 77) + '...' : line}\r\n </Text>\r\n ))}\r\n {isComplete && (\r\n <Text dimColor color=\"#555555\">\r\n ({duration}s)\r\n </Text>\r\n )}\r\n </Box>\r\n );\r\n};\r\n"],"mappings":"AAAA,OAAO,SAAS,UAAU,iBAAiB;AAC3C,SAAS,KAAK,YAAY;AAcnB,MAAM,kBAAkD,CAAC;AAAA,EAC9D;AAAA,EACA,aAAa;AAAA,EACb,YAAY;AACd,MAAM;AACJ,QAAM,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC;AACvC,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,CAAC;AAC1C,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,IAAI;AAE/C,YAAU,MAAM;AACd,QAAI,cAAc,UAAU;AAC1B,YAAM,UAAU,KAAK,OAAO,KAAK,IAAI,IAAI,aAAa,GAAI;AAC1D,kBAAY,OAAO;AAGnB,YAAM,QAAQ,WAAW,MAAM;AAC7B,qBAAa,KAAK;AAAA,MACpB,GAAG,GAAI;AAEP,aAAO,MAAM,aAAa,KAAK;AAAA,IACjC;AAAA,EACF,GAAG,CAAC,YAAY,UAAU,SAAS,CAAC;AAEpC,MAAI,CAAC,YAAY,SAAS,KAAK,EAAE,WAAW,KAAK,CAAC,UAAW,QAAO;AAGpE,QAAM,QAAQ,SACX,MAAM,IAAI,EACV,IAAI,UAAQ,KAAK,KAAK,CAAC,EACvB,OAAO,UAAQ,KAAK,SAAS,KAAK,SAAS,UAAU,SAAS,OAAO;AAGxE,MAAI,MAAM,WAAW,EAAG,QAAO;AAG/B,QAAM,kBAAkB,KAAK,IAAI,GAAG,YAAY,CAAC;AACjD,QAAM,eAAe,MAAM,MAAM,GAAG,eAAe;AAEnD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAc;AAAA,MACd,cAAc;AAAA,MACd,aAAa;AAAA,MACb,cAAc;AAAA,MACd,UAAU;AAAA,MACV,aAAY;AAAA,MACZ,aAAY;AAAA,MACZ,QAAQ;AAAA,MACR,UAAS;AAAA;AAAA,IAER,aAAa,IAAI,CAAC,MAAM,UACvB,oCAAC,QAAK,KAAK,YAAY,KAAK,IAAI,KAAK,UAAU,GAAG,EAAE,CAAC,IAAI,UAAQ,MAAC,OAAM,aACrE,KAAK,SAAS,KAAK,KAAK,UAAU,GAAG,EAAE,IAAI,QAAQ,IACtD,CACD;AAAA,IACA,cACC,oCAAC,QAAK,UAAQ,MAAC,OAAM,aAAU,KAC3B,UAAS,IACb;AAAA,EAEJ;AAEJ;","names":[]}