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,89 +0,0 @@
1
- /**
2
- * useInputHistory Hook
3
- *
4
- * Manages input history navigation with Up/Down arrow keys (bash-style)
5
- * History is session-only (resets on restart)
6
- */
7
-
8
- import { useState, useCallback, useRef } from 'react';
9
-
10
- export interface InputHistoryState {
11
- input: string;
12
- setInput: (value: string) => void;
13
- handleHistoryPrev: () => void;
14
- handleHistoryNext: () => void;
15
- addToHistory: (value: string) => void;
16
- }
17
-
18
- export function useInputHistory(): InputHistoryState {
19
- const [input, setInputInternal] = useState('');
20
- const [history, setHistory] = useState<string[]>([]);
21
- const [historyIndex, setHistoryIndex] = useState(-1);
22
- const savedInputRef = useRef('');
23
-
24
- const setInput = useCallback((value: string) => {
25
- setInputInternal(value);
26
- }, []);
27
-
28
- const handleHistoryPrev = useCallback(() => {
29
- if (history.length === 0) return;
30
-
31
- if (historyIndex === -1) {
32
- // Save current input before browsing history
33
- savedInputRef.current = input;
34
- const newIndex = history.length - 1;
35
- const historyItem = history[newIndex];
36
- if (historyItem !== undefined) {
37
- setHistoryIndex(newIndex);
38
- setInputInternal(historyItem);
39
- }
40
- } else if (historyIndex > 0) {
41
- const newIndex = historyIndex - 1;
42
- const historyItem = history[newIndex];
43
- if (historyItem !== undefined) {
44
- setHistoryIndex(newIndex);
45
- setInputInternal(historyItem);
46
- }
47
- }
48
- }, [input, history, historyIndex]);
49
-
50
- const handleHistoryNext = useCallback(() => {
51
- if (historyIndex === -1) return;
52
-
53
- if (historyIndex < history.length - 1) {
54
- const newIndex = historyIndex + 1;
55
- const historyItem = history[newIndex];
56
- if (historyItem !== undefined) {
57
- setHistoryIndex(newIndex);
58
- setInputInternal(historyItem);
59
- }
60
- } else {
61
- // Reached the end, restore saved input
62
- setHistoryIndex(-1);
63
- setInputInternal(savedInputRef.current);
64
- }
65
- }, [history, historyIndex]);
66
-
67
- const addToHistory = useCallback((value: string) => {
68
- const trimmed = value.trim();
69
- if (!trimmed) return;
70
-
71
- // Skip duplicates
72
- setHistory(prev => {
73
- if (prev.length > 0 && prev[prev.length - 1] === trimmed) {
74
- return prev;
75
- }
76
- return [...prev, trimmed];
77
- });
78
- setHistoryIndex(-1);
79
- savedInputRef.current = '';
80
- }, []);
81
-
82
- return {
83
- input,
84
- setInput,
85
- handleHistoryPrev,
86
- handleHistoryNext,
87
- addToHistory,
88
- };
89
- }
@@ -1,339 +0,0 @@
1
- /**
2
- * usePlanExecution Hook
3
- *
4
- * Plan & Execute state management React Hook
5
- * Business logic handled in orchestration/plan-executor.ts
6
- */
7
-
8
- import { useState, useCallback, useEffect, useRef, useMemo } from 'react';
9
- import { Message, TodoItem } from '../../types/index.js';
10
- import { LLMClient } from '../../core/llm/llm-client.js';
11
- import { logger } from '../../utils/logger.js';
12
- import {
13
- setTodoWriteCallback,
14
- clearTodoCallbacks,
15
- TodoInput,
16
- } from '../../tools/llm/simple/todo-tools.js';
17
- import {
18
- setAskUserCallback,
19
- clearAskUserCallback,
20
- type AskUserRequest,
21
- type AskUserResponse,
22
- } from '../../tools/llm/simple/ask-user-tool.js';
23
- import { CompactResult } from '../../core/compact/index.js';
24
-
25
- import {
26
- ExecutionPhase,
27
- PlanExecutionState,
28
- AskUserState,
29
- PlanExecutionActions,
30
- PlanExecutor,
31
- StateCallbacks,
32
- } from '../../orchestration/index.js';
33
-
34
- // Re-export types for backward compatibility
35
- export type { ExecutionPhase, PlanExecutionState, AskUserState, PlanExecutionActions };
36
-
37
- /**
38
- * External callbacks for pending message handling
39
- */
40
- export interface PendingMessageCallbacks {
41
- getPendingMessage?: () => string | null;
42
- clearPendingMessage?: () => void;
43
- }
44
-
45
- export function usePlanExecution(pendingMessageCallbacks?: PendingMessageCallbacks): PlanExecutionState & AskUserState & PlanExecutionActions {
46
- logger.enter('usePlanExecution');
47
-
48
- // State
49
- const [todos, setTodos] = useState<TodoItem[]>([]);
50
- const [currentTodoId, setCurrentTodoId] = useState<string | undefined>();
51
- const [executionPhase, setExecutionPhase] = useState<ExecutionPhase>('idle');
52
- const [isInterrupted, setIsInterrupted] = useState(false);
53
- const [currentActivity, setCurrentActivity] = useState<string>('Idle');
54
-
55
- // Ask-user state
56
- const [askUserRequest, setAskUserRequest] = useState<AskUserRequest | null>(null);
57
- const [askUserResolver, setAskUserResolver] = useState<{
58
- resolve: (response: AskUserResponse) => void;
59
- } | null>(null);
60
-
61
- // Refs
62
- const isInterruptedRef = useRef(false);
63
- const isPlanModeActiveRef = useRef(false);
64
- const todosRef = useRef<TodoItem[]>([]);
65
-
66
- // Memoized executor instance
67
- const executor = useMemo(() => new PlanExecutor(), []);
68
-
69
- // State callbacks for executor
70
- const stateCallbacks: StateCallbacks = useMemo(() => ({
71
- setTodos,
72
- setCurrentTodoId,
73
- setExecutionPhase,
74
- setIsInterrupted: (interrupted: boolean) => {
75
- setIsInterrupted(interrupted);
76
- isInterruptedRef.current = interrupted;
77
- },
78
- setCurrentActivity,
79
- setMessages: () => {}, // Will be provided per-call
80
- setAskUserRequest,
81
- // Planning LLM ask-user callback (Promise-based)
82
- askUser: async (request) => {
83
- return new Promise((resolve) => {
84
- setAskUserRequest(request);
85
- setAskUserResolver({ resolve });
86
- });
87
- },
88
- // Pending message callbacks for mid-execution user input injection
89
- getPendingMessage: pendingMessageCallbacks?.getPendingMessage,
90
- clearPendingMessage: pendingMessageCallbacks?.clearPendingMessage,
91
- }), [pendingMessageCallbacks]);
92
-
93
- // Keep todosRef in sync with todos state
94
- useEffect(() => {
95
- todosRef.current = todos;
96
- }, [todos]);
97
-
98
- // Setup TODO tool callbacks (only when NOT in plan mode)
99
- // Note: Using todosRef instead of todos in dependency to avoid cleanup issues during plan mode
100
- useEffect(() => {
101
- if (isPlanModeActiveRef.current) {
102
- logger.flow('Skipping TODO callback setup - plan mode is active');
103
- return;
104
- }
105
-
106
- logger.flow('Setting up TODO tool callbacks');
107
-
108
- // write_todos callback: Replace entire list
109
- const writeCallback = async (newTodos: TodoInput[]): Promise<boolean> => {
110
- logger.enter('todoWriteCallback', { todoCount: newTodos.length });
111
-
112
- // Convert to TodoItem format
113
- const updatedTodos: TodoItem[] = newTodos.map(t => ({
114
- id: t.id,
115
- title: t.title,
116
- status: t.status,
117
- }));
118
-
119
- setTodos(updatedTodos);
120
-
121
- // Update currentTodoId based on in_progress item
122
- const inProgressTodo = updatedTodos.find(t => t.status === 'in_progress');
123
- setCurrentTodoId(inProgressTodo?.id);
124
-
125
- logger.exit('todoWriteCallback', { success: true });
126
- return true;
127
- };
128
-
129
- setTodoWriteCallback(writeCallback);
130
-
131
- return () => {
132
- logger.flow('Cleaning up TODO tool callbacks');
133
- clearTodoCallbacks();
134
- };
135
- }, [executionPhase]); // Re-run when execution phase changes to restore callbacks after plan execution
136
-
137
- // Setup ask-user callback
138
- useEffect(() => {
139
- logger.flow('Setting up ask-user callback');
140
-
141
- const askCallback = async (request: AskUserRequest): Promise<AskUserResponse> => {
142
- logger.enter('askUserCallback', { question: request.question });
143
-
144
- return new Promise((resolve) => {
145
- setAskUserRequest(request);
146
- setAskUserResolver({ resolve });
147
- });
148
- };
149
-
150
- setAskUserCallback(askCallback);
151
-
152
- return () => {
153
- logger.flow('Cleaning up ask-user callback');
154
- clearAskUserCallback();
155
- };
156
- }, []);
157
-
158
- // Handle TODO update
159
- const handleTodoUpdate = useCallback((todo: TodoItem) => {
160
- logger.enter('handleTodoUpdate', { todoId: todo.id, status: todo.status });
161
-
162
- setTodos(prev => prev.map(t => t.id === todo.id ? todo : t));
163
- if (todo.status === 'in_progress') {
164
- setCurrentTodoId(todo.id);
165
- } else if (todo.status === 'completed' || todo.status === 'failed') {
166
- setCurrentTodoId(prev => prev === todo.id ? undefined : prev);
167
- }
168
-
169
- logger.exit('handleTodoUpdate');
170
- }, []);
171
-
172
- // Handle ask-user response
173
- const handleAskUserResponse = useCallback((response: AskUserResponse) => {
174
- logger.enter('handleAskUserResponse', { selectedOption: response.selectedOption, isOther: response.isOther });
175
-
176
- if (askUserResolver) {
177
- askUserResolver.resolve(response);
178
- setAskUserResolver(null);
179
- }
180
- setAskUserRequest(null);
181
-
182
- logger.exit('handleAskUserResponse');
183
- }, [askUserResolver]);
184
-
185
- // Handle interrupt (ESC key)
186
- const handleInterrupt = useCallback((): 'paused' | 'stopped' | 'none' => {
187
- logger.enter('handleInterrupt', { executionPhase, isInterrupted });
188
-
189
- const hasPendingTodos = todos.some(t => t.status === 'pending' || t.status === 'in_progress');
190
-
191
- if (isInterrupted && (executionPhase !== 'idle' || hasPendingTodos)) {
192
- logger.flow('Second ESC - stopping execution completely');
193
-
194
- setTodos([]);
195
- setExecutionPhase('idle');
196
- setCurrentTodoId(undefined);
197
- setCurrentActivity('Idle');
198
- setIsInterrupted(false);
199
- isInterruptedRef.current = false;
200
-
201
- logger.debug('Execution stopped completely, all todos cleared');
202
- logger.exit('handleInterrupt', { result: 'stopped' });
203
- return 'stopped';
204
- }
205
-
206
- if (executionPhase !== 'idle' || hasPendingTodos) {
207
- logger.flow('First ESC - pausing execution');
208
- setIsInterrupted(true);
209
- isInterruptedRef.current = true;
210
- setCurrentActivity('Paused');
211
-
212
- logger.debug('Execution paused (can resume or press ESC again to stop)');
213
- logger.exit('handleInterrupt', { result: 'paused' });
214
- return 'paused';
215
- }
216
-
217
- logger.exit('handleInterrupt', { result: 'none' });
218
- return 'none';
219
- }, [executionPhase, isInterrupted, todos]);
220
-
221
- // executeDirectMode removed - all requests now use Plan Mode
222
-
223
- // Execute Plan Mode
224
- const executePlanMode = useCallback(async (
225
- userMessage: string,
226
- llmClient: LLMClient,
227
- messages: Message[],
228
- setMessages: React.Dispatch<React.SetStateAction<Message[]>>
229
- ) => {
230
- isPlanModeActiveRef.current = true;
231
- const callbacks: StateCallbacks = {
232
- ...stateCallbacks,
233
- setMessages: setMessages as StateCallbacks['setMessages'],
234
- };
235
- try {
236
- await executor.executePlanMode(userMessage, llmClient, messages, isInterruptedRef, callbacks);
237
- } finally {
238
- isPlanModeActiveRef.current = false;
239
- }
240
- }, [executor, stateCallbacks]);
241
-
242
- // Resume TODO Execution
243
- const resumeTodoExecution = useCallback(async (
244
- userMessage: string,
245
- llmClient: LLMClient,
246
- messages: Message[],
247
- setMessages: React.Dispatch<React.SetStateAction<Message[]>>
248
- ) => {
249
- isPlanModeActiveRef.current = true;
250
- const callbacks: StateCallbacks = {
251
- ...stateCallbacks,
252
- setMessages: setMessages as StateCallbacks['setMessages'],
253
- };
254
- try {
255
- await executor.resumeTodoExecution(userMessage, llmClient, messages, todos, isInterruptedRef, callbacks);
256
- } finally {
257
- isPlanModeActiveRef.current = false;
258
- }
259
- }, [executor, stateCallbacks, todos]);
260
-
261
- // Execute Auto Mode
262
- const executeAutoMode = useCallback(async (
263
- userMessage: string,
264
- llmClient: LLMClient,
265
- messages: Message[],
266
- setMessages: React.Dispatch<React.SetStateAction<Message[]>>
267
- ) => {
268
- isPlanModeActiveRef.current = true;
269
- const callbacks: StateCallbacks = {
270
- ...stateCallbacks,
271
- setMessages: setMessages as StateCallbacks['setMessages'],
272
- };
273
- try {
274
- await executor.executeAutoMode(userMessage, llmClient, messages, todos, isInterruptedRef, callbacks);
275
- } finally {
276
- isPlanModeActiveRef.current = false;
277
- }
278
- }, [executor, stateCallbacks, todos]);
279
-
280
- // Perform Compact
281
- const performCompact = useCallback(async (
282
- llmClient: LLMClient,
283
- messages: Message[],
284
- setMessages: React.Dispatch<React.SetStateAction<Message[]>>
285
- ): Promise<CompactResult> => {
286
- const callbacks: StateCallbacks = {
287
- ...stateCallbacks,
288
- setMessages: setMessages as StateCallbacks['setMessages'],
289
- };
290
- return executor.performCompact(llmClient, messages, todos, callbacks);
291
- }, [executor, stateCallbacks, todos]);
292
-
293
- // Utility methods
294
- const shouldAutoCompact = useCallback((): boolean => {
295
- return executor.shouldAutoCompact();
296
- }, [executor]);
297
-
298
- const getContextRemainingPercent = useCallback((): number => {
299
- return executor.getContextRemainingPercent();
300
- }, [executor]);
301
-
302
- const getContextUsageInfo = useCallback((): { tokens: number; percent: number } => {
303
- return executor.getContextUsageInfo();
304
- }, [executor]);
305
-
306
- // Reset interrupt flag when execution completes
307
- useEffect(() => {
308
- if (executionPhase === 'idle' && isInterrupted) {
309
- const hasPendingTodos = todos.some(t => t.status === 'pending' || t.status === 'in_progress');
310
- if (!hasPendingTodos) {
311
- setIsInterrupted(false);
312
- isInterruptedRef.current = false;
313
- }
314
- }
315
- }, [executionPhase, isInterrupted, todos]);
316
-
317
- logger.exit('usePlanExecution');
318
-
319
- return {
320
- todos,
321
- currentTodoId,
322
- executionPhase,
323
- isInterrupted,
324
- currentActivity,
325
- askUserRequest,
326
- setTodos,
327
- handleTodoUpdate,
328
- handleAskUserResponse,
329
- handleInterrupt,
330
- executeAutoMode,
331
- executePlanMode,
332
- resumeTodoExecution,
333
- // executeDirectMode removed - all requests now use Plan Mode
334
- performCompact,
335
- shouldAutoCompact,
336
- getContextRemainingPercent,
337
- getContextUsageInfo,
338
- };
339
- }
package/src/ui/index.ts DELETED
@@ -1,10 +0,0 @@
1
- /**
2
- * UI Components Export
3
- */
4
-
5
- export { PlanExecuteApp } from './components/PlanExecuteApp.js';
6
- export { ProgressBar } from './components/ProgressBar.js';
7
- export { TodoListView } from './components/TodoListView.js';
8
- export { StatusBar } from './components/StatusBar.js';
9
- export { PlanExecuteView } from './PlanExecuteView.js';
10
- export { TodoPanel, TodoStatusBar } from './TodoPanel.js';
@@ -1,36 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Ink UI Entry Point
4
- *
5
- * Direct execution of Ink UI with ESM
6
- */
7
-
8
- import React from 'react';
9
- import { render } from 'ink';
10
- import { PlanExecuteApp } from './components/PlanExecuteApp.js';
11
- import { createLLMClient } from '../core/llm/llm-client.js';
12
- import { configManager } from '../core/config/config-manager.js';
13
- import { initializeOptionalTools } from '../tools/registry.js';
14
- import { logger } from '../utils/logger.js';
15
-
16
- // Async initialization
17
- (async () => {
18
- try {
19
- // Initialize ConfigManager
20
- await configManager.initialize();
21
-
22
- // Load saved optional tool states (e.g., browser tools, Office tools)
23
- await initializeOptionalTools();
24
-
25
- // Create LLM Client
26
- const llmClient = createLLMClient();
27
- const modelInfo = llmClient.getModelInfo();
28
-
29
- // Render Ink UI (PlanExecuteApp supports both direct and plan-execute modes)
30
- // exitOnCtrlC: false - Ctrl+C is handled manually in PlanExecuteApp for smart behavior
31
- render(<PlanExecuteApp llmClient={llmClient} modelInfo={modelInfo} />, { exitOnCtrlC: false });
32
- } catch (error) {
33
- logger.error('Ink UI initialization failed', error);
34
- process.exit(1);
35
- }
36
- })();
@@ -1,164 +0,0 @@
1
- /**
2
- * Environment Variable Filter
3
- *
4
- * Filters sensitive environment variables before passing to subprocesses
5
- * to prevent credential leakage to LLM-executed commands.
6
- */
7
-
8
- /**
9
- * Whitelist of safe environment variables that can be passed to subprocesses
10
- */
11
- const SAFE_ENV_VARS = new Set([
12
- // System paths
13
- 'PATH',
14
- 'HOME',
15
- 'HOMEPATH',
16
- 'HOMEDRIVE',
17
- 'USERPROFILE',
18
- 'TMPDIR',
19
- 'TEMP',
20
- 'TMP',
21
-
22
- // Terminal and shell
23
- 'TERM',
24
- 'SHELL',
25
- 'SHLVL',
26
- 'PWD',
27
- 'OLDPWD',
28
- 'LANG',
29
- 'LANGUAGE',
30
- 'LC_ALL',
31
- 'LC_CTYPE',
32
-
33
- // Display
34
- 'DISPLAY',
35
- 'COLORTERM',
36
- 'TERM_PROGRAM',
37
-
38
- // User info (non-sensitive)
39
- 'USER',
40
- 'USERNAME',
41
- 'LOGNAME',
42
-
43
- // Node/npm (but not tokens)
44
- 'NODE_ENV',
45
- 'NODE_PATH',
46
-
47
- // System info
48
- 'OS',
49
- 'PROCESSOR_ARCHITECTURE',
50
- 'PROCESSOR_IDENTIFIER',
51
- 'NUMBER_OF_PROCESSORS',
52
-
53
- // WSL
54
- 'WSL_DISTRO_NAME',
55
- 'WSL_INTEROP',
56
- 'WSLENV',
57
- ]);
58
-
59
- /**
60
- * Patterns for environment variable names that should NEVER be passed
61
- * (even if not explicitly filtered)
62
- */
63
- const SENSITIVE_PATTERNS = [
64
- /^API[_-]?KEY/i,
65
- /^.*[_-]API[_-]?KEY$/i,
66
- /^TOKEN$/i,
67
- /^.*[_-]TOKEN$/i,
68
- /^SECRET/i,
69
- /^.*[_-]SECRET$/i,
70
- /^PASSWORD/i,
71
- /^.*[_-]PASSWORD$/i,
72
- /^.*[_-]PASS$/i,
73
- /^AUTH/i,
74
- /^CREDENTIAL/i,
75
- /^ANTHROPIC/i,
76
- /^OPENAI/i,
77
- /^SUPABASE/i,
78
- /^DATABASE/i,
79
- /^DB[_-]/i,
80
- /^POSTGRES/i,
81
- /^MYSQL/i,
82
- /^MONGO/i,
83
- /^REDIS/i,
84
- /^AWS/i,
85
- /^AZURE/i,
86
- /^GCP/i,
87
- /^GOOGLE/i,
88
- /^GITHUB/i,
89
- /^GITLAB/i,
90
- /^NPM[_-]TOKEN/i,
91
- /^VERCEL/i,
92
- /^NETLIFY/i,
93
- /^ENCRYPTION/i,
94
- /^PRIVATE[_-]KEY/i,
95
- /^SESSION/i,
96
- /^JWT/i,
97
- /^BEARER/i,
98
- ];
99
-
100
- /**
101
- * Filter environment variables to only include safe ones
102
- *
103
- * @param env - Full environment object (typically process.env)
104
- * @param additionalSafeVars - Additional env var names to consider safe (from user config)
105
- * @param explicitVars - Explicitly provided env vars (from LLM/user) - these bypass filtering
106
- * @returns Filtered environment object with only safe variables
107
- */
108
- export function filterSafeEnv(
109
- env: NodeJS.ProcessEnv = process.env,
110
- additionalSafeVars: string[] = [],
111
- explicitVars: Record<string, string> = {}
112
- ): NodeJS.ProcessEnv {
113
- const filtered: NodeJS.ProcessEnv = {};
114
-
115
- // Add additional safe vars to the whitelist for this call
116
- const extendedSafeVars = new Set([...SAFE_ENV_VARS, ...additionalSafeVars]);
117
-
118
- for (const [key, value] of Object.entries(env)) {
119
- // Skip if value is undefined
120
- if (value === undefined) {
121
- continue;
122
- }
123
-
124
- // Check if key matches sensitive patterns (unless explicitly allowed by user config)
125
- const isSensitive = SENSITIVE_PATTERNS.some(pattern => pattern.test(key));
126
- const isUserAllowed = additionalSafeVars.includes(key);
127
-
128
- if (isSensitive && !isUserAllowed) {
129
- continue; // Skip sensitive vars unless user explicitly allowed them
130
- }
131
-
132
- // Only include if in whitelist (base or user-extended)
133
- if (extendedSafeVars.has(key)) {
134
- filtered[key] = value;
135
- }
136
- }
137
-
138
- // Merge explicit vars (these bypass all filtering - LLM/user explicitly set them)
139
- return { ...filtered, ...explicitVars };
140
- }
141
-
142
- /**
143
- * Get a list of filtered-out environment variable names (for logging/debugging)
144
- * Does NOT return values, only keys.
145
- */
146
- export function getFilteredEnvKeys(env: NodeJS.ProcessEnv = process.env): string[] {
147
- const filtered = filterSafeEnv(env);
148
- const allKeys = Object.keys(env);
149
- return allKeys.filter(key => !(key in filtered));
150
- }
151
-
152
- /**
153
- * Check if an environment variable would be filtered
154
- */
155
- export function isEnvVarSafe(key: string): boolean {
156
- // Check sensitive patterns
157
- const isSensitive = SENSITIVE_PATTERNS.some(pattern => pattern.test(key));
158
- if (isSensitive) {
159
- return false;
160
- }
161
-
162
- // Check whitelist
163
- return SAFE_ENV_VARS.has(key);
164
- }