orquesta-cli 0.1.13 → 0.1.15

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