orquesta-cli 0.1.12 → 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 (540) hide show
  1. package/README.md +30 -4
  2. package/dist/cli.js +65 -4
  3. package/dist/constants.js +1 -1
  4. package/dist/core/config/config-manager.d.ts +13 -1
  5. package/dist/core/config/config-manager.js +83 -0
  6. package/dist/core/slash-command-handler.d.ts +1 -0
  7. package/dist/core/slash-command-handler.js +129 -0
  8. package/dist/orquesta/config-sync.d.ts +73 -0
  9. package/dist/orquesta/config-sync.js +230 -0
  10. package/dist/orquesta/prompt-reporter.d.ts +16 -0
  11. package/dist/orquesta/prompt-reporter.js +85 -0
  12. package/dist/setup/first-run-setup.d.ts +15 -0
  13. package/dist/setup/first-run-setup.js +238 -0
  14. package/dist/types/index.d.ts +11 -2
  15. package/dist/ui/TodoPanel.d.ts +1 -0
  16. package/dist/ui/TodoPanel.js +6 -1
  17. package/dist/ui/components/LLMSetupWizard.js +373 -7
  18. package/dist/ui/components/Logo.d.ts +2 -0
  19. package/dist/ui/components/Logo.js +10 -3
  20. package/dist/ui/components/OpenRouterModelBrowser.d.ts +13 -0
  21. package/dist/ui/components/OpenRouterModelBrowser.js +221 -0
  22. package/dist/ui/components/PlanExecuteApp.js +30 -4
  23. package/dist/ui/components/ProjectSelector.d.ts +8 -0
  24. package/dist/ui/components/ProjectSelector.js +119 -0
  25. package/dist/ui/components/StatusBar.d.ts +2 -0
  26. package/dist/ui/components/StatusBar.js +6 -1
  27. package/dist/ui/hooks/slashCommandProcessor.js +8 -4
  28. package/package.json +11 -5
  29. package/.eslintrc.json +0 -26
  30. package/.prettierrc.json +0 -10
  31. package/CLAUDE.md +0 -199
  32. package/SECURITY.md +0 -290
  33. package/TEST_LOCAL.md +0 -245
  34. package/dist/agents/base/base-agent.d.ts.map +0 -1
  35. package/dist/agents/base/base-agent.js.map +0 -1
  36. package/dist/agents/docs-search/index.d.ts.map +0 -1
  37. package/dist/agents/docs-search/index.js.map +0 -1
  38. package/dist/agents/index.d.ts.map +0 -1
  39. package/dist/agents/index.js.map +0 -1
  40. package/dist/agents/planner/index.d.ts.map +0 -1
  41. package/dist/agents/planner/index.js.map +0 -1
  42. package/dist/cli.d.ts.map +0 -1
  43. package/dist/cli.js.map +0 -1
  44. package/dist/constants.d.ts.map +0 -1
  45. package/dist/constants.js.map +0 -1
  46. package/dist/core/compact/compact-manager.d.ts.map +0 -1
  47. package/dist/core/compact/compact-manager.js.map +0 -1
  48. package/dist/core/compact/compact-prompts.d.ts.map +0 -1
  49. package/dist/core/compact/compact-prompts.js.map +0 -1
  50. package/dist/core/compact/context-tracker.d.ts.map +0 -1
  51. package/dist/core/compact/context-tracker.js.map +0 -1
  52. package/dist/core/compact/index.d.ts.map +0 -1
  53. package/dist/core/compact/index.js.map +0 -1
  54. package/dist/core/config/config-manager.d.ts.map +0 -1
  55. package/dist/core/config/config-manager.js.map +0 -1
  56. package/dist/core/config/index.d.ts.map +0 -1
  57. package/dist/core/config/index.js.map +0 -1
  58. package/dist/core/docs-manager.d.ts.map +0 -1
  59. package/dist/core/docs-manager.js.map +0 -1
  60. package/dist/core/git-auto-updater.d.ts.map +0 -1
  61. package/dist/core/git-auto-updater.js.map +0 -1
  62. package/dist/core/llm/index.d.ts.map +0 -1
  63. package/dist/core/llm/index.js.map +0 -1
  64. package/dist/core/llm/llm-client.d.ts.map +0 -1
  65. package/dist/core/llm/llm-client.js.map +0 -1
  66. package/dist/core/session/index.d.ts.map +0 -1
  67. package/dist/core/session/index.js.map +0 -1
  68. package/dist/core/session/session-manager.d.ts.map +0 -1
  69. package/dist/core/session/session-manager.js.map +0 -1
  70. package/dist/core/slash-command-handler.d.ts.map +0 -1
  71. package/dist/core/slash-command-handler.js.map +0 -1
  72. package/dist/core/usage-tracker.d.ts.map +0 -1
  73. package/dist/core/usage-tracker.js.map +0 -1
  74. package/dist/errors/base.d.ts.map +0 -1
  75. package/dist/errors/base.js.map +0 -1
  76. package/dist/errors/file.d.ts.map +0 -1
  77. package/dist/errors/file.js.map +0 -1
  78. package/dist/errors/index.d.ts.map +0 -1
  79. package/dist/errors/index.js.map +0 -1
  80. package/dist/errors/llm.d.ts.map +0 -1
  81. package/dist/errors/llm.js.map +0 -1
  82. package/dist/errors/network.d.ts.map +0 -1
  83. package/dist/errors/network.js.map +0 -1
  84. package/dist/errors/validation.d.ts.map +0 -1
  85. package/dist/errors/validation.js.map +0 -1
  86. package/dist/eval/eval-runner.d.ts.map +0 -1
  87. package/dist/eval/eval-runner.js.map +0 -1
  88. package/dist/eval/index.d.ts.map +0 -1
  89. package/dist/eval/index.js.map +0 -1
  90. package/dist/eval/types.d.ts.map +0 -1
  91. package/dist/eval/types.js.map +0 -1
  92. package/dist/index.d.ts.map +0 -1
  93. package/dist/index.js.map +0 -1
  94. package/dist/orchestration/index.d.ts.map +0 -1
  95. package/dist/orchestration/index.js.map +0 -1
  96. package/dist/orchestration/plan-executor.d.ts.map +0 -1
  97. package/dist/orchestration/plan-executor.js.map +0 -1
  98. package/dist/orchestration/types.d.ts.map +0 -1
  99. package/dist/orchestration/types.js.map +0 -1
  100. package/dist/orchestration/utils.d.ts.map +0 -1
  101. package/dist/orchestration/utils.js.map +0 -1
  102. package/dist/orquesta/connection.d.ts.map +0 -1
  103. package/dist/orquesta/connection.js.map +0 -1
  104. package/dist/prompts/agents/docs-search-decision.d.ts.map +0 -1
  105. package/dist/prompts/agents/docs-search-decision.js.map +0 -1
  106. package/dist/prompts/agents/docs-search.d.ts.map +0 -1
  107. package/dist/prompts/agents/docs-search.js.map +0 -1
  108. package/dist/prompts/agents/planning.d.ts.map +0 -1
  109. package/dist/prompts/agents/planning.js.map +0 -1
  110. package/dist/prompts/index.d.ts.map +0 -1
  111. package/dist/prompts/index.js.map +0 -1
  112. package/dist/prompts/shared/codebase-rules.d.ts.map +0 -1
  113. package/dist/prompts/shared/codebase-rules.js.map +0 -1
  114. package/dist/prompts/shared/git-rules.d.ts.map +0 -1
  115. package/dist/prompts/shared/git-rules.js.map +0 -1
  116. package/dist/prompts/shared/language-rules.d.ts.map +0 -1
  117. package/dist/prompts/shared/language-rules.js.map +0 -1
  118. package/dist/prompts/shared/tool-usage.d.ts.map +0 -1
  119. package/dist/prompts/shared/tool-usage.js.map +0 -1
  120. package/dist/prompts/system/compact.d.ts.map +0 -1
  121. package/dist/prompts/system/compact.js.map +0 -1
  122. package/dist/prompts/system/plan-execute.d.ts.map +0 -1
  123. package/dist/prompts/system/plan-execute.js.map +0 -1
  124. package/dist/tools/browser/browser-client.d.ts.map +0 -1
  125. package/dist/tools/browser/browser-client.js.map +0 -1
  126. package/dist/tools/browser/browser-tools.d.ts.map +0 -1
  127. package/dist/tools/browser/browser-tools.js.map +0 -1
  128. package/dist/tools/browser/index.d.ts.map +0 -1
  129. package/dist/tools/browser/index.js.map +0 -1
  130. package/dist/tools/index.d.ts.map +0 -1
  131. package/dist/tools/index.js.map +0 -1
  132. package/dist/tools/llm/agents/docs-search-tools.d.ts.map +0 -1
  133. package/dist/tools/llm/agents/docs-search-tools.js.map +0 -1
  134. package/dist/tools/llm/agents/index.d.ts.map +0 -1
  135. package/dist/tools/llm/agents/index.js.map +0 -1
  136. package/dist/tools/llm/index.d.ts.map +0 -1
  137. package/dist/tools/llm/index.js.map +0 -1
  138. package/dist/tools/llm/simple/ask-user-tool.d.ts.map +0 -1
  139. package/dist/tools/llm/simple/ask-user-tool.js.map +0 -1
  140. package/dist/tools/llm/simple/background-bash-tool.d.ts.map +0 -1
  141. package/dist/tools/llm/simple/background-bash-tool.js.map +0 -1
  142. package/dist/tools/llm/simple/background-powershell-tool.d.ts.map +0 -1
  143. package/dist/tools/llm/simple/background-powershell-tool.js.map +0 -1
  144. package/dist/tools/llm/simple/bash-tool.d.ts.map +0 -1
  145. package/dist/tools/llm/simple/bash-tool.js.map +0 -1
  146. package/dist/tools/llm/simple/docs-search-agent-tool.d.ts.map +0 -1
  147. package/dist/tools/llm/simple/docs-search-agent-tool.js.map +0 -1
  148. package/dist/tools/llm/simple/file-tools.d.ts.map +0 -1
  149. package/dist/tools/llm/simple/file-tools.js.map +0 -1
  150. package/dist/tools/llm/simple/final-response-tool.d.ts.map +0 -1
  151. package/dist/tools/llm/simple/final-response-tool.js.map +0 -1
  152. package/dist/tools/llm/simple/index.d.ts.map +0 -1
  153. package/dist/tools/llm/simple/index.js.map +0 -1
  154. package/dist/tools/llm/simple/planning-tools.d.ts.map +0 -1
  155. package/dist/tools/llm/simple/planning-tools.js.map +0 -1
  156. package/dist/tools/llm/simple/powershell-tool.d.ts.map +0 -1
  157. package/dist/tools/llm/simple/powershell-tool.js.map +0 -1
  158. package/dist/tools/llm/simple/simple-tool-executor.d.ts.map +0 -1
  159. package/dist/tools/llm/simple/simple-tool-executor.js.map +0 -1
  160. package/dist/tools/llm/simple/todo-tools.d.ts.map +0 -1
  161. package/dist/tools/llm/simple/todo-tools.js.map +0 -1
  162. package/dist/tools/llm/simple/user-interaction-tools.d.ts.map +0 -1
  163. package/dist/tools/llm/simple/user-interaction-tools.js.map +0 -1
  164. package/dist/tools/office/common/constants.d.ts.map +0 -1
  165. package/dist/tools/office/common/constants.js.map +0 -1
  166. package/dist/tools/office/common/index.d.ts.map +0 -1
  167. package/dist/tools/office/common/index.js.map +0 -1
  168. package/dist/tools/office/common/types.d.ts.map +0 -1
  169. package/dist/tools/office/common/types.js.map +0 -1
  170. package/dist/tools/office/common/utils.d.ts.map +0 -1
  171. package/dist/tools/office/common/utils.js.map +0 -1
  172. package/dist/tools/office/excel-client.d.ts.map +0 -1
  173. package/dist/tools/office/excel-client.js.map +0 -1
  174. package/dist/tools/office/excel-tools/cells.d.ts.map +0 -1
  175. package/dist/tools/office/excel-tools/cells.js.map +0 -1
  176. package/dist/tools/office/excel-tools/charts.d.ts.map +0 -1
  177. package/dist/tools/office/excel-tools/charts.js.map +0 -1
  178. package/dist/tools/office/excel-tools/comments.d.ts.map +0 -1
  179. package/dist/tools/office/excel-tools/comments.js.map +0 -1
  180. package/dist/tools/office/excel-tools/data-ops.d.ts.map +0 -1
  181. package/dist/tools/office/excel-tools/data-ops.js.map +0 -1
  182. package/dist/tools/office/excel-tools/export.d.ts.map +0 -1
  183. package/dist/tools/office/excel-tools/export.js.map +0 -1
  184. package/dist/tools/office/excel-tools/formatting.d.ts.map +0 -1
  185. package/dist/tools/office/excel-tools/formatting.js.map +0 -1
  186. package/dist/tools/office/excel-tools/index.d.ts.map +0 -1
  187. package/dist/tools/office/excel-tools/index.js.map +0 -1
  188. package/dist/tools/office/excel-tools/launch.d.ts.map +0 -1
  189. package/dist/tools/office/excel-tools/launch.js.map +0 -1
  190. package/dist/tools/office/excel-tools/media.d.ts.map +0 -1
  191. package/dist/tools/office/excel-tools/media.js.map +0 -1
  192. package/dist/tools/office/excel-tools/named-ranges.d.ts.map +0 -1
  193. package/dist/tools/office/excel-tools/named-ranges.js.map +0 -1
  194. package/dist/tools/office/excel-tools/protection.d.ts.map +0 -1
  195. package/dist/tools/office/excel-tools/protection.js.map +0 -1
  196. package/dist/tools/office/excel-tools/rows-columns.d.ts.map +0 -1
  197. package/dist/tools/office/excel-tools/rows-columns.js.map +0 -1
  198. package/dist/tools/office/excel-tools/sheets.d.ts.map +0 -1
  199. package/dist/tools/office/excel-tools/sheets.js.map +0 -1
  200. package/dist/tools/office/excel-tools/validation.d.ts.map +0 -1
  201. package/dist/tools/office/excel-tools/validation.js.map +0 -1
  202. package/dist/tools/office/excel-tools.d.ts.map +0 -1
  203. package/dist/tools/office/excel-tools.js.map +0 -1
  204. package/dist/tools/office/index.d.ts.map +0 -1
  205. package/dist/tools/office/index.js.map +0 -1
  206. package/dist/tools/office/office-client-base.d.ts.map +0 -1
  207. package/dist/tools/office/office-client-base.js.map +0 -1
  208. package/dist/tools/office/office-client.d.ts.map +0 -1
  209. package/dist/tools/office/office-client.js.map +0 -1
  210. package/dist/tools/office/powerpoint-client.d.ts.map +0 -1
  211. package/dist/tools/office/powerpoint-client.js.map +0 -1
  212. package/dist/tools/office/powerpoint-tools/effects.d.ts.map +0 -1
  213. package/dist/tools/office/powerpoint-tools/effects.js.map +0 -1
  214. package/dist/tools/office/powerpoint-tools/export.d.ts.map +0 -1
  215. package/dist/tools/office/powerpoint-tools/export.js.map +0 -1
  216. package/dist/tools/office/powerpoint-tools/index.d.ts.map +0 -1
  217. package/dist/tools/office/powerpoint-tools/index.js.map +0 -1
  218. package/dist/tools/office/powerpoint-tools/launch.d.ts.map +0 -1
  219. package/dist/tools/office/powerpoint-tools/launch.js.map +0 -1
  220. package/dist/tools/office/powerpoint-tools/media.d.ts.map +0 -1
  221. package/dist/tools/office/powerpoint-tools/media.js.map +0 -1
  222. package/dist/tools/office/powerpoint-tools/notes.d.ts.map +0 -1
  223. package/dist/tools/office/powerpoint-tools/notes.js.map +0 -1
  224. package/dist/tools/office/powerpoint-tools/sections.d.ts.map +0 -1
  225. package/dist/tools/office/powerpoint-tools/sections.js.map +0 -1
  226. package/dist/tools/office/powerpoint-tools/shapes.d.ts.map +0 -1
  227. package/dist/tools/office/powerpoint-tools/shapes.js.map +0 -1
  228. package/dist/tools/office/powerpoint-tools/slides.d.ts.map +0 -1
  229. package/dist/tools/office/powerpoint-tools/slides.js.map +0 -1
  230. package/dist/tools/office/powerpoint-tools/tables.d.ts.map +0 -1
  231. package/dist/tools/office/powerpoint-tools/tables.js.map +0 -1
  232. package/dist/tools/office/powerpoint-tools/text.d.ts.map +0 -1
  233. package/dist/tools/office/powerpoint-tools/text.js.map +0 -1
  234. package/dist/tools/office/powerpoint-tools.d.ts.map +0 -1
  235. package/dist/tools/office/powerpoint-tools.js.map +0 -1
  236. package/dist/tools/office/word-client.d.ts.map +0 -1
  237. package/dist/tools/office/word-client.js.map +0 -1
  238. package/dist/tools/office/word-tools/bookmarks.d.ts.map +0 -1
  239. package/dist/tools/office/word-tools/bookmarks.js.map +0 -1
  240. package/dist/tools/office/word-tools/comments.d.ts.map +0 -1
  241. package/dist/tools/office/word-tools/comments.js.map +0 -1
  242. package/dist/tools/office/word-tools/content.d.ts.map +0 -1
  243. package/dist/tools/office/word-tools/content.js.map +0 -1
  244. package/dist/tools/office/word-tools/export.d.ts.map +0 -1
  245. package/dist/tools/office/word-tools/export.js.map +0 -1
  246. package/dist/tools/office/word-tools/formatting.d.ts.map +0 -1
  247. package/dist/tools/office/word-tools/formatting.js.map +0 -1
  248. package/dist/tools/office/word-tools/headers-footers.d.ts.map +0 -1
  249. package/dist/tools/office/word-tools/headers-footers.js.map +0 -1
  250. package/dist/tools/office/word-tools/index.d.ts.map +0 -1
  251. package/dist/tools/office/word-tools/index.js.map +0 -1
  252. package/dist/tools/office/word-tools/launch.d.ts.map +0 -1
  253. package/dist/tools/office/word-tools/launch.js.map +0 -1
  254. package/dist/tools/office/word-tools/lists.d.ts.map +0 -1
  255. package/dist/tools/office/word-tools/lists.js.map +0 -1
  256. package/dist/tools/office/word-tools/navigation.d.ts.map +0 -1
  257. package/dist/tools/office/word-tools/navigation.js.map +0 -1
  258. package/dist/tools/office/word-tools/page-setup.d.ts.map +0 -1
  259. package/dist/tools/office/word-tools/page-setup.js.map +0 -1
  260. package/dist/tools/office/word-tools/tables.d.ts.map +0 -1
  261. package/dist/tools/office/word-tools/tables.js.map +0 -1
  262. package/dist/tools/office/word-tools/text.d.ts.map +0 -1
  263. package/dist/tools/office/word-tools/text.js.map +0 -1
  264. package/dist/tools/office/word-tools/undo-redo.d.ts.map +0 -1
  265. package/dist/tools/office/word-tools/undo-redo.js.map +0 -1
  266. package/dist/tools/office/word-tools/watermarks.d.ts.map +0 -1
  267. package/dist/tools/office/word-tools/watermarks.js.map +0 -1
  268. package/dist/tools/office/word-tools.d.ts.map +0 -1
  269. package/dist/tools/office/word-tools.js.map +0 -1
  270. package/dist/tools/registry.d.ts.map +0 -1
  271. package/dist/tools/registry.js.map +0 -1
  272. package/dist/tools/types.d.ts.map +0 -1
  273. package/dist/tools/types.js.map +0 -1
  274. package/dist/types/index.d.ts.map +0 -1
  275. package/dist/types/index.js.map +0 -1
  276. package/dist/ui/PlanExecuteView.d.ts.map +0 -1
  277. package/dist/ui/PlanExecuteView.js.map +0 -1
  278. package/dist/ui/TodoPanel.d.ts.map +0 -1
  279. package/dist/ui/TodoPanel.js.map +0 -1
  280. package/dist/ui/UpdateNotification.d.ts.map +0 -1
  281. package/dist/ui/UpdateNotification.js.map +0 -1
  282. package/dist/ui/components/ActivityIndicator.d.ts.map +0 -1
  283. package/dist/ui/components/ActivityIndicator.js.map +0 -1
  284. package/dist/ui/components/CommandBrowser.d.ts.map +0 -1
  285. package/dist/ui/components/CommandBrowser.js.map +0 -1
  286. package/dist/ui/components/CustomTextInput.d.ts.map +0 -1
  287. package/dist/ui/components/CustomTextInput.js.map +0 -1
  288. package/dist/ui/components/DocsSearchProgress.d.ts.map +0 -1
  289. package/dist/ui/components/DocsSearchProgress.js.map +0 -1
  290. package/dist/ui/components/FileBrowser.d.ts.map +0 -1
  291. package/dist/ui/components/FileBrowser.js.map +0 -1
  292. package/dist/ui/components/LLMSetupWizard.d.ts.map +0 -1
  293. package/dist/ui/components/LLMSetupWizard.js.map +0 -1
  294. package/dist/ui/components/Logo.d.ts.map +0 -1
  295. package/dist/ui/components/Logo.js.map +0 -1
  296. package/dist/ui/components/MarkdownRenderer.d.ts.map +0 -1
  297. package/dist/ui/components/MarkdownRenderer.js.map +0 -1
  298. package/dist/ui/components/ModelSelector.d.ts.map +0 -1
  299. package/dist/ui/components/ModelSelector.js.map +0 -1
  300. package/dist/ui/components/PlanExecuteApp.d.ts.map +0 -1
  301. package/dist/ui/components/PlanExecuteApp.js.map +0 -1
  302. package/dist/ui/components/ProgressBar.d.ts.map +0 -1
  303. package/dist/ui/components/ProgressBar.js.map +0 -1
  304. package/dist/ui/components/StatusBar.d.ts.map +0 -1
  305. package/dist/ui/components/StatusBar.js.map +0 -1
  306. package/dist/ui/components/ThinkingIndicator.d.ts.map +0 -1
  307. package/dist/ui/components/ThinkingIndicator.js.map +0 -1
  308. package/dist/ui/components/TodoListView.d.ts.map +0 -1
  309. package/dist/ui/components/TodoListView.js.map +0 -1
  310. package/dist/ui/components/ToolSelector.d.ts.map +0 -1
  311. package/dist/ui/components/ToolSelector.js.map +0 -1
  312. package/dist/ui/components/dialogs/ApprovalDialog.d.ts.map +0 -1
  313. package/dist/ui/components/dialogs/ApprovalDialog.js.map +0 -1
  314. package/dist/ui/components/dialogs/AskUserDialog.d.ts.map +0 -1
  315. package/dist/ui/components/dialogs/AskUserDialog.js.map +0 -1
  316. package/dist/ui/components/dialogs/DocsBrowser.d.ts.map +0 -1
  317. package/dist/ui/components/dialogs/DocsBrowser.js.map +0 -1
  318. package/dist/ui/components/dialogs/SettingsDialog.d.ts.map +0 -1
  319. package/dist/ui/components/dialogs/SettingsDialog.js.map +0 -1
  320. package/dist/ui/components/dialogs/index.d.ts.map +0 -1
  321. package/dist/ui/components/dialogs/index.js.map +0 -1
  322. package/dist/ui/components/index.d.ts.map +0 -1
  323. package/dist/ui/components/index.js.map +0 -1
  324. package/dist/ui/components/panels/LogPanel.d.ts.map +0 -1
  325. package/dist/ui/components/panels/LogPanel.js.map +0 -1
  326. package/dist/ui/components/panels/SessionPanel.d.ts.map +0 -1
  327. package/dist/ui/components/panels/SessionPanel.js.map +0 -1
  328. package/dist/ui/components/panels/index.d.ts.map +0 -1
  329. package/dist/ui/components/panels/index.js.map +0 -1
  330. package/dist/ui/components/views/ChatView.d.ts.map +0 -1
  331. package/dist/ui/components/views/ChatView.js.map +0 -1
  332. package/dist/ui/components/views/index.d.ts.map +0 -1
  333. package/dist/ui/components/views/index.js.map +0 -1
  334. package/dist/ui/contexts/TokenContext.d.ts.map +0 -1
  335. package/dist/ui/contexts/TokenContext.js.map +0 -1
  336. package/dist/ui/hooks/atFileProcessor.d.ts.map +0 -1
  337. package/dist/ui/hooks/atFileProcessor.js.map +0 -1
  338. package/dist/ui/hooks/index.d.ts.map +0 -1
  339. package/dist/ui/hooks/index.js.map +0 -1
  340. package/dist/ui/hooks/slashCommandProcessor.d.ts.map +0 -1
  341. package/dist/ui/hooks/slashCommandProcessor.js.map +0 -1
  342. package/dist/ui/hooks/useCommandBrowserState.d.ts.map +0 -1
  343. package/dist/ui/hooks/useCommandBrowserState.js.map +0 -1
  344. package/dist/ui/hooks/useFileBrowserState.d.ts.map +0 -1
  345. package/dist/ui/hooks/useFileBrowserState.js.map +0 -1
  346. package/dist/ui/hooks/useFileList.d.ts.map +0 -1
  347. package/dist/ui/hooks/useFileList.js.map +0 -1
  348. package/dist/ui/hooks/useInputHistory.d.ts.map +0 -1
  349. package/dist/ui/hooks/useInputHistory.js.map +0 -1
  350. package/dist/ui/hooks/usePlanExecution.d.ts.map +0 -1
  351. package/dist/ui/hooks/usePlanExecution.js.map +0 -1
  352. package/dist/ui/index.d.ts.map +0 -1
  353. package/dist/ui/index.js.map +0 -1
  354. package/dist/ui/ink-entry.d.ts.map +0 -1
  355. package/dist/ui/ink-entry.js.map +0 -1
  356. package/dist/utils/env-filter.d.ts.map +0 -1
  357. package/dist/utils/env-filter.js.map +0 -1
  358. package/dist/utils/file-system.d.ts.map +0 -1
  359. package/dist/utils/file-system.js.map +0 -1
  360. package/dist/utils/git-utils.d.ts.map +0 -1
  361. package/dist/utils/git-utils.js.map +0 -1
  362. package/dist/utils/json-stream-logger.d.ts.map +0 -1
  363. package/dist/utils/json-stream-logger.js.map +0 -1
  364. package/dist/utils/logger.d.ts.map +0 -1
  365. package/dist/utils/logger.js.map +0 -1
  366. package/dist/utils/platform-utils.d.ts.map +0 -1
  367. package/dist/utils/platform-utils.js.map +0 -1
  368. package/dist/utils/wsl-utils.d.ts.map +0 -1
  369. package/dist/utils/wsl-utils.js.map +0 -1
  370. package/electron.vite.config.ts +0 -63
  371. package/google374b9eba0c52b043.html +0 -1
  372. package/src/agents/base/base-agent.ts +0 -159
  373. package/src/agents/docs-search/index.ts +0 -365
  374. package/src/agents/index.ts +0 -34
  375. package/src/agents/planner/index.ts +0 -544
  376. package/src/cli.ts +0 -201
  377. package/src/constants.ts +0 -47
  378. package/src/core/compact/compact-manager.ts +0 -160
  379. package/src/core/compact/compact-prompts.ts +0 -150
  380. package/src/core/compact/context-tracker.ts +0 -164
  381. package/src/core/compact/index.ts +0 -25
  382. package/src/core/config/config-manager.ts +0 -460
  383. package/src/core/config/index.ts +0 -5
  384. package/src/core/docs-manager.ts +0 -678
  385. package/src/core/llm/index.ts +0 -7
  386. package/src/core/llm/llm-client.ts +0 -1550
  387. package/src/core/session/index.ts +0 -5
  388. package/src/core/session/session-manager.ts +0 -464
  389. package/src/core/slash-command-handler.ts +0 -410
  390. package/src/core/usage-tracker.ts +0 -438
  391. package/src/errors/base.ts +0 -81
  392. package/src/errors/file.ts +0 -183
  393. package/src/errors/index.ts +0 -95
  394. package/src/errors/llm.ts +0 -151
  395. package/src/errors/network.ts +0 -124
  396. package/src/errors/validation.ts +0 -111
  397. package/src/eval/eval-runner.ts +0 -456
  398. package/src/eval/index.ts +0 -8
  399. package/src/eval/types.ts +0 -139
  400. package/src/index.ts +0 -22
  401. package/src/orchestration/index.ts +0 -30
  402. package/src/orchestration/plan-executor.ts +0 -652
  403. package/src/orchestration/types.ts +0 -127
  404. package/src/orchestration/utils.ts +0 -119
  405. package/src/orquesta/connection.ts +0 -291
  406. package/src/prompts/agents/docs-search-decision.ts +0 -74
  407. package/src/prompts/agents/docs-search.ts +0 -84
  408. package/src/prompts/agents/planning.ts +0 -143
  409. package/src/prompts/index.ts +0 -31
  410. package/src/prompts/shared/codebase-rules.ts +0 -29
  411. package/src/prompts/shared/git-rules.ts +0 -94
  412. package/src/prompts/shared/language-rules.ts +0 -36
  413. package/src/prompts/shared/tool-usage.ts +0 -72
  414. package/src/prompts/system/compact.ts +0 -80
  415. package/src/prompts/system/plan-execute.ts +0 -89
  416. package/src/tools/browser/browser-client.ts +0 -1363
  417. package/src/tools/browser/browser-tools.ts +0 -1139
  418. package/src/tools/browser/index.ts +0 -65
  419. package/src/tools/index.ts +0 -23
  420. package/src/tools/llm/agents/docs-search-tools.ts +0 -368
  421. package/src/tools/llm/agents/index.ts +0 -22
  422. package/src/tools/llm/index.ts +0 -11
  423. package/src/tools/llm/simple/ask-user-tool.ts +0 -25
  424. package/src/tools/llm/simple/background-bash-tool.ts +0 -443
  425. package/src/tools/llm/simple/background-powershell-tool.ts +0 -421
  426. package/src/tools/llm/simple/bash-tool.ts +0 -238
  427. package/src/tools/llm/simple/docs-search-agent-tool.ts +0 -146
  428. package/src/tools/llm/simple/file-tools.ts +0 -1051
  429. package/src/tools/llm/simple/final-response-tool.ts +0 -180
  430. package/src/tools/llm/simple/index.ts +0 -42
  431. package/src/tools/llm/simple/planning-tools.ts +0 -143
  432. package/src/tools/llm/simple/powershell-tool.ts +0 -241
  433. package/src/tools/llm/simple/simple-tool-executor.ts +0 -279
  434. package/src/tools/llm/simple/todo-tools.ts +0 -207
  435. package/src/tools/llm/simple/user-interaction-tools.ts +0 -277
  436. package/src/tools/office/common/constants.ts +0 -335
  437. package/src/tools/office/common/index.ts +0 -133
  438. package/src/tools/office/common/types.ts +0 -286
  439. package/src/tools/office/common/utils.ts +0 -116
  440. package/src/tools/office/excel-client.ts +0 -1336
  441. package/src/tools/office/excel-tools/cells.ts +0 -359
  442. package/src/tools/office/excel-tools/charts.ts +0 -166
  443. package/src/tools/office/excel-tools/comments.ts +0 -155
  444. package/src/tools/office/excel-tools/data-ops.ts +0 -349
  445. package/src/tools/office/excel-tools/export.ts +0 -105
  446. package/src/tools/office/excel-tools/formatting.ts +0 -357
  447. package/src/tools/office/excel-tools/index.ts +0 -55
  448. package/src/tools/office/excel-tools/launch.ts +0 -303
  449. package/src/tools/office/excel-tools/media.ts +0 -117
  450. package/src/tools/office/excel-tools/named-ranges.ts +0 -148
  451. package/src/tools/office/excel-tools/protection.ts +0 -105
  452. package/src/tools/office/excel-tools/rows-columns.ts +0 -386
  453. package/src/tools/office/excel-tools/sheets.ts +0 -228
  454. package/src/tools/office/excel-tools/validation.ts +0 -226
  455. package/src/tools/office/excel-tools.ts +0 -9
  456. package/src/tools/office/index.ts +0 -259
  457. package/src/tools/office/office-client-base.ts +0 -242
  458. package/src/tools/office/office-client.ts +0 -377
  459. package/src/tools/office/powerpoint-client.ts +0 -1498
  460. package/src/tools/office/powerpoint-tools/effects.ts +0 -315
  461. package/src/tools/office/powerpoint-tools/export.ts +0 -138
  462. package/src/tools/office/powerpoint-tools/index.ts +0 -45
  463. package/src/tools/office/powerpoint-tools/launch.ts +0 -263
  464. package/src/tools/office/powerpoint-tools/media.ts +0 -291
  465. package/src/tools/office/powerpoint-tools/notes.ts +0 -220
  466. package/src/tools/office/powerpoint-tools/sections.ts +0 -140
  467. package/src/tools/office/powerpoint-tools/shapes.ts +0 -870
  468. package/src/tools/office/powerpoint-tools/slides.ts +0 -350
  469. package/src/tools/office/powerpoint-tools/tables.ts +0 -182
  470. package/src/tools/office/powerpoint-tools/text.ts +0 -473
  471. package/src/tools/office/powerpoint-tools.ts +0 -9
  472. package/src/tools/office/word-client.ts +0 -1697
  473. package/src/tools/office/word-tools/bookmarks.ts +0 -186
  474. package/src/tools/office/word-tools/comments.ts +0 -185
  475. package/src/tools/office/word-tools/content.ts +0 -229
  476. package/src/tools/office/word-tools/export.ts +0 -97
  477. package/src/tools/office/word-tools/formatting.ts +0 -161
  478. package/src/tools/office/word-tools/headers-footers.ts +0 -155
  479. package/src/tools/office/word-tools/index.ts +0 -57
  480. package/src/tools/office/word-tools/launch.ts +0 -312
  481. package/src/tools/office/word-tools/lists.ts +0 -97
  482. package/src/tools/office/word-tools/navigation.ts +0 -114
  483. package/src/tools/office/word-tools/page-setup.ts +0 -195
  484. package/src/tools/office/word-tools/tables.ts +0 -262
  485. package/src/tools/office/word-tools/text.ts +0 -294
  486. package/src/tools/office/word-tools/undo-redo.ts +0 -97
  487. package/src/tools/office/word-tools/watermarks.ts +0 -105
  488. package/src/tools/office/word-tools.ts +0 -9
  489. package/src/tools/registry.ts +0 -527
  490. package/src/tools/types.ts +0 -231
  491. package/src/types/index.ts +0 -181
  492. package/src/ui/PlanExecuteView.tsx +0 -119
  493. package/src/ui/TodoPanel.tsx +0 -240
  494. package/src/ui/UpdateNotification.tsx +0 -105
  495. package/src/ui/components/ActivityIndicator.tsx +0 -234
  496. package/src/ui/components/CommandBrowser.tsx +0 -114
  497. package/src/ui/components/CustomTextInput.tsx +0 -389
  498. package/src/ui/components/DocsSearchProgress.tsx +0 -85
  499. package/src/ui/components/FileBrowser.tsx +0 -93
  500. package/src/ui/components/LLMSetupWizard.tsx +0 -333
  501. package/src/ui/components/Logo.tsx +0 -125
  502. package/src/ui/components/MarkdownRenderer.tsx +0 -358
  503. package/src/ui/components/ModelSelector.tsx +0 -203
  504. package/src/ui/components/PlanExecuteApp.tsx +0 -2007
  505. package/src/ui/components/ProgressBar.tsx +0 -51
  506. package/src/ui/components/StatusBar.tsx +0 -302
  507. package/src/ui/components/ThinkingIndicator.tsx +0 -120
  508. package/src/ui/components/TodoListView.tsx +0 -140
  509. package/src/ui/components/ToolSelector.tsx +0 -215
  510. package/src/ui/components/dialogs/ApprovalDialog.tsx +0 -259
  511. package/src/ui/components/dialogs/AskUserDialog.tsx +0 -159
  512. package/src/ui/components/dialogs/DocsBrowser.tsx +0 -222
  513. package/src/ui/components/dialogs/SettingsDialog.tsx +0 -939
  514. package/src/ui/components/dialogs/index.ts +0 -13
  515. package/src/ui/components/index.ts +0 -27
  516. package/src/ui/components/panels/LogPanel.tsx +0 -385
  517. package/src/ui/components/panels/SessionPanel.tsx +0 -146
  518. package/src/ui/components/panels/index.ts +0 -13
  519. package/src/ui/components/views/ChatView.tsx +0 -447
  520. package/src/ui/components/views/index.ts +0 -5
  521. package/src/ui/contexts/TokenContext.tsx +0 -139
  522. package/src/ui/hooks/atFileProcessor.ts +0 -167
  523. package/src/ui/hooks/index.ts +0 -11
  524. package/src/ui/hooks/slashCommandProcessor.ts +0 -174
  525. package/src/ui/hooks/useCommandBrowserState.ts +0 -97
  526. package/src/ui/hooks/useFileBrowserState.ts +0 -116
  527. package/src/ui/hooks/useFileList.ts +0 -132
  528. package/src/ui/hooks/useInputHistory.ts +0 -89
  529. package/src/ui/hooks/usePlanExecution.ts +0 -339
  530. package/src/ui/index.ts +0 -10
  531. package/src/ui/ink-entry.tsx +0 -36
  532. package/src/utils/env-filter.ts +0 -164
  533. package/src/utils/file-system.ts +0 -133
  534. package/src/utils/git-utils.ts +0 -30
  535. package/src/utils/json-stream-logger.ts +0 -1259
  536. package/src/utils/logger.ts +0 -2767
  537. package/src/utils/platform-utils.ts +0 -256
  538. package/src/utils/wsl-utils.ts +0 -113
  539. package/tsconfig.electron.json +0 -39
  540. 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;