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,127 +0,0 @@
1
- /**
2
- * Orchestration Types
3
- *
4
- * Type definitions for Plan & Execute workflow
5
- */
6
-
7
- import { Message, TodoItem } from '../types/index.js';
8
- import { LLMClient } from '../core/llm/llm-client.js';
9
- import { CompactResult } from '../core/compact/index.js';
10
-
11
- /**
12
- * Execution phase
13
- * Note: 'classifying' phase removed - all requests now go through planning
14
- */
15
- export type ExecutionPhase = 'idle' | 'planning' | 'executing' | 'compacting';
16
-
17
- /**
18
- * Plan Execution state
19
- */
20
- export interface PlanExecutionState {
21
- todos: TodoItem[];
22
- currentTodoId: string | undefined;
23
- executionPhase: ExecutionPhase;
24
- isInterrupted: boolean;
25
- currentActivity: string;
26
- }
27
-
28
- /**
29
- * Ask User request
30
- * - options: 2-4 choices provided by LLM
31
- * - "Other (direct input)" option is automatically added by UI
32
- */
33
- export interface AskUserRequest {
34
- question: string;
35
- options: string[]; // 2-4 choices (decided by LLM)
36
- }
37
-
38
- /**
39
- * Ask User response
40
- */
41
- export interface AskUserResponse {
42
- selectedOption: string;
43
- isOther: boolean;
44
- customText?: string;
45
- }
46
-
47
- /**
48
- * Ask User state
49
- */
50
- export interface AskUserState {
51
- askUserRequest: AskUserRequest | null;
52
- }
53
-
54
- /**
55
- * State update callbacks
56
- */
57
- export interface StateCallbacks {
58
- setTodos: (todos: TodoItem[] | ((prev: TodoItem[]) => TodoItem[])) => void;
59
- setCurrentTodoId: (id: string | undefined | ((prev: string | undefined) => string | undefined)) => void;
60
- setExecutionPhase: (phase: ExecutionPhase) => void;
61
- setIsInterrupted: (interrupted: boolean) => void;
62
- setCurrentActivity: (activity: string) => void;
63
- setMessages: (messages: Message[] | ((prev: Message[]) => Message[])) => void;
64
- setAskUserRequest: (request: AskUserRequest | null) => void;
65
- // Planning LLM ask-user callback (Promise-based for planning phase)
66
- askUser?: (request: AskUserRequest) => Promise<AskUserResponse>;
67
- // Pending user message callbacks (for injecting messages during execution)
68
- getPendingMessage?: () => string | null;
69
- clearPendingMessage?: () => void;
70
- }
71
-
72
- /**
73
- * Execution context
74
- */
75
- export interface ExecutionContext {
76
- llmClient: LLMClient;
77
- messages: Message[];
78
- todos: TodoItem[];
79
- isInterruptedRef: { current: boolean };
80
- callbacks: StateCallbacks;
81
- }
82
-
83
- /**
84
- * Execution result
85
- */
86
- export interface ExecutionResult {
87
- success: boolean;
88
- messages: Message[];
89
- error?: string;
90
- }
91
-
92
- /**
93
- * Plan Execution Actions interface
94
- */
95
- export interface PlanExecutionActions {
96
- setTodos: (todos: TodoItem[] | ((prev: TodoItem[]) => TodoItem[])) => void;
97
- handleTodoUpdate: (todo: TodoItem) => void;
98
- handleAskUserResponse: (response: AskUserResponse) => void;
99
- handleInterrupt: () => 'paused' | 'stopped' | 'none';
100
- executeAutoMode: (
101
- userMessage: string,
102
- llmClient: LLMClient,
103
- messages: Message[],
104
- setMessages: (messages: Message[] | ((prev: Message[]) => Message[])) => void
105
- ) => Promise<void>;
106
- executePlanMode: (
107
- userMessage: string,
108
- llmClient: LLMClient,
109
- messages: Message[],
110
- setMessages: (messages: Message[] | ((prev: Message[]) => Message[])) => void
111
- ) => Promise<void>;
112
- resumeTodoExecution: (
113
- userMessage: string,
114
- llmClient: LLMClient,
115
- messages: Message[],
116
- setMessages: (messages: Message[] | ((prev: Message[]) => Message[])) => void
117
- ) => Promise<void>;
118
- // executeDirectMode removed - all requests now use Plan Mode
119
- performCompact: (
120
- llmClient: LLMClient,
121
- messages: Message[],
122
- setMessages: (messages: Message[] | ((prev: Message[]) => Message[])) => void
123
- ) => Promise<CompactResult>;
124
- shouldAutoCompact: () => boolean;
125
- getContextRemainingPercent: () => number;
126
- getContextUsageInfo: () => { tokens: number; percent: number };
127
- }
@@ -1,119 +0,0 @@
1
- /**
2
- * Orchestration Utilities
3
- *
4
- * Helper functions for Plan & Execute workflow
5
- */
6
-
7
- import { TodoItem } from '../types/index.js';
8
- import { BaseError } from '../errors/base.js';
9
- import { logger } from '../utils/logger.js';
10
-
11
- /**
12
- * Format error for display as string
13
- */
14
- export function formatErrorMessage(error: unknown): string {
15
- logger.enter('formatErrorMessage');
16
-
17
- if (error instanceof BaseError) {
18
- let message = `❌ ${error.getUserMessage()}\n`;
19
- message += `\n📋 Error Code: ${error.code}`;
20
-
21
- if (error.details && Object.keys(error.details).length > 0) {
22
- message += `\n\n🔍 Details:`;
23
- for (const [key, value] of Object.entries(error.details)) {
24
- if (key === 'fullError') continue;
25
- if (typeof value === 'object') {
26
- message += `\n • ${key}: ${JSON.stringify(value, null, 2)}`;
27
- } else {
28
- message += `\n • ${key}: ${value}`;
29
- }
30
- }
31
- }
32
-
33
- if (error.isRecoverable) {
34
- message += `\n\n💡 This error is recoverable. Please try again.`;
35
- }
36
-
37
- message += `\n\n🕐 Time: ${error.timestamp.toLocaleString('en-US')}`;
38
- logger.exit('formatErrorMessage', { isBaseError: true });
39
- return message;
40
- }
41
-
42
- if (error instanceof Error) {
43
- // Only show error message, hide stack trace from user
44
- const message = `❌ Error: ${error.message}`;
45
- logger.exit('formatErrorMessage', { isError: true });
46
- return message;
47
- }
48
-
49
- logger.exit('formatErrorMessage', { isUnknown: true });
50
- return `❌ Unknown Error: ${String(error)}`;
51
- }
52
-
53
- /**
54
- * Build TODO context for LLM
55
- * Not saved in conversation history, only added during LLM invocation
56
- */
57
- export function buildTodoContext(todos: TodoItem[]): string {
58
- if (todos.length === 0) return '';
59
-
60
- const completedCount = todos.filter(t => t.status === 'completed').length;
61
- const inProgressCount = todos.filter(t => t.status === 'in_progress').length;
62
- const pendingCount = todos.filter(t => t.status === 'pending').length;
63
-
64
- const todoList = todos.map((todo, idx) => {
65
- const statusIcon = todo.status === 'completed' ? '✅' :
66
- todo.status === 'in_progress' ? '🔄' :
67
- todo.status === 'failed' ? '❌' : '⏳';
68
- return `${idx + 1}. ${statusIcon} [${todo.status.toUpperCase()}] ${todo.title}`;
69
- }).join('\n');
70
-
71
- return `
72
- ---
73
- ## 📋 Current TODO List (${completedCount}/${todos.length} completed)
74
-
75
- ${todoList}
76
-
77
- ${pendingCount > 0 || inProgressCount > 0
78
- ? `**⚠️ CRITICAL: You MUST use write_todos tool to update TODO status.**
79
- - When starting a task: call write_todos with status "in_progress"
80
- - When completing a task: call write_todos with status "completed"
81
- - Do NOT skip calling write_todos - execution will stall without it.
82
- - After finishing current in_progress task, immediately mark it completed and start next pending task.`
83
- : '**All TODOs are completed! Provide a brief summary of what was accomplished.**'}
84
- ---`;
85
- }
86
-
87
- /**
88
- * Check if all TODOs are completed
89
- * Empty array is considered complete
90
- */
91
- export function areAllTodosCompleted(todos: TodoItem[]): boolean {
92
- return todos.every(t => t.status === 'completed' || t.status === 'failed');
93
- }
94
-
95
- /**
96
- * Find currently in-progress or pending TODO
97
- */
98
- export function findActiveTodo(todos: TodoItem[]): TodoItem | undefined {
99
- return todos.find(t => t.status === 'in_progress') || todos.find(t => t.status === 'pending');
100
- }
101
-
102
- /**
103
- * Calculate TODO statistics
104
- */
105
- export function getTodoStats(todos: TodoItem[]): {
106
- total: number;
107
- completed: number;
108
- failed: number;
109
- pending: number;
110
- inProgress: number;
111
- } {
112
- return {
113
- total: todos.length,
114
- completed: todos.filter(t => t.status === 'completed').length,
115
- failed: todos.filter(t => t.status === 'failed').length,
116
- pending: todos.filter(t => t.status === 'pending').length,
117
- inProgress: todos.filter(t => t.status === 'in_progress').length,
118
- };
119
- }
@@ -1,291 +0,0 @@
1
- /**
2
- * Orquesta Connection Module
3
- * Handles connection to Orquesta dashboard for session tracking and team collaboration
4
- */
5
-
6
- import { createClient, SupabaseClient, RealtimeChannel } from '@supabase/supabase-js'
7
- import * as os from 'os'
8
- import WebSocket from 'ws'
9
-
10
- // Polyfill WebSocket for Node.js
11
- if (typeof globalThis.WebSocket === 'undefined') {
12
- // @ts-expect-error - ws is compatible with the WebSocket API
13
- globalThis.WebSocket = WebSocket
14
- }
15
-
16
- const ORQUESTA_API = process.env['ORQUESTA_API_URL'] || 'https://orquesta.live'
17
-
18
- interface ValidationResponse {
19
- valid: boolean
20
- projectId?: string
21
- projectName?: string
22
- tokenName?: string
23
- supabaseUrl?: string
24
- supabaseAnonKey?: string
25
- channelName?: string
26
- error?: string
27
- }
28
-
29
- interface ConnectionInfo {
30
- projectId: string
31
- projectName: string
32
- tokenName: string
33
- supabaseUrl: string
34
- supabaseAnonKey: string
35
- channelName: string
36
- }
37
-
38
- export class OrquestaConnection {
39
- private supabase: SupabaseClient | null = null
40
- private channel: RealtimeChannel | null = null
41
- private connectionInfo: ConnectionInfo | null = null
42
- private connected = false
43
- private heartbeatInterval: NodeJS.Timeout | null = null
44
-
45
- constructor(private token: string) {}
46
-
47
- /**
48
- * Validate token and establish connection to Orquesta
49
- */
50
- async connect(): Promise<{ success: boolean; projectName?: string; error?: string }> {
51
- try {
52
- // Validate token with Orquesta API
53
- const validation = await this.validateToken()
54
-
55
- if (!validation.valid || !validation.supabaseUrl || !validation.supabaseAnonKey) {
56
- return {
57
- success: false,
58
- error: validation.error || 'Invalid response from server'
59
- }
60
- }
61
-
62
- this.connectionInfo = {
63
- projectId: validation.projectId!,
64
- projectName: validation.projectName!,
65
- tokenName: validation.tokenName!,
66
- supabaseUrl: validation.supabaseUrl,
67
- supabaseAnonKey: validation.supabaseAnonKey,
68
- channelName: validation.channelName!,
69
- }
70
-
71
- // Create Supabase client
72
- this.supabase = createClient(validation.supabaseUrl, validation.supabaseAnonKey, {
73
- realtime: {
74
- params: {
75
- eventsPerSecond: 50,
76
- },
77
- timeout: 30000,
78
- heartbeatIntervalMs: 15000,
79
- },
80
- })
81
-
82
- // Subscribe to channel for presence tracking
83
- await this.subscribeToChannel()
84
-
85
- // Start heartbeat
86
- this.startHeartbeat()
87
-
88
- this.connected = true
89
- return {
90
- success: true,
91
- projectName: validation.projectName
92
- }
93
- } catch (err) {
94
- const message = err instanceof Error ? err.message : 'Unknown error'
95
- return {
96
- success: false,
97
- error: message
98
- }
99
- }
100
- }
101
-
102
- /**
103
- * Disconnect from Orquesta
104
- */
105
- async disconnect(): Promise<void> {
106
- this.connected = false
107
-
108
- // Stop heartbeat
109
- if (this.heartbeatInterval) {
110
- clearInterval(this.heartbeatInterval)
111
- this.heartbeatInterval = null
112
- }
113
-
114
- // Unsubscribe from channel
115
- if (this.channel) {
116
- await this.channel.unsubscribe()
117
- this.channel = null
118
- }
119
-
120
- // Mark as disconnected via API
121
- if (this.token) {
122
- try {
123
- await fetch(`${ORQUESTA_API}/api/agent/validate`, {
124
- method: 'DELETE',
125
- headers: { 'Content-Type': 'application/json' },
126
- body: JSON.stringify({ token: this.token }),
127
- })
128
- } catch {
129
- // Ignore errors on disconnect
130
- }
131
- }
132
- }
133
-
134
- /**
135
- * Get connection status
136
- */
137
- isConnected(): boolean {
138
- return this.connected
139
- }
140
-
141
- /**
142
- * Get project information
143
- */
144
- getProjectInfo(): { projectId: string; projectName: string } | null {
145
- if (!this.connectionInfo) return null
146
- return {
147
- projectId: this.connectionInfo.projectId,
148
- projectName: this.connectionInfo.projectName
149
- }
150
- }
151
-
152
- /**
153
- * Send session event to dashboard
154
- */
155
- async sendSessionEvent(event: {
156
- type: 'session_start' | 'session_message' | 'session_end' | 'plan_created' | 'plan_updated'
157
- data: Record<string, unknown>
158
- }): Promise<void> {
159
- if (!this.channel || !this.connected) {
160
- console.warn('Not connected to Orquesta - session event not sent')
161
- return
162
- }
163
-
164
- await this.channel.send({
165
- type: 'broadcast',
166
- event: event.type,
167
- payload: {
168
- ...event.data,
169
- timestamp: Date.now(),
170
- },
171
- })
172
- }
173
-
174
- /**
175
- * Private: Validate token with Orquesta API
176
- */
177
- private async validateToken(): Promise<ValidationResponse> {
178
- const agentInfo = {
179
- hostname: os.hostname(),
180
- os: `${os.type()} ${os.release()}`,
181
- platform: os.platform(),
182
- type: 'orquesta-cli', // Identify as CLI, not agent
183
- workingDirectory: process.cwd(),
184
- }
185
-
186
- const response = await fetch(`${ORQUESTA_API}/api/agent/validate`, {
187
- method: 'POST',
188
- headers: { 'Content-Type': 'application/json' },
189
- body: JSON.stringify({ token: this.token, agentInfo }),
190
- })
191
-
192
- const data = await response.json() as ValidationResponse
193
-
194
- if (!data.valid) {
195
- throw new Error(data.error || 'Invalid token')
196
- }
197
-
198
- return data
199
- }
200
-
201
- /**
202
- * Private: Subscribe to Realtime channel
203
- */
204
- private async subscribeToChannel(): Promise<void> {
205
- if (!this.supabase || !this.connectionInfo) {
206
- throw new Error('Supabase client not initialized')
207
- }
208
-
209
- const agentInfo = {
210
- hostname: os.hostname(),
211
- os: `${os.type()} ${os.release()}`,
212
- platform: os.platform(),
213
- type: 'orquesta-cli',
214
- workingDirectory: process.cwd(),
215
- }
216
-
217
- this.channel = this.supabase.channel(this.connectionInfo.channelName, {
218
- config: {
219
- broadcast: { self: true, ack: true },
220
- presence: { key: agentInfo.hostname },
221
- },
222
- })
223
-
224
- // Listen for team collaboration events (optional - for future features)
225
- this.channel.on('broadcast', { event: 'team_message' }, ({ payload }) => {
226
- console.log('Team message:', payload)
227
- })
228
-
229
- // Subscribe and track presence
230
- return new Promise((resolve, reject) => {
231
- this.channel!.subscribe(async (status) => {
232
- if (status === 'SUBSCRIBED') {
233
- await this.channel!.track({
234
- ...agentInfo,
235
- connectedAt: new Date().toISOString(),
236
- })
237
- resolve()
238
- } else if (status === 'CHANNEL_ERROR' || status === 'TIMED_OUT') {
239
- reject(new Error(`Channel subscription failed: ${status}`))
240
- }
241
- })
242
- })
243
- }
244
-
245
- /**
246
- * Private: Start heartbeat to keep connection alive
247
- */
248
- private startHeartbeat(): void {
249
- this.heartbeatInterval = setInterval(async () => {
250
- try {
251
- await fetch(`${ORQUESTA_API}/api/agent/heartbeat`, {
252
- method: 'POST',
253
- headers: { 'Content-Type': 'application/json' },
254
- body: JSON.stringify({ token: this.token }),
255
- })
256
- } catch {
257
- // Ignore heartbeat errors
258
- }
259
- }, 60000) // Every 60 seconds
260
- }
261
- }
262
-
263
- /**
264
- * Global connection instance
265
- */
266
- let orquestaConnection: OrquestaConnection | null = null
267
-
268
- /**
269
- * Initialize Orquesta connection
270
- */
271
- export async function initOrquestaConnection(token: string): Promise<{ success: boolean; projectName?: string; error?: string }> {
272
- orquestaConnection = new OrquestaConnection(token)
273
- return await orquestaConnection.connect()
274
- }
275
-
276
- /**
277
- * Get current Orquesta connection
278
- */
279
- export function getOrquestaConnection(): OrquestaConnection | null {
280
- return orquestaConnection
281
- }
282
-
283
- /**
284
- * Disconnect from Orquesta
285
- */
286
- export async function disconnectOrquesta(): Promise<void> {
287
- if (orquestaConnection) {
288
- await orquestaConnection.disconnect()
289
- orquestaConnection = null
290
- }
291
- }
@@ -1,74 +0,0 @@
1
- /**
2
- * Documentation Search Decision Prompt
3
- *
4
- * LLM-based decision for whether to search local documentation.
5
- * Returns Yes/No based on user message and available folder structure.
6
- */
7
-
8
- /**
9
- * System prompt for docs search decision
10
- */
11
- export const DOCS_SEARCH_DECISION_PROMPT = `You are a documentation search classifier.
12
-
13
- ## IMPORTANT: Offline Environment
14
- This is an OFFLINE environment with NO external internet access.
15
- The ONLY way to get up-to-date information is by searching the local documentation below.
16
-
17
- ## Available Documentation (depth 1):
18
- {folder_structure}
19
-
20
- ## Rules:
21
- - Answer ONLY "Yes" or "No" - nothing else
22
- - Answer "Yes" ONLY when BOTH conditions are met:
23
- 1. The user needs up-to-date or specific information (API docs, framework usage, library features, etc.)
24
- 2. There is a folder name above that looks relevant to the topic
25
- - Answer "No" if:
26
- - The question is about general coding/logic that doesn't need docs
27
- - No folder above seems related to the user's topic
28
- - The user is asking about this project's own codebase (not external docs)
29
- - When in doubt, answer "No" (avoid unnecessary searches)
30
-
31
- ## User Message:
32
- {user_message}
33
-
34
- Your Answer (Yes or No):`;
35
-
36
- /**
37
- * Retry prompt when response is not Yes/No
38
- */
39
- export const DOCS_SEARCH_DECISION_RETRY_PROMPT = `Your previous response was not valid. You must answer with exactly "Yes" or "No".
40
-
41
- Should the documentation be searched for this question?
42
-
43
- Answer (Yes or No):`;
44
-
45
- /**
46
- * Build the decision prompt with folder structure and user message
47
- */
48
- export function buildDocsSearchDecisionPrompt(
49
- folderStructure: string,
50
- userMessage: string
51
- ): string {
52
- return DOCS_SEARCH_DECISION_PROMPT
53
- .replace('{folder_structure}', folderStructure)
54
- .replace('{user_message}', userMessage);
55
- }
56
-
57
- /**
58
- * Parse Yes/No response from LLM
59
- * @returns true for Yes, false for No, null for invalid
60
- */
61
- export function parseDocsSearchDecision(response: string): boolean | null {
62
- const normalized = response.trim().toLowerCase();
63
-
64
- if (normalized === 'yes' || normalized.startsWith('yes')) {
65
- return true;
66
- }
67
- if (normalized === 'no' || normalized.startsWith('no')) {
68
- return false;
69
- }
70
-
71
- return null;
72
- }
73
-
74
- export default DOCS_SEARCH_DECISION_PROMPT;
@@ -1,84 +0,0 @@
1
- /**
2
- * Documentation Search Agent Prompt
3
- *
4
- * Redesigned for hierarchical folder navigation approach.
5
- * Uses list_directory, read_docs_file, preview_file, tell_to_user, submit_findings tools.
6
- */
7
-
8
- /**
9
- * System prompt for documentation search agent
10
- */
11
- export const DOCS_SEARCH_SYSTEM_PROMPT = `You are a documentation search expert. Your task is to find relevant information in ~/.local-cli/docs by navigating its hierarchical folder structure.
12
-
13
- ## Documentation Structure
14
-
15
- The docs folder is organized hierarchically:
16
- - **Top-level folders** = Major categories (e.g., agent_framework/, tutorials/, reference/)
17
- - **Sub-folders** = Specific topics or frameworks (e.g., agno/, langchain/)
18
- - **Files** = Documentation in markdown format (.md)
19
-
20
- Navigate by exploring folder names to understand what's available, then drill down to find relevant content.
21
-
22
- ## Available Tools
23
-
24
- 1. **list_directory** - List contents of a folder
25
- - Use this to explore the folder structure
26
- - Start from root ("") and navigate deeper based on folder names
27
-
28
- 2. **read_docs_file** - Read entire file content
29
- - Use after identifying a relevant file
30
- - Good for smaller files or when you need full context
31
-
32
- 3. **preview_file** - Read first N lines of a file
33
- - Use to quickly check if a file is relevant before reading fully
34
- - Saves time on large documents
35
-
36
- 4. **tell_to_user** - Send progress update to user
37
- - Keep the user informed about what you're doing
38
- - Use for significant progress (found relevant folder, reading important file, etc.)
39
-
40
- 5. **submit_findings** - Submit final report and terminate
41
- - Call this when you have gathered enough information
42
- - This is the ONLY way to complete the search
43
- - Include summary, detailed findings, and source files
44
-
45
- ## Search Strategy
46
-
47
- 1. **Start broad**: List root directory to understand available categories
48
- 2. **Navigate by relevance**: Choose folders whose names match the query topic
49
- 3. **Read multiple files**: Information may be spread across several documents
50
- 4. **Preview before reading**: For large files, preview first to check relevance
51
- 5. **Keep user informed**: Use tell_to_user for significant findings
52
- 6. **Submit when ready**: Call submit_findings when you have enough information
53
-
54
- ## Important Rules
55
-
56
- - **No iteration limit**: Take as many steps as needed to find good information
57
- - **Be thorough**: Check 2-5 potentially relevant documents when possible
58
- - **Must call submit_findings**: This is the only way to complete the search
59
- - **Respond in user's language**: Match the language of the user's query
60
-
61
- ## Example Flow
62
-
63
- 1. list_directory("") → See top-level categories
64
- 2. list_directory("agent_framework") → Explore relevant category
65
- 3. tell_to_user("Found agent_framework folder, exploring...")
66
- 4. list_directory("agent_framework/agno") → Drill down
67
- 5. preview_file("agent_framework/agno/overview.md", 30) → Check relevance
68
- 6. read_docs_file("agent_framework/agno/overview.md") → Read full content
69
- 7. read_docs_file("agent_framework/agno/examples.md") → Read related file
70
- 8. submit_findings(summary, findings, sources) → Complete search
71
- `;
72
-
73
- /**
74
- * Build user message for docs search
75
- */
76
- export function buildDocsSearchUserMessage(query: string): string {
77
- return `Find information about the following topic in the documentation:
78
-
79
- ${query}
80
-
81
- Start by listing the root directory to understand the available documentation structure.`;
82
- }
83
-
84
- export default DOCS_SEARCH_SYSTEM_PROMPT;