orquesta-cli 0.1.13 → 0.1.14

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 (539) hide show
  1. package/README.md +30 -4
  2. package/dist/cli.js +65 -4
  3. package/dist/core/config/config-manager.d.ts +13 -1
  4. package/dist/core/config/config-manager.js +83 -0
  5. package/dist/core/slash-command-handler.d.ts +1 -0
  6. package/dist/core/slash-command-handler.js +129 -0
  7. package/dist/orquesta/config-sync.d.ts +73 -0
  8. package/dist/orquesta/config-sync.js +230 -0
  9. package/dist/orquesta/prompt-reporter.d.ts +16 -0
  10. package/dist/orquesta/prompt-reporter.js +85 -0
  11. package/dist/setup/first-run-setup.d.ts +15 -0
  12. package/dist/setup/first-run-setup.js +238 -0
  13. package/dist/types/index.d.ts +11 -2
  14. package/dist/ui/TodoPanel.d.ts +1 -0
  15. package/dist/ui/TodoPanel.js +6 -1
  16. package/dist/ui/components/LLMSetupWizard.js +373 -7
  17. package/dist/ui/components/Logo.d.ts +2 -0
  18. package/dist/ui/components/Logo.js +10 -3
  19. package/dist/ui/components/OpenRouterModelBrowser.d.ts +13 -0
  20. package/dist/ui/components/OpenRouterModelBrowser.js +221 -0
  21. package/dist/ui/components/PlanExecuteApp.js +30 -4
  22. package/dist/ui/components/ProjectSelector.d.ts +8 -0
  23. package/dist/ui/components/ProjectSelector.js +119 -0
  24. package/dist/ui/components/StatusBar.d.ts +2 -0
  25. package/dist/ui/components/StatusBar.js +6 -1
  26. package/dist/ui/hooks/slashCommandProcessor.js +8 -4
  27. package/package.json +11 -5
  28. package/.eslintrc.json +0 -26
  29. package/.prettierrc.json +0 -10
  30. package/CLAUDE.md +0 -199
  31. package/SECURITY.md +0 -290
  32. package/TEST_LOCAL.md +0 -245
  33. package/dist/agents/base/base-agent.d.ts.map +0 -1
  34. package/dist/agents/base/base-agent.js.map +0 -1
  35. package/dist/agents/docs-search/index.d.ts.map +0 -1
  36. package/dist/agents/docs-search/index.js.map +0 -1
  37. package/dist/agents/index.d.ts.map +0 -1
  38. package/dist/agents/index.js.map +0 -1
  39. package/dist/agents/planner/index.d.ts.map +0 -1
  40. package/dist/agents/planner/index.js.map +0 -1
  41. package/dist/cli.d.ts.map +0 -1
  42. package/dist/cli.js.map +0 -1
  43. package/dist/constants.d.ts.map +0 -1
  44. package/dist/constants.js.map +0 -1
  45. package/dist/core/compact/compact-manager.d.ts.map +0 -1
  46. package/dist/core/compact/compact-manager.js.map +0 -1
  47. package/dist/core/compact/compact-prompts.d.ts.map +0 -1
  48. package/dist/core/compact/compact-prompts.js.map +0 -1
  49. package/dist/core/compact/context-tracker.d.ts.map +0 -1
  50. package/dist/core/compact/context-tracker.js.map +0 -1
  51. package/dist/core/compact/index.d.ts.map +0 -1
  52. package/dist/core/compact/index.js.map +0 -1
  53. package/dist/core/config/config-manager.d.ts.map +0 -1
  54. package/dist/core/config/config-manager.js.map +0 -1
  55. package/dist/core/config/index.d.ts.map +0 -1
  56. package/dist/core/config/index.js.map +0 -1
  57. package/dist/core/docs-manager.d.ts.map +0 -1
  58. package/dist/core/docs-manager.js.map +0 -1
  59. package/dist/core/git-auto-updater.d.ts.map +0 -1
  60. package/dist/core/git-auto-updater.js.map +0 -1
  61. package/dist/core/llm/index.d.ts.map +0 -1
  62. package/dist/core/llm/index.js.map +0 -1
  63. package/dist/core/llm/llm-client.d.ts.map +0 -1
  64. package/dist/core/llm/llm-client.js.map +0 -1
  65. package/dist/core/session/index.d.ts.map +0 -1
  66. package/dist/core/session/index.js.map +0 -1
  67. package/dist/core/session/session-manager.d.ts.map +0 -1
  68. package/dist/core/session/session-manager.js.map +0 -1
  69. package/dist/core/slash-command-handler.d.ts.map +0 -1
  70. package/dist/core/slash-command-handler.js.map +0 -1
  71. package/dist/core/usage-tracker.d.ts.map +0 -1
  72. package/dist/core/usage-tracker.js.map +0 -1
  73. package/dist/errors/base.d.ts.map +0 -1
  74. package/dist/errors/base.js.map +0 -1
  75. package/dist/errors/file.d.ts.map +0 -1
  76. package/dist/errors/file.js.map +0 -1
  77. package/dist/errors/index.d.ts.map +0 -1
  78. package/dist/errors/index.js.map +0 -1
  79. package/dist/errors/llm.d.ts.map +0 -1
  80. package/dist/errors/llm.js.map +0 -1
  81. package/dist/errors/network.d.ts.map +0 -1
  82. package/dist/errors/network.js.map +0 -1
  83. package/dist/errors/validation.d.ts.map +0 -1
  84. package/dist/errors/validation.js.map +0 -1
  85. package/dist/eval/eval-runner.d.ts.map +0 -1
  86. package/dist/eval/eval-runner.js.map +0 -1
  87. package/dist/eval/index.d.ts.map +0 -1
  88. package/dist/eval/index.js.map +0 -1
  89. package/dist/eval/types.d.ts.map +0 -1
  90. package/dist/eval/types.js.map +0 -1
  91. package/dist/index.d.ts.map +0 -1
  92. package/dist/index.js.map +0 -1
  93. package/dist/orchestration/index.d.ts.map +0 -1
  94. package/dist/orchestration/index.js.map +0 -1
  95. package/dist/orchestration/plan-executor.d.ts.map +0 -1
  96. package/dist/orchestration/plan-executor.js.map +0 -1
  97. package/dist/orchestration/types.d.ts.map +0 -1
  98. package/dist/orchestration/types.js.map +0 -1
  99. package/dist/orchestration/utils.d.ts.map +0 -1
  100. package/dist/orchestration/utils.js.map +0 -1
  101. package/dist/orquesta/connection.d.ts.map +0 -1
  102. package/dist/orquesta/connection.js.map +0 -1
  103. package/dist/prompts/agents/docs-search-decision.d.ts.map +0 -1
  104. package/dist/prompts/agents/docs-search-decision.js.map +0 -1
  105. package/dist/prompts/agents/docs-search.d.ts.map +0 -1
  106. package/dist/prompts/agents/docs-search.js.map +0 -1
  107. package/dist/prompts/agents/planning.d.ts.map +0 -1
  108. package/dist/prompts/agents/planning.js.map +0 -1
  109. package/dist/prompts/index.d.ts.map +0 -1
  110. package/dist/prompts/index.js.map +0 -1
  111. package/dist/prompts/shared/codebase-rules.d.ts.map +0 -1
  112. package/dist/prompts/shared/codebase-rules.js.map +0 -1
  113. package/dist/prompts/shared/git-rules.d.ts.map +0 -1
  114. package/dist/prompts/shared/git-rules.js.map +0 -1
  115. package/dist/prompts/shared/language-rules.d.ts.map +0 -1
  116. package/dist/prompts/shared/language-rules.js.map +0 -1
  117. package/dist/prompts/shared/tool-usage.d.ts.map +0 -1
  118. package/dist/prompts/shared/tool-usage.js.map +0 -1
  119. package/dist/prompts/system/compact.d.ts.map +0 -1
  120. package/dist/prompts/system/compact.js.map +0 -1
  121. package/dist/prompts/system/plan-execute.d.ts.map +0 -1
  122. package/dist/prompts/system/plan-execute.js.map +0 -1
  123. package/dist/tools/browser/browser-client.d.ts.map +0 -1
  124. package/dist/tools/browser/browser-client.js.map +0 -1
  125. package/dist/tools/browser/browser-tools.d.ts.map +0 -1
  126. package/dist/tools/browser/browser-tools.js.map +0 -1
  127. package/dist/tools/browser/index.d.ts.map +0 -1
  128. package/dist/tools/browser/index.js.map +0 -1
  129. package/dist/tools/index.d.ts.map +0 -1
  130. package/dist/tools/index.js.map +0 -1
  131. package/dist/tools/llm/agents/docs-search-tools.d.ts.map +0 -1
  132. package/dist/tools/llm/agents/docs-search-tools.js.map +0 -1
  133. package/dist/tools/llm/agents/index.d.ts.map +0 -1
  134. package/dist/tools/llm/agents/index.js.map +0 -1
  135. package/dist/tools/llm/index.d.ts.map +0 -1
  136. package/dist/tools/llm/index.js.map +0 -1
  137. package/dist/tools/llm/simple/ask-user-tool.d.ts.map +0 -1
  138. package/dist/tools/llm/simple/ask-user-tool.js.map +0 -1
  139. package/dist/tools/llm/simple/background-bash-tool.d.ts.map +0 -1
  140. package/dist/tools/llm/simple/background-bash-tool.js.map +0 -1
  141. package/dist/tools/llm/simple/background-powershell-tool.d.ts.map +0 -1
  142. package/dist/tools/llm/simple/background-powershell-tool.js.map +0 -1
  143. package/dist/tools/llm/simple/bash-tool.d.ts.map +0 -1
  144. package/dist/tools/llm/simple/bash-tool.js.map +0 -1
  145. package/dist/tools/llm/simple/docs-search-agent-tool.d.ts.map +0 -1
  146. package/dist/tools/llm/simple/docs-search-agent-tool.js.map +0 -1
  147. package/dist/tools/llm/simple/file-tools.d.ts.map +0 -1
  148. package/dist/tools/llm/simple/file-tools.js.map +0 -1
  149. package/dist/tools/llm/simple/final-response-tool.d.ts.map +0 -1
  150. package/dist/tools/llm/simple/final-response-tool.js.map +0 -1
  151. package/dist/tools/llm/simple/index.d.ts.map +0 -1
  152. package/dist/tools/llm/simple/index.js.map +0 -1
  153. package/dist/tools/llm/simple/planning-tools.d.ts.map +0 -1
  154. package/dist/tools/llm/simple/planning-tools.js.map +0 -1
  155. package/dist/tools/llm/simple/powershell-tool.d.ts.map +0 -1
  156. package/dist/tools/llm/simple/powershell-tool.js.map +0 -1
  157. package/dist/tools/llm/simple/simple-tool-executor.d.ts.map +0 -1
  158. package/dist/tools/llm/simple/simple-tool-executor.js.map +0 -1
  159. package/dist/tools/llm/simple/todo-tools.d.ts.map +0 -1
  160. package/dist/tools/llm/simple/todo-tools.js.map +0 -1
  161. package/dist/tools/llm/simple/user-interaction-tools.d.ts.map +0 -1
  162. package/dist/tools/llm/simple/user-interaction-tools.js.map +0 -1
  163. package/dist/tools/office/common/constants.d.ts.map +0 -1
  164. package/dist/tools/office/common/constants.js.map +0 -1
  165. package/dist/tools/office/common/index.d.ts.map +0 -1
  166. package/dist/tools/office/common/index.js.map +0 -1
  167. package/dist/tools/office/common/types.d.ts.map +0 -1
  168. package/dist/tools/office/common/types.js.map +0 -1
  169. package/dist/tools/office/common/utils.d.ts.map +0 -1
  170. package/dist/tools/office/common/utils.js.map +0 -1
  171. package/dist/tools/office/excel-client.d.ts.map +0 -1
  172. package/dist/tools/office/excel-client.js.map +0 -1
  173. package/dist/tools/office/excel-tools/cells.d.ts.map +0 -1
  174. package/dist/tools/office/excel-tools/cells.js.map +0 -1
  175. package/dist/tools/office/excel-tools/charts.d.ts.map +0 -1
  176. package/dist/tools/office/excel-tools/charts.js.map +0 -1
  177. package/dist/tools/office/excel-tools/comments.d.ts.map +0 -1
  178. package/dist/tools/office/excel-tools/comments.js.map +0 -1
  179. package/dist/tools/office/excel-tools/data-ops.d.ts.map +0 -1
  180. package/dist/tools/office/excel-tools/data-ops.js.map +0 -1
  181. package/dist/tools/office/excel-tools/export.d.ts.map +0 -1
  182. package/dist/tools/office/excel-tools/export.js.map +0 -1
  183. package/dist/tools/office/excel-tools/formatting.d.ts.map +0 -1
  184. package/dist/tools/office/excel-tools/formatting.js.map +0 -1
  185. package/dist/tools/office/excel-tools/index.d.ts.map +0 -1
  186. package/dist/tools/office/excel-tools/index.js.map +0 -1
  187. package/dist/tools/office/excel-tools/launch.d.ts.map +0 -1
  188. package/dist/tools/office/excel-tools/launch.js.map +0 -1
  189. package/dist/tools/office/excel-tools/media.d.ts.map +0 -1
  190. package/dist/tools/office/excel-tools/media.js.map +0 -1
  191. package/dist/tools/office/excel-tools/named-ranges.d.ts.map +0 -1
  192. package/dist/tools/office/excel-tools/named-ranges.js.map +0 -1
  193. package/dist/tools/office/excel-tools/protection.d.ts.map +0 -1
  194. package/dist/tools/office/excel-tools/protection.js.map +0 -1
  195. package/dist/tools/office/excel-tools/rows-columns.d.ts.map +0 -1
  196. package/dist/tools/office/excel-tools/rows-columns.js.map +0 -1
  197. package/dist/tools/office/excel-tools/sheets.d.ts.map +0 -1
  198. package/dist/tools/office/excel-tools/sheets.js.map +0 -1
  199. package/dist/tools/office/excel-tools/validation.d.ts.map +0 -1
  200. package/dist/tools/office/excel-tools/validation.js.map +0 -1
  201. package/dist/tools/office/excel-tools.d.ts.map +0 -1
  202. package/dist/tools/office/excel-tools.js.map +0 -1
  203. package/dist/tools/office/index.d.ts.map +0 -1
  204. package/dist/tools/office/index.js.map +0 -1
  205. package/dist/tools/office/office-client-base.d.ts.map +0 -1
  206. package/dist/tools/office/office-client-base.js.map +0 -1
  207. package/dist/tools/office/office-client.d.ts.map +0 -1
  208. package/dist/tools/office/office-client.js.map +0 -1
  209. package/dist/tools/office/powerpoint-client.d.ts.map +0 -1
  210. package/dist/tools/office/powerpoint-client.js.map +0 -1
  211. package/dist/tools/office/powerpoint-tools/effects.d.ts.map +0 -1
  212. package/dist/tools/office/powerpoint-tools/effects.js.map +0 -1
  213. package/dist/tools/office/powerpoint-tools/export.d.ts.map +0 -1
  214. package/dist/tools/office/powerpoint-tools/export.js.map +0 -1
  215. package/dist/tools/office/powerpoint-tools/index.d.ts.map +0 -1
  216. package/dist/tools/office/powerpoint-tools/index.js.map +0 -1
  217. package/dist/tools/office/powerpoint-tools/launch.d.ts.map +0 -1
  218. package/dist/tools/office/powerpoint-tools/launch.js.map +0 -1
  219. package/dist/tools/office/powerpoint-tools/media.d.ts.map +0 -1
  220. package/dist/tools/office/powerpoint-tools/media.js.map +0 -1
  221. package/dist/tools/office/powerpoint-tools/notes.d.ts.map +0 -1
  222. package/dist/tools/office/powerpoint-tools/notes.js.map +0 -1
  223. package/dist/tools/office/powerpoint-tools/sections.d.ts.map +0 -1
  224. package/dist/tools/office/powerpoint-tools/sections.js.map +0 -1
  225. package/dist/tools/office/powerpoint-tools/shapes.d.ts.map +0 -1
  226. package/dist/tools/office/powerpoint-tools/shapes.js.map +0 -1
  227. package/dist/tools/office/powerpoint-tools/slides.d.ts.map +0 -1
  228. package/dist/tools/office/powerpoint-tools/slides.js.map +0 -1
  229. package/dist/tools/office/powerpoint-tools/tables.d.ts.map +0 -1
  230. package/dist/tools/office/powerpoint-tools/tables.js.map +0 -1
  231. package/dist/tools/office/powerpoint-tools/text.d.ts.map +0 -1
  232. package/dist/tools/office/powerpoint-tools/text.js.map +0 -1
  233. package/dist/tools/office/powerpoint-tools.d.ts.map +0 -1
  234. package/dist/tools/office/powerpoint-tools.js.map +0 -1
  235. package/dist/tools/office/word-client.d.ts.map +0 -1
  236. package/dist/tools/office/word-client.js.map +0 -1
  237. package/dist/tools/office/word-tools/bookmarks.d.ts.map +0 -1
  238. package/dist/tools/office/word-tools/bookmarks.js.map +0 -1
  239. package/dist/tools/office/word-tools/comments.d.ts.map +0 -1
  240. package/dist/tools/office/word-tools/comments.js.map +0 -1
  241. package/dist/tools/office/word-tools/content.d.ts.map +0 -1
  242. package/dist/tools/office/word-tools/content.js.map +0 -1
  243. package/dist/tools/office/word-tools/export.d.ts.map +0 -1
  244. package/dist/tools/office/word-tools/export.js.map +0 -1
  245. package/dist/tools/office/word-tools/formatting.d.ts.map +0 -1
  246. package/dist/tools/office/word-tools/formatting.js.map +0 -1
  247. package/dist/tools/office/word-tools/headers-footers.d.ts.map +0 -1
  248. package/dist/tools/office/word-tools/headers-footers.js.map +0 -1
  249. package/dist/tools/office/word-tools/index.d.ts.map +0 -1
  250. package/dist/tools/office/word-tools/index.js.map +0 -1
  251. package/dist/tools/office/word-tools/launch.d.ts.map +0 -1
  252. package/dist/tools/office/word-tools/launch.js.map +0 -1
  253. package/dist/tools/office/word-tools/lists.d.ts.map +0 -1
  254. package/dist/tools/office/word-tools/lists.js.map +0 -1
  255. package/dist/tools/office/word-tools/navigation.d.ts.map +0 -1
  256. package/dist/tools/office/word-tools/navigation.js.map +0 -1
  257. package/dist/tools/office/word-tools/page-setup.d.ts.map +0 -1
  258. package/dist/tools/office/word-tools/page-setup.js.map +0 -1
  259. package/dist/tools/office/word-tools/tables.d.ts.map +0 -1
  260. package/dist/tools/office/word-tools/tables.js.map +0 -1
  261. package/dist/tools/office/word-tools/text.d.ts.map +0 -1
  262. package/dist/tools/office/word-tools/text.js.map +0 -1
  263. package/dist/tools/office/word-tools/undo-redo.d.ts.map +0 -1
  264. package/dist/tools/office/word-tools/undo-redo.js.map +0 -1
  265. package/dist/tools/office/word-tools/watermarks.d.ts.map +0 -1
  266. package/dist/tools/office/word-tools/watermarks.js.map +0 -1
  267. package/dist/tools/office/word-tools.d.ts.map +0 -1
  268. package/dist/tools/office/word-tools.js.map +0 -1
  269. package/dist/tools/registry.d.ts.map +0 -1
  270. package/dist/tools/registry.js.map +0 -1
  271. package/dist/tools/types.d.ts.map +0 -1
  272. package/dist/tools/types.js.map +0 -1
  273. package/dist/types/index.d.ts.map +0 -1
  274. package/dist/types/index.js.map +0 -1
  275. package/dist/ui/PlanExecuteView.d.ts.map +0 -1
  276. package/dist/ui/PlanExecuteView.js.map +0 -1
  277. package/dist/ui/TodoPanel.d.ts.map +0 -1
  278. package/dist/ui/TodoPanel.js.map +0 -1
  279. package/dist/ui/UpdateNotification.d.ts.map +0 -1
  280. package/dist/ui/UpdateNotification.js.map +0 -1
  281. package/dist/ui/components/ActivityIndicator.d.ts.map +0 -1
  282. package/dist/ui/components/ActivityIndicator.js.map +0 -1
  283. package/dist/ui/components/CommandBrowser.d.ts.map +0 -1
  284. package/dist/ui/components/CommandBrowser.js.map +0 -1
  285. package/dist/ui/components/CustomTextInput.d.ts.map +0 -1
  286. package/dist/ui/components/CustomTextInput.js.map +0 -1
  287. package/dist/ui/components/DocsSearchProgress.d.ts.map +0 -1
  288. package/dist/ui/components/DocsSearchProgress.js.map +0 -1
  289. package/dist/ui/components/FileBrowser.d.ts.map +0 -1
  290. package/dist/ui/components/FileBrowser.js.map +0 -1
  291. package/dist/ui/components/LLMSetupWizard.d.ts.map +0 -1
  292. package/dist/ui/components/LLMSetupWizard.js.map +0 -1
  293. package/dist/ui/components/Logo.d.ts.map +0 -1
  294. package/dist/ui/components/Logo.js.map +0 -1
  295. package/dist/ui/components/MarkdownRenderer.d.ts.map +0 -1
  296. package/dist/ui/components/MarkdownRenderer.js.map +0 -1
  297. package/dist/ui/components/ModelSelector.d.ts.map +0 -1
  298. package/dist/ui/components/ModelSelector.js.map +0 -1
  299. package/dist/ui/components/PlanExecuteApp.d.ts.map +0 -1
  300. package/dist/ui/components/PlanExecuteApp.js.map +0 -1
  301. package/dist/ui/components/ProgressBar.d.ts.map +0 -1
  302. package/dist/ui/components/ProgressBar.js.map +0 -1
  303. package/dist/ui/components/StatusBar.d.ts.map +0 -1
  304. package/dist/ui/components/StatusBar.js.map +0 -1
  305. package/dist/ui/components/ThinkingIndicator.d.ts.map +0 -1
  306. package/dist/ui/components/ThinkingIndicator.js.map +0 -1
  307. package/dist/ui/components/TodoListView.d.ts.map +0 -1
  308. package/dist/ui/components/TodoListView.js.map +0 -1
  309. package/dist/ui/components/ToolSelector.d.ts.map +0 -1
  310. package/dist/ui/components/ToolSelector.js.map +0 -1
  311. package/dist/ui/components/dialogs/ApprovalDialog.d.ts.map +0 -1
  312. package/dist/ui/components/dialogs/ApprovalDialog.js.map +0 -1
  313. package/dist/ui/components/dialogs/AskUserDialog.d.ts.map +0 -1
  314. package/dist/ui/components/dialogs/AskUserDialog.js.map +0 -1
  315. package/dist/ui/components/dialogs/DocsBrowser.d.ts.map +0 -1
  316. package/dist/ui/components/dialogs/DocsBrowser.js.map +0 -1
  317. package/dist/ui/components/dialogs/SettingsDialog.d.ts.map +0 -1
  318. package/dist/ui/components/dialogs/SettingsDialog.js.map +0 -1
  319. package/dist/ui/components/dialogs/index.d.ts.map +0 -1
  320. package/dist/ui/components/dialogs/index.js.map +0 -1
  321. package/dist/ui/components/index.d.ts.map +0 -1
  322. package/dist/ui/components/index.js.map +0 -1
  323. package/dist/ui/components/panels/LogPanel.d.ts.map +0 -1
  324. package/dist/ui/components/panels/LogPanel.js.map +0 -1
  325. package/dist/ui/components/panels/SessionPanel.d.ts.map +0 -1
  326. package/dist/ui/components/panels/SessionPanel.js.map +0 -1
  327. package/dist/ui/components/panels/index.d.ts.map +0 -1
  328. package/dist/ui/components/panels/index.js.map +0 -1
  329. package/dist/ui/components/views/ChatView.d.ts.map +0 -1
  330. package/dist/ui/components/views/ChatView.js.map +0 -1
  331. package/dist/ui/components/views/index.d.ts.map +0 -1
  332. package/dist/ui/components/views/index.js.map +0 -1
  333. package/dist/ui/contexts/TokenContext.d.ts.map +0 -1
  334. package/dist/ui/contexts/TokenContext.js.map +0 -1
  335. package/dist/ui/hooks/atFileProcessor.d.ts.map +0 -1
  336. package/dist/ui/hooks/atFileProcessor.js.map +0 -1
  337. package/dist/ui/hooks/index.d.ts.map +0 -1
  338. package/dist/ui/hooks/index.js.map +0 -1
  339. package/dist/ui/hooks/slashCommandProcessor.d.ts.map +0 -1
  340. package/dist/ui/hooks/slashCommandProcessor.js.map +0 -1
  341. package/dist/ui/hooks/useCommandBrowserState.d.ts.map +0 -1
  342. package/dist/ui/hooks/useCommandBrowserState.js.map +0 -1
  343. package/dist/ui/hooks/useFileBrowserState.d.ts.map +0 -1
  344. package/dist/ui/hooks/useFileBrowserState.js.map +0 -1
  345. package/dist/ui/hooks/useFileList.d.ts.map +0 -1
  346. package/dist/ui/hooks/useFileList.js.map +0 -1
  347. package/dist/ui/hooks/useInputHistory.d.ts.map +0 -1
  348. package/dist/ui/hooks/useInputHistory.js.map +0 -1
  349. package/dist/ui/hooks/usePlanExecution.d.ts.map +0 -1
  350. package/dist/ui/hooks/usePlanExecution.js.map +0 -1
  351. package/dist/ui/index.d.ts.map +0 -1
  352. package/dist/ui/index.js.map +0 -1
  353. package/dist/ui/ink-entry.d.ts.map +0 -1
  354. package/dist/ui/ink-entry.js.map +0 -1
  355. package/dist/utils/env-filter.d.ts.map +0 -1
  356. package/dist/utils/env-filter.js.map +0 -1
  357. package/dist/utils/file-system.d.ts.map +0 -1
  358. package/dist/utils/file-system.js.map +0 -1
  359. package/dist/utils/git-utils.d.ts.map +0 -1
  360. package/dist/utils/git-utils.js.map +0 -1
  361. package/dist/utils/json-stream-logger.d.ts.map +0 -1
  362. package/dist/utils/json-stream-logger.js.map +0 -1
  363. package/dist/utils/logger.d.ts.map +0 -1
  364. package/dist/utils/logger.js.map +0 -1
  365. package/dist/utils/platform-utils.d.ts.map +0 -1
  366. package/dist/utils/platform-utils.js.map +0 -1
  367. package/dist/utils/wsl-utils.d.ts.map +0 -1
  368. package/dist/utils/wsl-utils.js.map +0 -1
  369. package/electron.vite.config.ts +0 -63
  370. package/google374b9eba0c52b043.html +0 -1
  371. package/src/agents/base/base-agent.ts +0 -159
  372. package/src/agents/docs-search/index.ts +0 -365
  373. package/src/agents/index.ts +0 -34
  374. package/src/agents/planner/index.ts +0 -544
  375. package/src/cli.ts +0 -201
  376. package/src/constants.ts +0 -47
  377. package/src/core/compact/compact-manager.ts +0 -160
  378. package/src/core/compact/compact-prompts.ts +0 -150
  379. package/src/core/compact/context-tracker.ts +0 -164
  380. package/src/core/compact/index.ts +0 -25
  381. package/src/core/config/config-manager.ts +0 -460
  382. package/src/core/config/index.ts +0 -5
  383. package/src/core/docs-manager.ts +0 -678
  384. package/src/core/llm/index.ts +0 -7
  385. package/src/core/llm/llm-client.ts +0 -1550
  386. package/src/core/session/index.ts +0 -5
  387. package/src/core/session/session-manager.ts +0 -464
  388. package/src/core/slash-command-handler.ts +0 -410
  389. package/src/core/usage-tracker.ts +0 -438
  390. package/src/errors/base.ts +0 -81
  391. package/src/errors/file.ts +0 -183
  392. package/src/errors/index.ts +0 -95
  393. package/src/errors/llm.ts +0 -151
  394. package/src/errors/network.ts +0 -124
  395. package/src/errors/validation.ts +0 -111
  396. package/src/eval/eval-runner.ts +0 -456
  397. package/src/eval/index.ts +0 -8
  398. package/src/eval/types.ts +0 -139
  399. package/src/index.ts +0 -22
  400. package/src/orchestration/index.ts +0 -30
  401. package/src/orchestration/plan-executor.ts +0 -652
  402. package/src/orchestration/types.ts +0 -127
  403. package/src/orchestration/utils.ts +0 -119
  404. package/src/orquesta/connection.ts +0 -291
  405. package/src/prompts/agents/docs-search-decision.ts +0 -74
  406. package/src/prompts/agents/docs-search.ts +0 -84
  407. package/src/prompts/agents/planning.ts +0 -143
  408. package/src/prompts/index.ts +0 -31
  409. package/src/prompts/shared/codebase-rules.ts +0 -29
  410. package/src/prompts/shared/git-rules.ts +0 -94
  411. package/src/prompts/shared/language-rules.ts +0 -36
  412. package/src/prompts/shared/tool-usage.ts +0 -72
  413. package/src/prompts/system/compact.ts +0 -80
  414. package/src/prompts/system/plan-execute.ts +0 -89
  415. package/src/tools/browser/browser-client.ts +0 -1363
  416. package/src/tools/browser/browser-tools.ts +0 -1139
  417. package/src/tools/browser/index.ts +0 -65
  418. package/src/tools/index.ts +0 -23
  419. package/src/tools/llm/agents/docs-search-tools.ts +0 -368
  420. package/src/tools/llm/agents/index.ts +0 -22
  421. package/src/tools/llm/index.ts +0 -11
  422. package/src/tools/llm/simple/ask-user-tool.ts +0 -25
  423. package/src/tools/llm/simple/background-bash-tool.ts +0 -443
  424. package/src/tools/llm/simple/background-powershell-tool.ts +0 -421
  425. package/src/tools/llm/simple/bash-tool.ts +0 -238
  426. package/src/tools/llm/simple/docs-search-agent-tool.ts +0 -146
  427. package/src/tools/llm/simple/file-tools.ts +0 -1051
  428. package/src/tools/llm/simple/final-response-tool.ts +0 -180
  429. package/src/tools/llm/simple/index.ts +0 -42
  430. package/src/tools/llm/simple/planning-tools.ts +0 -143
  431. package/src/tools/llm/simple/powershell-tool.ts +0 -241
  432. package/src/tools/llm/simple/simple-tool-executor.ts +0 -279
  433. package/src/tools/llm/simple/todo-tools.ts +0 -207
  434. package/src/tools/llm/simple/user-interaction-tools.ts +0 -277
  435. package/src/tools/office/common/constants.ts +0 -335
  436. package/src/tools/office/common/index.ts +0 -133
  437. package/src/tools/office/common/types.ts +0 -286
  438. package/src/tools/office/common/utils.ts +0 -116
  439. package/src/tools/office/excel-client.ts +0 -1336
  440. package/src/tools/office/excel-tools/cells.ts +0 -359
  441. package/src/tools/office/excel-tools/charts.ts +0 -166
  442. package/src/tools/office/excel-tools/comments.ts +0 -155
  443. package/src/tools/office/excel-tools/data-ops.ts +0 -349
  444. package/src/tools/office/excel-tools/export.ts +0 -105
  445. package/src/tools/office/excel-tools/formatting.ts +0 -357
  446. package/src/tools/office/excel-tools/index.ts +0 -55
  447. package/src/tools/office/excel-tools/launch.ts +0 -303
  448. package/src/tools/office/excel-tools/media.ts +0 -117
  449. package/src/tools/office/excel-tools/named-ranges.ts +0 -148
  450. package/src/tools/office/excel-tools/protection.ts +0 -105
  451. package/src/tools/office/excel-tools/rows-columns.ts +0 -386
  452. package/src/tools/office/excel-tools/sheets.ts +0 -228
  453. package/src/tools/office/excel-tools/validation.ts +0 -226
  454. package/src/tools/office/excel-tools.ts +0 -9
  455. package/src/tools/office/index.ts +0 -259
  456. package/src/tools/office/office-client-base.ts +0 -242
  457. package/src/tools/office/office-client.ts +0 -377
  458. package/src/tools/office/powerpoint-client.ts +0 -1498
  459. package/src/tools/office/powerpoint-tools/effects.ts +0 -315
  460. package/src/tools/office/powerpoint-tools/export.ts +0 -138
  461. package/src/tools/office/powerpoint-tools/index.ts +0 -45
  462. package/src/tools/office/powerpoint-tools/launch.ts +0 -263
  463. package/src/tools/office/powerpoint-tools/media.ts +0 -291
  464. package/src/tools/office/powerpoint-tools/notes.ts +0 -220
  465. package/src/tools/office/powerpoint-tools/sections.ts +0 -140
  466. package/src/tools/office/powerpoint-tools/shapes.ts +0 -870
  467. package/src/tools/office/powerpoint-tools/slides.ts +0 -350
  468. package/src/tools/office/powerpoint-tools/tables.ts +0 -182
  469. package/src/tools/office/powerpoint-tools/text.ts +0 -473
  470. package/src/tools/office/powerpoint-tools.ts +0 -9
  471. package/src/tools/office/word-client.ts +0 -1697
  472. package/src/tools/office/word-tools/bookmarks.ts +0 -186
  473. package/src/tools/office/word-tools/comments.ts +0 -185
  474. package/src/tools/office/word-tools/content.ts +0 -229
  475. package/src/tools/office/word-tools/export.ts +0 -97
  476. package/src/tools/office/word-tools/formatting.ts +0 -161
  477. package/src/tools/office/word-tools/headers-footers.ts +0 -155
  478. package/src/tools/office/word-tools/index.ts +0 -57
  479. package/src/tools/office/word-tools/launch.ts +0 -312
  480. package/src/tools/office/word-tools/lists.ts +0 -97
  481. package/src/tools/office/word-tools/navigation.ts +0 -114
  482. package/src/tools/office/word-tools/page-setup.ts +0 -195
  483. package/src/tools/office/word-tools/tables.ts +0 -262
  484. package/src/tools/office/word-tools/text.ts +0 -294
  485. package/src/tools/office/word-tools/undo-redo.ts +0 -97
  486. package/src/tools/office/word-tools/watermarks.ts +0 -105
  487. package/src/tools/office/word-tools.ts +0 -9
  488. package/src/tools/registry.ts +0 -527
  489. package/src/tools/types.ts +0 -231
  490. package/src/types/index.ts +0 -181
  491. package/src/ui/PlanExecuteView.tsx +0 -119
  492. package/src/ui/TodoPanel.tsx +0 -240
  493. package/src/ui/UpdateNotification.tsx +0 -105
  494. package/src/ui/components/ActivityIndicator.tsx +0 -234
  495. package/src/ui/components/CommandBrowser.tsx +0 -114
  496. package/src/ui/components/CustomTextInput.tsx +0 -389
  497. package/src/ui/components/DocsSearchProgress.tsx +0 -85
  498. package/src/ui/components/FileBrowser.tsx +0 -93
  499. package/src/ui/components/LLMSetupWizard.tsx +0 -333
  500. package/src/ui/components/Logo.tsx +0 -125
  501. package/src/ui/components/MarkdownRenderer.tsx +0 -358
  502. package/src/ui/components/ModelSelector.tsx +0 -203
  503. package/src/ui/components/PlanExecuteApp.tsx +0 -2007
  504. package/src/ui/components/ProgressBar.tsx +0 -51
  505. package/src/ui/components/StatusBar.tsx +0 -302
  506. package/src/ui/components/ThinkingIndicator.tsx +0 -120
  507. package/src/ui/components/TodoListView.tsx +0 -140
  508. package/src/ui/components/ToolSelector.tsx +0 -215
  509. package/src/ui/components/dialogs/ApprovalDialog.tsx +0 -259
  510. package/src/ui/components/dialogs/AskUserDialog.tsx +0 -159
  511. package/src/ui/components/dialogs/DocsBrowser.tsx +0 -222
  512. package/src/ui/components/dialogs/SettingsDialog.tsx +0 -939
  513. package/src/ui/components/dialogs/index.ts +0 -13
  514. package/src/ui/components/index.ts +0 -27
  515. package/src/ui/components/panels/LogPanel.tsx +0 -385
  516. package/src/ui/components/panels/SessionPanel.tsx +0 -146
  517. package/src/ui/components/panels/index.ts +0 -13
  518. package/src/ui/components/views/ChatView.tsx +0 -447
  519. package/src/ui/components/views/index.ts +0 -5
  520. package/src/ui/contexts/TokenContext.tsx +0 -139
  521. package/src/ui/hooks/atFileProcessor.ts +0 -167
  522. package/src/ui/hooks/index.ts +0 -11
  523. package/src/ui/hooks/slashCommandProcessor.ts +0 -174
  524. package/src/ui/hooks/useCommandBrowserState.ts +0 -97
  525. package/src/ui/hooks/useFileBrowserState.ts +0 -116
  526. package/src/ui/hooks/useFileList.ts +0 -132
  527. package/src/ui/hooks/useInputHistory.ts +0 -89
  528. package/src/ui/hooks/usePlanExecution.ts +0 -339
  529. package/src/ui/index.ts +0 -10
  530. package/src/ui/ink-entry.tsx +0 -36
  531. package/src/utils/env-filter.ts +0 -164
  532. package/src/utils/file-system.ts +0 -133
  533. package/src/utils/git-utils.ts +0 -30
  534. package/src/utils/json-stream-logger.ts +0 -1259
  535. package/src/utils/logger.ts +0 -2767
  536. package/src/utils/platform-utils.ts +0 -256
  537. package/src/utils/wsl-utils.ts +0 -113
  538. package/tsconfig.electron.json +0 -39
  539. package/tsconfig.json +0 -64
@@ -1,51 +0,0 @@
1
- /**
2
- * Progress Bar Component
3
- *
4
- * Displays a visual progress bar for task completion
5
- */
6
-
7
- import React from 'react';
8
- import { Box, Text } from 'ink';
9
- import chalk from 'chalk';
10
-
11
- export interface ProgressBarProps {
12
- current: number;
13
- total: number;
14
- label?: string;
15
- width?: number;
16
- showPercentage?: boolean;
17
- }
18
-
19
- export const ProgressBar: React.FC<ProgressBarProps> = ({
20
- current,
21
- total,
22
- label,
23
- width = 40,
24
- showPercentage = true,
25
- }) => {
26
- const percentage = total > 0 ? Math.round((current / total) * 100) : 0;
27
- const filledWidth = Math.round((width * current) / total);
28
- const emptyWidth = width - filledWidth;
29
-
30
- const filledBar = '█'.repeat(filledWidth);
31
- const emptyBar = '░'.repeat(emptyWidth);
32
-
33
- return (
34
- <Box flexDirection="column">
35
- {label && (
36
- <Box marginBottom={0}>
37
- <Text>{label}</Text>
38
- </Box>
39
- )}
40
- <Box>
41
- <Text>
42
- {chalk.greenBright(filledBar)}
43
- {chalk.white(emptyBar)}
44
- {showPercentage && (
45
- <Text color="cyan"> {percentage}% ({current}/{total})</Text>
46
- )}
47
- </Text>
48
- </Box>
49
- </Box>
50
- );
51
- };
@@ -1,302 +0,0 @@
1
- /**
2
- * StatusBar Component
3
- *
4
- * Bottom status bar showing:
5
- * - Session info (message count, token total)
6
- * - Context usage bar
7
- * - Current time
8
- * - Keyboard shortcuts
9
- */
10
-
11
- import React, { useState, useEffect } from 'react';
12
- import { Box, Text } from 'ink';
13
- import { logger } from '../../utils/logger.js';
14
-
15
- export interface StatusBarProps {
16
- // Model and endpoint
17
- model?: string;
18
- endpoint?: string;
19
- // Working directory
20
- workingDirectory?: string;
21
- // Status
22
- status?: 'idle' | 'thinking' | 'executing' | 'error';
23
- message?: string;
24
- // Session info
25
- messageCount?: number;
26
- sessionTokens?: number;
27
- // Context usage
28
- contextUsage?: {
29
- current: number;
30
- max: number;
31
- };
32
- // Context remaining percentage for auto-compact indicator
33
- contextRemainingPercent?: number;
34
- // TODO status
35
- todoCount?: number;
36
- todoCompleted?: number;
37
- // Health status
38
- healthStatus?: 'healthy' | 'unhealthy' | 'checking' | 'unknown';
39
- // Claude Code style execution status
40
- currentActivity?: string; // Current activity updated by LLM (e.g., "Analyzing files", "Writing code")
41
- sessionElapsedSeconds?: number; // Session elapsed time
42
- }
43
-
44
- /**
45
- * Format token count
46
- */
47
- function formatTokens(count: number): string {
48
- if (count < 1000) return count.toString();
49
- if (count < 1000000) return `${(count / 1000).toFixed(1)}k`;
50
- return `${(count / 1000000).toFixed(2)}M`;
51
- }
52
-
53
- /**
54
- * Clock component with live time
55
- */
56
- const Clock: React.FC = () => {
57
- const [time, setTime] = useState(new Date());
58
-
59
- useEffect(() => {
60
- const interval = setInterval(() => {
61
- setTime(new Date());
62
- }, 1000);
63
- return () => clearInterval(interval);
64
- }, []);
65
-
66
- return (
67
- <Text color="gray">
68
- {time.toLocaleTimeString('ko-KR', { hour: '2-digit', minute: '2-digit' })}
69
- </Text>
70
- );
71
- };
72
-
73
- /**
74
- * Animated star component - pulses between large and small
75
- */
76
- const AnimatedStar: React.FC = () => {
77
- const [phase, setPhase] = useState(0);
78
-
79
- // Animation phases: ✶ (large) → ✷ (medium) → ✸ (small) → ✷ → ✶
80
- const stars = ['✶', '✷', '✸', '✷'];
81
- const colors = ['magentaBright', 'magenta', 'gray', 'magenta'] as const;
82
-
83
- useEffect(() => {
84
- const interval = setInterval(() => {
85
- setPhase(p => (p + 1) % stars.length);
86
- }, 300); // 300ms per phase = ~1.2s full cycle
87
- return () => clearInterval(interval);
88
- }, []);
89
-
90
- return (
91
- <Text color={colors[phase]} bold>
92
- {stars[phase]}{' '}
93
- </Text>
94
- );
95
- };
96
-
97
- /**
98
- * Context usage mini bar
99
- */
100
- const ContextMiniBar: React.FC<{ current: number; max: number }> = ({ current, max }) => {
101
- const percentage = Math.min(Math.round((current / max) * 100), 100);
102
- const barWidth = 8;
103
- const filled = Math.round((percentage / 100) * barWidth);
104
- const empty = barWidth - filled;
105
-
106
- // Color based on usage
107
- let color: string;
108
- if (percentage < 50) color = 'green';
109
- else if (percentage < 75) color = 'yellow';
110
- else if (percentage < 90) color = 'red';
111
- else color = 'redBright';
112
-
113
- return (
114
- <Box>
115
- <Text color={color}>{'█'.repeat(filled)}</Text>
116
- <Text color="gray">{'░'.repeat(empty)}</Text>
117
- <Text color={color}> {percentage}%</Text>
118
- </Box>
119
- );
120
- };
121
-
122
- /**
123
- * Format elapsed time (Claude Code style)
124
- */
125
- function formatElapsedTime(seconds: number): string {
126
- if (seconds < 60) {
127
- return `${seconds}s`;
128
- }
129
- const mins = Math.floor(seconds / 60);
130
- const secs = seconds % 60;
131
- return `${mins}m ${secs}s`;
132
- }
133
-
134
- export const StatusBar: React.FC<StatusBarProps> = ({
135
- model,
136
- endpoint: _endpoint,
137
- workingDirectory,
138
- status = 'idle',
139
- message: _message,
140
- messageCount = 0,
141
- sessionTokens = 0,
142
- contextUsage,
143
- contextRemainingPercent,
144
- todoCount,
145
- todoCompleted,
146
- healthStatus,
147
- currentActivity,
148
- sessionElapsedSeconds,
149
- }) => {
150
- // endpoint and message reserved for future enhanced display
151
- void _endpoint;
152
- void _message;
153
- useEffect(() => {
154
- logger.debug('StatusBar rendered', {
155
- status,
156
- messageCount,
157
- sessionTokens,
158
- });
159
- }, [status, messageCount, sessionTokens]);
160
-
161
- // Health indicator
162
- const getHealthIcon = () => {
163
- switch (healthStatus) {
164
- case 'healthy': return <Text color="green">●</Text>;
165
- case 'unhealthy': return <Text color="red">●</Text>;
166
- case 'checking': return <Text color="yellow">◐</Text>;
167
- default: return <Text color="gray">○</Text>;
168
- }
169
- };
170
-
171
- // Status indicator
172
- const getStatusIndicator = () => {
173
- switch (status) {
174
- case 'thinking':
175
- return <Text color="yellow">● THINK</Text>;
176
- case 'executing':
177
- return <Text color="green">● EXEC</Text>;
178
- case 'error':
179
- return <Text color="red">● ERR</Text>;
180
- default:
181
- return <Text color="gray">○ IDLE</Text>;
182
- }
183
- };
184
-
185
- // Claude Code style: "✶ ~ doing… (esc to interrupt · 2m 7s · ↑ 3.6k tokens)"
186
- const isActive = status === 'thinking' || status === 'executing';
187
-
188
- // Show Claude Code style status bar when executing
189
- if (isActive && currentActivity) {
190
- return (
191
- <Box justifyContent="space-between" paddingX={1}>
192
- <Box>
193
- <AnimatedStar />
194
- <Text color="white">{currentActivity}… </Text>
195
- <Text color="gray">(esc to interrupt</Text>
196
- {sessionElapsedSeconds !== undefined && (
197
- <Text color="gray"> · {formatElapsedTime(sessionElapsedSeconds)}</Text>
198
- )}
199
- {sessionTokens > 0 && (
200
- <Text color="gray"> · ↑ {formatTokens(sessionTokens)} tokens</Text>
201
- )}
202
- <Text color="gray">)</Text>
203
- </Box>
204
-
205
- {/* Right: Model */}
206
- <Box>
207
- {model && <Text color="cyan">{model.slice(0, 15)}</Text>}
208
- </Box>
209
- </Box>
210
- );
211
- }
212
-
213
- // Context remaining indicator color
214
- const getContextColor = (percent: number): string => {
215
- if (percent > 50) return 'green';
216
- if (percent > 20) return 'yellow';
217
- return 'red';
218
- };
219
-
220
- // Default status bar (idle, error, etc.)
221
- return (
222
- <Box justifyContent="space-between" paddingX={1}>
223
- {/* Left section: Context remaining, Health, Status, Model */}
224
- <Box>
225
- {/* Context remaining indicator (for auto-compact) */}
226
- {contextRemainingPercent !== undefined && (
227
- <>
228
- <Text color={getContextColor(contextRemainingPercent)}>
229
- Context {contextRemainingPercent}%
230
- </Text>
231
- <Text color="gray"> | </Text>
232
- </>
233
- )}
234
-
235
- {getHealthIcon()}
236
- <Text> </Text>
237
- {getStatusIndicator()}
238
-
239
- {/* Model name */}
240
- {model && (
241
- <>
242
- <Text color="gray"> | </Text>
243
- <Text color="cyan">{model.slice(0, 15)}</Text>
244
- </>
245
- )}
246
-
247
- {/* Working directory */}
248
- {workingDirectory && (
249
- <>
250
- <Text color="gray"> | </Text>
251
- <Text color="gray">{workingDirectory}</Text>
252
- </>
253
- )}
254
- </Box>
255
-
256
- {/* Center section: Stats */}
257
- <Box>
258
- {/* Message count */}
259
- {messageCount > 0 && (
260
- <Box marginRight={2}>
261
- <Text color="gray">💬 {messageCount}</Text>
262
- </Box>
263
- )}
264
-
265
- {/* Session tokens */}
266
- {sessionTokens > 0 && (
267
- <Box marginRight={2}>
268
- <Text color="cyan">⚡ {formatTokens(sessionTokens)}</Text>
269
- </Box>
270
- )}
271
-
272
- {/* Context usage */}
273
- {contextUsage && contextUsage.current > 0 && (
274
- <Box marginRight={2}>
275
- <Text color="gray">CTX </Text>
276
- <ContextMiniBar current={contextUsage.current} max={contextUsage.max} />
277
- </Box>
278
- )}
279
-
280
- {/* TODO mini status */}
281
- {todoCount !== undefined && todoCount > 0 && (
282
- <Box>
283
- <Text color="gray">TODO </Text>
284
- <Text color="green">{todoCompleted || 0}</Text>
285
- <Text color="gray">/{todoCount}</Text>
286
- </Box>
287
- )}
288
- </Box>
289
-
290
- {/* Right section: Shortcuts and time */}
291
- <Box>
292
- <Text color="gray" dimColor>
293
- /help
294
- </Text>
295
- <Text color="gray"> | </Text>
296
- <Clock />
297
- </Box>
298
- </Box>
299
- );
300
- };
301
-
302
- export default StatusBar;
@@ -1,120 +0,0 @@
1
- /**
2
- * ThinkingIndicator Component
3
- *
4
- * Displays AI thinking/processing status with detailed information
5
- * Similar to Claude Code's thinking indicator
6
- */
7
-
8
- import React, { useState, useEffect } from 'react';
9
- import { Box, Text } from 'ink';
10
- import Spinner from 'ink-spinner';
11
- import { logger } from '../../utils/logger.js';
12
-
13
- export type ThinkingPhase =
14
- | 'analyzing'
15
- | 'planning'
16
- | 'generating'
17
- | 'executing'
18
- | 'validating'
19
- | 'tool_calling'
20
- | 'waiting';
21
-
22
- interface ThinkingIndicatorProps {
23
- phase: ThinkingPhase;
24
- startTime: number;
25
- currentStep?: string;
26
- totalSteps?: number;
27
- completedSteps?: number;
28
- tokenCount?: number;
29
- modelName?: string;
30
- }
31
-
32
- const PHASE_INFO: Record<ThinkingPhase, { icon: string; label: string; color: string }> = {
33
- analyzing: { icon: '🔍', label: 'Analyzing', color: 'yellow' },
34
- planning: { icon: '💭', label: 'Thinking', color: 'blue' },
35
- generating: { icon: '✨', label: 'Generating', color: 'magenta' },
36
- executing: { icon: '⚡', label: 'Executing', color: 'green' },
37
- validating: { icon: '✓', label: 'Validating', color: 'cyan' },
38
- tool_calling: { icon: '🔧', label: 'Tool Call', color: 'yellow' },
39
- waiting: { icon: '⏳', label: 'Waiting', color: 'gray' },
40
- };
41
-
42
- export const ThinkingIndicator: React.FC<ThinkingIndicatorProps> = ({
43
- phase,
44
- startTime,
45
- currentStep,
46
- totalSteps,
47
- completedSteps,
48
- }) => {
49
- const [elapsedSeconds, setElapsedSeconds] = useState(0);
50
-
51
- // Log component mount
52
- useEffect(() => {
53
- logger.enter('ThinkingIndicator', { phase, startTime });
54
- return () => {
55
- logger.exit('ThinkingIndicator', { phase, elapsedSeconds });
56
- };
57
- }, []);
58
-
59
- // Log phase changes
60
- useEffect(() => {
61
- logger.flow(`ThinkingIndicator phase changed: ${phase}`);
62
- logger.vars(
63
- { name: 'phase', value: phase },
64
- { name: 'currentStep', value: currentStep },
65
- { name: 'completedSteps', value: completedSteps },
66
- { name: 'totalSteps', value: totalSteps }
67
- );
68
- }, [phase, currentStep, completedSteps, totalSteps]);
69
-
70
- // Update elapsed time every second
71
- useEffect(() => {
72
- const interval = setInterval(() => {
73
- const elapsed = Math.floor((Date.now() - startTime) / 1000);
74
- setElapsedSeconds(elapsed);
75
- }, 1000);
76
-
77
- return () => clearInterval(interval);
78
- }, [startTime]);
79
-
80
- const phaseInfo = PHASE_INFO[phase];
81
-
82
- // Format elapsed time
83
- const formatTime = (seconds: number): string => {
84
- if (seconds < 60) return `${seconds}s`;
85
- const mins = Math.floor(seconds / 60);
86
- const secs = seconds % 60;
87
- return `${mins}m ${secs}s`;
88
- };
89
-
90
- return (
91
- <Box flexDirection="column" paddingX={1}>
92
- {/* Main indicator - minimal Notion style */}
93
- <Box>
94
- <Text color="blueBright">
95
- <Spinner type="dots" />
96
- </Text>
97
- <Text color="white" bold> {phaseInfo.label}</Text>
98
- <Text color="gray" dimColor> {formatTime(elapsedSeconds)}</Text>
99
- </Box>
100
-
101
- {/* Current step info */}
102
- {currentStep && (
103
- <Box marginLeft={2}>
104
- <Text color="gray" dimColor>{currentStep}</Text>
105
- </Box>
106
- )}
107
-
108
- {/* Progress bar */}
109
- {totalSteps && completedSteps !== undefined && (
110
- <Box marginLeft={2}>
111
- <Text color="greenBright">{'▓'.repeat(Math.round((completedSteps / totalSteps) * 15))}</Text>
112
- <Text color="gray" dimColor>{'░'.repeat(15 - Math.round((completedSteps / totalSteps) * 15))}</Text>
113
- <Text color="gray" dimColor> {completedSteps}/{totalSteps}</Text>
114
- </Box>
115
- )}
116
- </Box>
117
- );
118
- };
119
-
120
- export default ThinkingIndicator;
@@ -1,140 +0,0 @@
1
- /**
2
- * TODO List View Component
3
- *
4
- * Displays TODO items with status indicators and progress bar
5
- */
6
-
7
- import React, { useEffect } from 'react';
8
- import { Box, Text } from 'ink';
9
- import Spinner from 'ink-spinner';
10
- import { TodoItem } from '../../types/index.js';
11
- import { logger } from '../../utils/logger.js';
12
-
13
- export interface TodoListViewProps {
14
- todos: TodoItem[];
15
- title?: string;
16
- showDescription?: boolean;
17
- showProgressBar?: boolean;
18
- }
19
-
20
- // Notion-style checkbox icons
21
- const STATUS_CONFIG = {
22
- completed: { icon: '☑', color: 'gray' as const },
23
- in_progress: { icon: '☐', color: 'white' as const },
24
- failed: { icon: '☒', color: 'red' as const },
25
- pending: { icon: '☐', color: 'gray' as const },
26
- };
27
-
28
- // Notion-style slim progress bar
29
- const ProgressBar: React.FC<{ completed: number; total: number; width?: number }> = ({
30
- completed,
31
- total,
32
- width = 20,
33
- }) => {
34
- const filled = total > 0 ? Math.round((completed / total) * width) : 0;
35
- const empty = width - filled;
36
-
37
- return (
38
- <Box>
39
- <Text color="greenBright">{'▓'.repeat(filled)}</Text>
40
- <Text color="gray" dimColor>{'░'.repeat(empty)}</Text>
41
- <Text color="gray" dimColor> {completed} of {total}</Text>
42
- </Box>
43
- );
44
- };
45
-
46
- export const TodoListView: React.FC<TodoListViewProps> = ({
47
- todos,
48
- showProgressBar = true,
49
- }) => {
50
- // Log component lifecycle
51
- useEffect(() => {
52
- logger.enter('TodoListView', {
53
- todoCount: todos.length,
54
- showProgressBar,
55
- });
56
- return () => {
57
- logger.exit('TodoListView', { todoCount: todos.length });
58
- };
59
- }, []);
60
-
61
- // Log when todos change
62
- useEffect(() => {
63
- const completed = todos.filter(t => t.status === 'completed').length;
64
- const inProgress = todos.filter(t => t.status === 'in_progress').length;
65
- const failed = todos.filter(t => t.status === 'failed').length;
66
-
67
- logger.debug('TodoListView todos updated', {
68
- total: todos.length,
69
- completed,
70
- inProgress,
71
- failed,
72
- });
73
- }, [todos]);
74
-
75
- const completedCount = todos.filter(t => t.status === 'completed').length;
76
- const totalCount = todos.length;
77
-
78
- if (totalCount === 0) {
79
- return null;
80
- }
81
-
82
- return (
83
- <Box flexDirection="column" paddingX={1}>
84
- {/* TODO Items - Notion style */}
85
- {todos.map((todo) => {
86
- const config = STATUS_CONFIG[todo.status] || STATUS_CONFIG.pending;
87
- const isInProgress = todo.status === 'in_progress';
88
- const isCompleted = todo.status === 'completed';
89
-
90
- return (
91
- <Box key={todo.id} flexDirection="column">
92
- <Box>
93
- {/* Checkbox icon */}
94
- <Box width={2}>
95
- {isInProgress ? (
96
- <Text color="blueBright">
97
- <Spinner type="dots2" />
98
- </Text>
99
- ) : (
100
- <Text color={config.color}>{config.icon}</Text>
101
- )}
102
- </Box>
103
-
104
- {/* Task title */}
105
- <Text
106
- color={isCompleted ? 'gray' : isInProgress ? 'white' : 'gray'}
107
- dimColor={isCompleted}
108
- strikethrough={isCompleted}
109
- bold={isInProgress}
110
- >
111
- {todo.title}
112
- </Text>
113
-
114
- {/* Current indicator */}
115
- {isInProgress && (
116
- <Text color="blueBright"> ←</Text>
117
- )}
118
- </Box>
119
-
120
- {/* Error message */}
121
- {todo.error && (
122
- <Box marginLeft={2}>
123
- <Text color="red" dimColor>⚠ {todo.error}</Text>
124
- </Box>
125
- )}
126
- </Box>
127
- );
128
- })}
129
-
130
- {/* Progress bar at bottom */}
131
- {showProgressBar && (
132
- <Box marginTop={1}>
133
- <ProgressBar completed={completedCount} total={totalCount} width={20} />
134
- </Box>
135
- )}
136
- </Box>
137
- );
138
- };
139
-
140
- export default TodoListView;