orquesta-cli 0.1.13 → 0.1.14

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