orquesta-cli 0.1.12 → 0.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (540) hide show
  1. package/README.md +30 -4
  2. package/dist/cli.js +65 -4
  3. package/dist/constants.js +1 -1
  4. package/dist/core/config/config-manager.d.ts +13 -1
  5. package/dist/core/config/config-manager.js +83 -0
  6. package/dist/core/slash-command-handler.d.ts +1 -0
  7. package/dist/core/slash-command-handler.js +129 -0
  8. package/dist/orquesta/config-sync.d.ts +73 -0
  9. package/dist/orquesta/config-sync.js +230 -0
  10. package/dist/orquesta/prompt-reporter.d.ts +16 -0
  11. package/dist/orquesta/prompt-reporter.js +85 -0
  12. package/dist/setup/first-run-setup.d.ts +15 -0
  13. package/dist/setup/first-run-setup.js +238 -0
  14. package/dist/types/index.d.ts +11 -2
  15. package/dist/ui/TodoPanel.d.ts +1 -0
  16. package/dist/ui/TodoPanel.js +6 -1
  17. package/dist/ui/components/LLMSetupWizard.js +373 -7
  18. package/dist/ui/components/Logo.d.ts +2 -0
  19. package/dist/ui/components/Logo.js +10 -3
  20. package/dist/ui/components/OpenRouterModelBrowser.d.ts +13 -0
  21. package/dist/ui/components/OpenRouterModelBrowser.js +221 -0
  22. package/dist/ui/components/PlanExecuteApp.js +30 -4
  23. package/dist/ui/components/ProjectSelector.d.ts +8 -0
  24. package/dist/ui/components/ProjectSelector.js +119 -0
  25. package/dist/ui/components/StatusBar.d.ts +2 -0
  26. package/dist/ui/components/StatusBar.js +6 -1
  27. package/dist/ui/hooks/slashCommandProcessor.js +8 -4
  28. package/package.json +11 -5
  29. package/.eslintrc.json +0 -26
  30. package/.prettierrc.json +0 -10
  31. package/CLAUDE.md +0 -199
  32. package/SECURITY.md +0 -290
  33. package/TEST_LOCAL.md +0 -245
  34. package/dist/agents/base/base-agent.d.ts.map +0 -1
  35. package/dist/agents/base/base-agent.js.map +0 -1
  36. package/dist/agents/docs-search/index.d.ts.map +0 -1
  37. package/dist/agents/docs-search/index.js.map +0 -1
  38. package/dist/agents/index.d.ts.map +0 -1
  39. package/dist/agents/index.js.map +0 -1
  40. package/dist/agents/planner/index.d.ts.map +0 -1
  41. package/dist/agents/planner/index.js.map +0 -1
  42. package/dist/cli.d.ts.map +0 -1
  43. package/dist/cli.js.map +0 -1
  44. package/dist/constants.d.ts.map +0 -1
  45. package/dist/constants.js.map +0 -1
  46. package/dist/core/compact/compact-manager.d.ts.map +0 -1
  47. package/dist/core/compact/compact-manager.js.map +0 -1
  48. package/dist/core/compact/compact-prompts.d.ts.map +0 -1
  49. package/dist/core/compact/compact-prompts.js.map +0 -1
  50. package/dist/core/compact/context-tracker.d.ts.map +0 -1
  51. package/dist/core/compact/context-tracker.js.map +0 -1
  52. package/dist/core/compact/index.d.ts.map +0 -1
  53. package/dist/core/compact/index.js.map +0 -1
  54. package/dist/core/config/config-manager.d.ts.map +0 -1
  55. package/dist/core/config/config-manager.js.map +0 -1
  56. package/dist/core/config/index.d.ts.map +0 -1
  57. package/dist/core/config/index.js.map +0 -1
  58. package/dist/core/docs-manager.d.ts.map +0 -1
  59. package/dist/core/docs-manager.js.map +0 -1
  60. package/dist/core/git-auto-updater.d.ts.map +0 -1
  61. package/dist/core/git-auto-updater.js.map +0 -1
  62. package/dist/core/llm/index.d.ts.map +0 -1
  63. package/dist/core/llm/index.js.map +0 -1
  64. package/dist/core/llm/llm-client.d.ts.map +0 -1
  65. package/dist/core/llm/llm-client.js.map +0 -1
  66. package/dist/core/session/index.d.ts.map +0 -1
  67. package/dist/core/session/index.js.map +0 -1
  68. package/dist/core/session/session-manager.d.ts.map +0 -1
  69. package/dist/core/session/session-manager.js.map +0 -1
  70. package/dist/core/slash-command-handler.d.ts.map +0 -1
  71. package/dist/core/slash-command-handler.js.map +0 -1
  72. package/dist/core/usage-tracker.d.ts.map +0 -1
  73. package/dist/core/usage-tracker.js.map +0 -1
  74. package/dist/errors/base.d.ts.map +0 -1
  75. package/dist/errors/base.js.map +0 -1
  76. package/dist/errors/file.d.ts.map +0 -1
  77. package/dist/errors/file.js.map +0 -1
  78. package/dist/errors/index.d.ts.map +0 -1
  79. package/dist/errors/index.js.map +0 -1
  80. package/dist/errors/llm.d.ts.map +0 -1
  81. package/dist/errors/llm.js.map +0 -1
  82. package/dist/errors/network.d.ts.map +0 -1
  83. package/dist/errors/network.js.map +0 -1
  84. package/dist/errors/validation.d.ts.map +0 -1
  85. package/dist/errors/validation.js.map +0 -1
  86. package/dist/eval/eval-runner.d.ts.map +0 -1
  87. package/dist/eval/eval-runner.js.map +0 -1
  88. package/dist/eval/index.d.ts.map +0 -1
  89. package/dist/eval/index.js.map +0 -1
  90. package/dist/eval/types.d.ts.map +0 -1
  91. package/dist/eval/types.js.map +0 -1
  92. package/dist/index.d.ts.map +0 -1
  93. package/dist/index.js.map +0 -1
  94. package/dist/orchestration/index.d.ts.map +0 -1
  95. package/dist/orchestration/index.js.map +0 -1
  96. package/dist/orchestration/plan-executor.d.ts.map +0 -1
  97. package/dist/orchestration/plan-executor.js.map +0 -1
  98. package/dist/orchestration/types.d.ts.map +0 -1
  99. package/dist/orchestration/types.js.map +0 -1
  100. package/dist/orchestration/utils.d.ts.map +0 -1
  101. package/dist/orchestration/utils.js.map +0 -1
  102. package/dist/orquesta/connection.d.ts.map +0 -1
  103. package/dist/orquesta/connection.js.map +0 -1
  104. package/dist/prompts/agents/docs-search-decision.d.ts.map +0 -1
  105. package/dist/prompts/agents/docs-search-decision.js.map +0 -1
  106. package/dist/prompts/agents/docs-search.d.ts.map +0 -1
  107. package/dist/prompts/agents/docs-search.js.map +0 -1
  108. package/dist/prompts/agents/planning.d.ts.map +0 -1
  109. package/dist/prompts/agents/planning.js.map +0 -1
  110. package/dist/prompts/index.d.ts.map +0 -1
  111. package/dist/prompts/index.js.map +0 -1
  112. package/dist/prompts/shared/codebase-rules.d.ts.map +0 -1
  113. package/dist/prompts/shared/codebase-rules.js.map +0 -1
  114. package/dist/prompts/shared/git-rules.d.ts.map +0 -1
  115. package/dist/prompts/shared/git-rules.js.map +0 -1
  116. package/dist/prompts/shared/language-rules.d.ts.map +0 -1
  117. package/dist/prompts/shared/language-rules.js.map +0 -1
  118. package/dist/prompts/shared/tool-usage.d.ts.map +0 -1
  119. package/dist/prompts/shared/tool-usage.js.map +0 -1
  120. package/dist/prompts/system/compact.d.ts.map +0 -1
  121. package/dist/prompts/system/compact.js.map +0 -1
  122. package/dist/prompts/system/plan-execute.d.ts.map +0 -1
  123. package/dist/prompts/system/plan-execute.js.map +0 -1
  124. package/dist/tools/browser/browser-client.d.ts.map +0 -1
  125. package/dist/tools/browser/browser-client.js.map +0 -1
  126. package/dist/tools/browser/browser-tools.d.ts.map +0 -1
  127. package/dist/tools/browser/browser-tools.js.map +0 -1
  128. package/dist/tools/browser/index.d.ts.map +0 -1
  129. package/dist/tools/browser/index.js.map +0 -1
  130. package/dist/tools/index.d.ts.map +0 -1
  131. package/dist/tools/index.js.map +0 -1
  132. package/dist/tools/llm/agents/docs-search-tools.d.ts.map +0 -1
  133. package/dist/tools/llm/agents/docs-search-tools.js.map +0 -1
  134. package/dist/tools/llm/agents/index.d.ts.map +0 -1
  135. package/dist/tools/llm/agents/index.js.map +0 -1
  136. package/dist/tools/llm/index.d.ts.map +0 -1
  137. package/dist/tools/llm/index.js.map +0 -1
  138. package/dist/tools/llm/simple/ask-user-tool.d.ts.map +0 -1
  139. package/dist/tools/llm/simple/ask-user-tool.js.map +0 -1
  140. package/dist/tools/llm/simple/background-bash-tool.d.ts.map +0 -1
  141. package/dist/tools/llm/simple/background-bash-tool.js.map +0 -1
  142. package/dist/tools/llm/simple/background-powershell-tool.d.ts.map +0 -1
  143. package/dist/tools/llm/simple/background-powershell-tool.js.map +0 -1
  144. package/dist/tools/llm/simple/bash-tool.d.ts.map +0 -1
  145. package/dist/tools/llm/simple/bash-tool.js.map +0 -1
  146. package/dist/tools/llm/simple/docs-search-agent-tool.d.ts.map +0 -1
  147. package/dist/tools/llm/simple/docs-search-agent-tool.js.map +0 -1
  148. package/dist/tools/llm/simple/file-tools.d.ts.map +0 -1
  149. package/dist/tools/llm/simple/file-tools.js.map +0 -1
  150. package/dist/tools/llm/simple/final-response-tool.d.ts.map +0 -1
  151. package/dist/tools/llm/simple/final-response-tool.js.map +0 -1
  152. package/dist/tools/llm/simple/index.d.ts.map +0 -1
  153. package/dist/tools/llm/simple/index.js.map +0 -1
  154. package/dist/tools/llm/simple/planning-tools.d.ts.map +0 -1
  155. package/dist/tools/llm/simple/planning-tools.js.map +0 -1
  156. package/dist/tools/llm/simple/powershell-tool.d.ts.map +0 -1
  157. package/dist/tools/llm/simple/powershell-tool.js.map +0 -1
  158. package/dist/tools/llm/simple/simple-tool-executor.d.ts.map +0 -1
  159. package/dist/tools/llm/simple/simple-tool-executor.js.map +0 -1
  160. package/dist/tools/llm/simple/todo-tools.d.ts.map +0 -1
  161. package/dist/tools/llm/simple/todo-tools.js.map +0 -1
  162. package/dist/tools/llm/simple/user-interaction-tools.d.ts.map +0 -1
  163. package/dist/tools/llm/simple/user-interaction-tools.js.map +0 -1
  164. package/dist/tools/office/common/constants.d.ts.map +0 -1
  165. package/dist/tools/office/common/constants.js.map +0 -1
  166. package/dist/tools/office/common/index.d.ts.map +0 -1
  167. package/dist/tools/office/common/index.js.map +0 -1
  168. package/dist/tools/office/common/types.d.ts.map +0 -1
  169. package/dist/tools/office/common/types.js.map +0 -1
  170. package/dist/tools/office/common/utils.d.ts.map +0 -1
  171. package/dist/tools/office/common/utils.js.map +0 -1
  172. package/dist/tools/office/excel-client.d.ts.map +0 -1
  173. package/dist/tools/office/excel-client.js.map +0 -1
  174. package/dist/tools/office/excel-tools/cells.d.ts.map +0 -1
  175. package/dist/tools/office/excel-tools/cells.js.map +0 -1
  176. package/dist/tools/office/excel-tools/charts.d.ts.map +0 -1
  177. package/dist/tools/office/excel-tools/charts.js.map +0 -1
  178. package/dist/tools/office/excel-tools/comments.d.ts.map +0 -1
  179. package/dist/tools/office/excel-tools/comments.js.map +0 -1
  180. package/dist/tools/office/excel-tools/data-ops.d.ts.map +0 -1
  181. package/dist/tools/office/excel-tools/data-ops.js.map +0 -1
  182. package/dist/tools/office/excel-tools/export.d.ts.map +0 -1
  183. package/dist/tools/office/excel-tools/export.js.map +0 -1
  184. package/dist/tools/office/excel-tools/formatting.d.ts.map +0 -1
  185. package/dist/tools/office/excel-tools/formatting.js.map +0 -1
  186. package/dist/tools/office/excel-tools/index.d.ts.map +0 -1
  187. package/dist/tools/office/excel-tools/index.js.map +0 -1
  188. package/dist/tools/office/excel-tools/launch.d.ts.map +0 -1
  189. package/dist/tools/office/excel-tools/launch.js.map +0 -1
  190. package/dist/tools/office/excel-tools/media.d.ts.map +0 -1
  191. package/dist/tools/office/excel-tools/media.js.map +0 -1
  192. package/dist/tools/office/excel-tools/named-ranges.d.ts.map +0 -1
  193. package/dist/tools/office/excel-tools/named-ranges.js.map +0 -1
  194. package/dist/tools/office/excel-tools/protection.d.ts.map +0 -1
  195. package/dist/tools/office/excel-tools/protection.js.map +0 -1
  196. package/dist/tools/office/excel-tools/rows-columns.d.ts.map +0 -1
  197. package/dist/tools/office/excel-tools/rows-columns.js.map +0 -1
  198. package/dist/tools/office/excel-tools/sheets.d.ts.map +0 -1
  199. package/dist/tools/office/excel-tools/sheets.js.map +0 -1
  200. package/dist/tools/office/excel-tools/validation.d.ts.map +0 -1
  201. package/dist/tools/office/excel-tools/validation.js.map +0 -1
  202. package/dist/tools/office/excel-tools.d.ts.map +0 -1
  203. package/dist/tools/office/excel-tools.js.map +0 -1
  204. package/dist/tools/office/index.d.ts.map +0 -1
  205. package/dist/tools/office/index.js.map +0 -1
  206. package/dist/tools/office/office-client-base.d.ts.map +0 -1
  207. package/dist/tools/office/office-client-base.js.map +0 -1
  208. package/dist/tools/office/office-client.d.ts.map +0 -1
  209. package/dist/tools/office/office-client.js.map +0 -1
  210. package/dist/tools/office/powerpoint-client.d.ts.map +0 -1
  211. package/dist/tools/office/powerpoint-client.js.map +0 -1
  212. package/dist/tools/office/powerpoint-tools/effects.d.ts.map +0 -1
  213. package/dist/tools/office/powerpoint-tools/effects.js.map +0 -1
  214. package/dist/tools/office/powerpoint-tools/export.d.ts.map +0 -1
  215. package/dist/tools/office/powerpoint-tools/export.js.map +0 -1
  216. package/dist/tools/office/powerpoint-tools/index.d.ts.map +0 -1
  217. package/dist/tools/office/powerpoint-tools/index.js.map +0 -1
  218. package/dist/tools/office/powerpoint-tools/launch.d.ts.map +0 -1
  219. package/dist/tools/office/powerpoint-tools/launch.js.map +0 -1
  220. package/dist/tools/office/powerpoint-tools/media.d.ts.map +0 -1
  221. package/dist/tools/office/powerpoint-tools/media.js.map +0 -1
  222. package/dist/tools/office/powerpoint-tools/notes.d.ts.map +0 -1
  223. package/dist/tools/office/powerpoint-tools/notes.js.map +0 -1
  224. package/dist/tools/office/powerpoint-tools/sections.d.ts.map +0 -1
  225. package/dist/tools/office/powerpoint-tools/sections.js.map +0 -1
  226. package/dist/tools/office/powerpoint-tools/shapes.d.ts.map +0 -1
  227. package/dist/tools/office/powerpoint-tools/shapes.js.map +0 -1
  228. package/dist/tools/office/powerpoint-tools/slides.d.ts.map +0 -1
  229. package/dist/tools/office/powerpoint-tools/slides.js.map +0 -1
  230. package/dist/tools/office/powerpoint-tools/tables.d.ts.map +0 -1
  231. package/dist/tools/office/powerpoint-tools/tables.js.map +0 -1
  232. package/dist/tools/office/powerpoint-tools/text.d.ts.map +0 -1
  233. package/dist/tools/office/powerpoint-tools/text.js.map +0 -1
  234. package/dist/tools/office/powerpoint-tools.d.ts.map +0 -1
  235. package/dist/tools/office/powerpoint-tools.js.map +0 -1
  236. package/dist/tools/office/word-client.d.ts.map +0 -1
  237. package/dist/tools/office/word-client.js.map +0 -1
  238. package/dist/tools/office/word-tools/bookmarks.d.ts.map +0 -1
  239. package/dist/tools/office/word-tools/bookmarks.js.map +0 -1
  240. package/dist/tools/office/word-tools/comments.d.ts.map +0 -1
  241. package/dist/tools/office/word-tools/comments.js.map +0 -1
  242. package/dist/tools/office/word-tools/content.d.ts.map +0 -1
  243. package/dist/tools/office/word-tools/content.js.map +0 -1
  244. package/dist/tools/office/word-tools/export.d.ts.map +0 -1
  245. package/dist/tools/office/word-tools/export.js.map +0 -1
  246. package/dist/tools/office/word-tools/formatting.d.ts.map +0 -1
  247. package/dist/tools/office/word-tools/formatting.js.map +0 -1
  248. package/dist/tools/office/word-tools/headers-footers.d.ts.map +0 -1
  249. package/dist/tools/office/word-tools/headers-footers.js.map +0 -1
  250. package/dist/tools/office/word-tools/index.d.ts.map +0 -1
  251. package/dist/tools/office/word-tools/index.js.map +0 -1
  252. package/dist/tools/office/word-tools/launch.d.ts.map +0 -1
  253. package/dist/tools/office/word-tools/launch.js.map +0 -1
  254. package/dist/tools/office/word-tools/lists.d.ts.map +0 -1
  255. package/dist/tools/office/word-tools/lists.js.map +0 -1
  256. package/dist/tools/office/word-tools/navigation.d.ts.map +0 -1
  257. package/dist/tools/office/word-tools/navigation.js.map +0 -1
  258. package/dist/tools/office/word-tools/page-setup.d.ts.map +0 -1
  259. package/dist/tools/office/word-tools/page-setup.js.map +0 -1
  260. package/dist/tools/office/word-tools/tables.d.ts.map +0 -1
  261. package/dist/tools/office/word-tools/tables.js.map +0 -1
  262. package/dist/tools/office/word-tools/text.d.ts.map +0 -1
  263. package/dist/tools/office/word-tools/text.js.map +0 -1
  264. package/dist/tools/office/word-tools/undo-redo.d.ts.map +0 -1
  265. package/dist/tools/office/word-tools/undo-redo.js.map +0 -1
  266. package/dist/tools/office/word-tools/watermarks.d.ts.map +0 -1
  267. package/dist/tools/office/word-tools/watermarks.js.map +0 -1
  268. package/dist/tools/office/word-tools.d.ts.map +0 -1
  269. package/dist/tools/office/word-tools.js.map +0 -1
  270. package/dist/tools/registry.d.ts.map +0 -1
  271. package/dist/tools/registry.js.map +0 -1
  272. package/dist/tools/types.d.ts.map +0 -1
  273. package/dist/tools/types.js.map +0 -1
  274. package/dist/types/index.d.ts.map +0 -1
  275. package/dist/types/index.js.map +0 -1
  276. package/dist/ui/PlanExecuteView.d.ts.map +0 -1
  277. package/dist/ui/PlanExecuteView.js.map +0 -1
  278. package/dist/ui/TodoPanel.d.ts.map +0 -1
  279. package/dist/ui/TodoPanel.js.map +0 -1
  280. package/dist/ui/UpdateNotification.d.ts.map +0 -1
  281. package/dist/ui/UpdateNotification.js.map +0 -1
  282. package/dist/ui/components/ActivityIndicator.d.ts.map +0 -1
  283. package/dist/ui/components/ActivityIndicator.js.map +0 -1
  284. package/dist/ui/components/CommandBrowser.d.ts.map +0 -1
  285. package/dist/ui/components/CommandBrowser.js.map +0 -1
  286. package/dist/ui/components/CustomTextInput.d.ts.map +0 -1
  287. package/dist/ui/components/CustomTextInput.js.map +0 -1
  288. package/dist/ui/components/DocsSearchProgress.d.ts.map +0 -1
  289. package/dist/ui/components/DocsSearchProgress.js.map +0 -1
  290. package/dist/ui/components/FileBrowser.d.ts.map +0 -1
  291. package/dist/ui/components/FileBrowser.js.map +0 -1
  292. package/dist/ui/components/LLMSetupWizard.d.ts.map +0 -1
  293. package/dist/ui/components/LLMSetupWizard.js.map +0 -1
  294. package/dist/ui/components/Logo.d.ts.map +0 -1
  295. package/dist/ui/components/Logo.js.map +0 -1
  296. package/dist/ui/components/MarkdownRenderer.d.ts.map +0 -1
  297. package/dist/ui/components/MarkdownRenderer.js.map +0 -1
  298. package/dist/ui/components/ModelSelector.d.ts.map +0 -1
  299. package/dist/ui/components/ModelSelector.js.map +0 -1
  300. package/dist/ui/components/PlanExecuteApp.d.ts.map +0 -1
  301. package/dist/ui/components/PlanExecuteApp.js.map +0 -1
  302. package/dist/ui/components/ProgressBar.d.ts.map +0 -1
  303. package/dist/ui/components/ProgressBar.js.map +0 -1
  304. package/dist/ui/components/StatusBar.d.ts.map +0 -1
  305. package/dist/ui/components/StatusBar.js.map +0 -1
  306. package/dist/ui/components/ThinkingIndicator.d.ts.map +0 -1
  307. package/dist/ui/components/ThinkingIndicator.js.map +0 -1
  308. package/dist/ui/components/TodoListView.d.ts.map +0 -1
  309. package/dist/ui/components/TodoListView.js.map +0 -1
  310. package/dist/ui/components/ToolSelector.d.ts.map +0 -1
  311. package/dist/ui/components/ToolSelector.js.map +0 -1
  312. package/dist/ui/components/dialogs/ApprovalDialog.d.ts.map +0 -1
  313. package/dist/ui/components/dialogs/ApprovalDialog.js.map +0 -1
  314. package/dist/ui/components/dialogs/AskUserDialog.d.ts.map +0 -1
  315. package/dist/ui/components/dialogs/AskUserDialog.js.map +0 -1
  316. package/dist/ui/components/dialogs/DocsBrowser.d.ts.map +0 -1
  317. package/dist/ui/components/dialogs/DocsBrowser.js.map +0 -1
  318. package/dist/ui/components/dialogs/SettingsDialog.d.ts.map +0 -1
  319. package/dist/ui/components/dialogs/SettingsDialog.js.map +0 -1
  320. package/dist/ui/components/dialogs/index.d.ts.map +0 -1
  321. package/dist/ui/components/dialogs/index.js.map +0 -1
  322. package/dist/ui/components/index.d.ts.map +0 -1
  323. package/dist/ui/components/index.js.map +0 -1
  324. package/dist/ui/components/panels/LogPanel.d.ts.map +0 -1
  325. package/dist/ui/components/panels/LogPanel.js.map +0 -1
  326. package/dist/ui/components/panels/SessionPanel.d.ts.map +0 -1
  327. package/dist/ui/components/panels/SessionPanel.js.map +0 -1
  328. package/dist/ui/components/panels/index.d.ts.map +0 -1
  329. package/dist/ui/components/panels/index.js.map +0 -1
  330. package/dist/ui/components/views/ChatView.d.ts.map +0 -1
  331. package/dist/ui/components/views/ChatView.js.map +0 -1
  332. package/dist/ui/components/views/index.d.ts.map +0 -1
  333. package/dist/ui/components/views/index.js.map +0 -1
  334. package/dist/ui/contexts/TokenContext.d.ts.map +0 -1
  335. package/dist/ui/contexts/TokenContext.js.map +0 -1
  336. package/dist/ui/hooks/atFileProcessor.d.ts.map +0 -1
  337. package/dist/ui/hooks/atFileProcessor.js.map +0 -1
  338. package/dist/ui/hooks/index.d.ts.map +0 -1
  339. package/dist/ui/hooks/index.js.map +0 -1
  340. package/dist/ui/hooks/slashCommandProcessor.d.ts.map +0 -1
  341. package/dist/ui/hooks/slashCommandProcessor.js.map +0 -1
  342. package/dist/ui/hooks/useCommandBrowserState.d.ts.map +0 -1
  343. package/dist/ui/hooks/useCommandBrowserState.js.map +0 -1
  344. package/dist/ui/hooks/useFileBrowserState.d.ts.map +0 -1
  345. package/dist/ui/hooks/useFileBrowserState.js.map +0 -1
  346. package/dist/ui/hooks/useFileList.d.ts.map +0 -1
  347. package/dist/ui/hooks/useFileList.js.map +0 -1
  348. package/dist/ui/hooks/useInputHistory.d.ts.map +0 -1
  349. package/dist/ui/hooks/useInputHistory.js.map +0 -1
  350. package/dist/ui/hooks/usePlanExecution.d.ts.map +0 -1
  351. package/dist/ui/hooks/usePlanExecution.js.map +0 -1
  352. package/dist/ui/index.d.ts.map +0 -1
  353. package/dist/ui/index.js.map +0 -1
  354. package/dist/ui/ink-entry.d.ts.map +0 -1
  355. package/dist/ui/ink-entry.js.map +0 -1
  356. package/dist/utils/env-filter.d.ts.map +0 -1
  357. package/dist/utils/env-filter.js.map +0 -1
  358. package/dist/utils/file-system.d.ts.map +0 -1
  359. package/dist/utils/file-system.js.map +0 -1
  360. package/dist/utils/git-utils.d.ts.map +0 -1
  361. package/dist/utils/git-utils.js.map +0 -1
  362. package/dist/utils/json-stream-logger.d.ts.map +0 -1
  363. package/dist/utils/json-stream-logger.js.map +0 -1
  364. package/dist/utils/logger.d.ts.map +0 -1
  365. package/dist/utils/logger.js.map +0 -1
  366. package/dist/utils/platform-utils.d.ts.map +0 -1
  367. package/dist/utils/platform-utils.js.map +0 -1
  368. package/dist/utils/wsl-utils.d.ts.map +0 -1
  369. package/dist/utils/wsl-utils.js.map +0 -1
  370. package/electron.vite.config.ts +0 -63
  371. package/google374b9eba0c52b043.html +0 -1
  372. package/src/agents/base/base-agent.ts +0 -159
  373. package/src/agents/docs-search/index.ts +0 -365
  374. package/src/agents/index.ts +0 -34
  375. package/src/agents/planner/index.ts +0 -544
  376. package/src/cli.ts +0 -201
  377. package/src/constants.ts +0 -47
  378. package/src/core/compact/compact-manager.ts +0 -160
  379. package/src/core/compact/compact-prompts.ts +0 -150
  380. package/src/core/compact/context-tracker.ts +0 -164
  381. package/src/core/compact/index.ts +0 -25
  382. package/src/core/config/config-manager.ts +0 -460
  383. package/src/core/config/index.ts +0 -5
  384. package/src/core/docs-manager.ts +0 -678
  385. package/src/core/llm/index.ts +0 -7
  386. package/src/core/llm/llm-client.ts +0 -1550
  387. package/src/core/session/index.ts +0 -5
  388. package/src/core/session/session-manager.ts +0 -464
  389. package/src/core/slash-command-handler.ts +0 -410
  390. package/src/core/usage-tracker.ts +0 -438
  391. package/src/errors/base.ts +0 -81
  392. package/src/errors/file.ts +0 -183
  393. package/src/errors/index.ts +0 -95
  394. package/src/errors/llm.ts +0 -151
  395. package/src/errors/network.ts +0 -124
  396. package/src/errors/validation.ts +0 -111
  397. package/src/eval/eval-runner.ts +0 -456
  398. package/src/eval/index.ts +0 -8
  399. package/src/eval/types.ts +0 -139
  400. package/src/index.ts +0 -22
  401. package/src/orchestration/index.ts +0 -30
  402. package/src/orchestration/plan-executor.ts +0 -652
  403. package/src/orchestration/types.ts +0 -127
  404. package/src/orchestration/utils.ts +0 -119
  405. package/src/orquesta/connection.ts +0 -291
  406. package/src/prompts/agents/docs-search-decision.ts +0 -74
  407. package/src/prompts/agents/docs-search.ts +0 -84
  408. package/src/prompts/agents/planning.ts +0 -143
  409. package/src/prompts/index.ts +0 -31
  410. package/src/prompts/shared/codebase-rules.ts +0 -29
  411. package/src/prompts/shared/git-rules.ts +0 -94
  412. package/src/prompts/shared/language-rules.ts +0 -36
  413. package/src/prompts/shared/tool-usage.ts +0 -72
  414. package/src/prompts/system/compact.ts +0 -80
  415. package/src/prompts/system/plan-execute.ts +0 -89
  416. package/src/tools/browser/browser-client.ts +0 -1363
  417. package/src/tools/browser/browser-tools.ts +0 -1139
  418. package/src/tools/browser/index.ts +0 -65
  419. package/src/tools/index.ts +0 -23
  420. package/src/tools/llm/agents/docs-search-tools.ts +0 -368
  421. package/src/tools/llm/agents/index.ts +0 -22
  422. package/src/tools/llm/index.ts +0 -11
  423. package/src/tools/llm/simple/ask-user-tool.ts +0 -25
  424. package/src/tools/llm/simple/background-bash-tool.ts +0 -443
  425. package/src/tools/llm/simple/background-powershell-tool.ts +0 -421
  426. package/src/tools/llm/simple/bash-tool.ts +0 -238
  427. package/src/tools/llm/simple/docs-search-agent-tool.ts +0 -146
  428. package/src/tools/llm/simple/file-tools.ts +0 -1051
  429. package/src/tools/llm/simple/final-response-tool.ts +0 -180
  430. package/src/tools/llm/simple/index.ts +0 -42
  431. package/src/tools/llm/simple/planning-tools.ts +0 -143
  432. package/src/tools/llm/simple/powershell-tool.ts +0 -241
  433. package/src/tools/llm/simple/simple-tool-executor.ts +0 -279
  434. package/src/tools/llm/simple/todo-tools.ts +0 -207
  435. package/src/tools/llm/simple/user-interaction-tools.ts +0 -277
  436. package/src/tools/office/common/constants.ts +0 -335
  437. package/src/tools/office/common/index.ts +0 -133
  438. package/src/tools/office/common/types.ts +0 -286
  439. package/src/tools/office/common/utils.ts +0 -116
  440. package/src/tools/office/excel-client.ts +0 -1336
  441. package/src/tools/office/excel-tools/cells.ts +0 -359
  442. package/src/tools/office/excel-tools/charts.ts +0 -166
  443. package/src/tools/office/excel-tools/comments.ts +0 -155
  444. package/src/tools/office/excel-tools/data-ops.ts +0 -349
  445. package/src/tools/office/excel-tools/export.ts +0 -105
  446. package/src/tools/office/excel-tools/formatting.ts +0 -357
  447. package/src/tools/office/excel-tools/index.ts +0 -55
  448. package/src/tools/office/excel-tools/launch.ts +0 -303
  449. package/src/tools/office/excel-tools/media.ts +0 -117
  450. package/src/tools/office/excel-tools/named-ranges.ts +0 -148
  451. package/src/tools/office/excel-tools/protection.ts +0 -105
  452. package/src/tools/office/excel-tools/rows-columns.ts +0 -386
  453. package/src/tools/office/excel-tools/sheets.ts +0 -228
  454. package/src/tools/office/excel-tools/validation.ts +0 -226
  455. package/src/tools/office/excel-tools.ts +0 -9
  456. package/src/tools/office/index.ts +0 -259
  457. package/src/tools/office/office-client-base.ts +0 -242
  458. package/src/tools/office/office-client.ts +0 -377
  459. package/src/tools/office/powerpoint-client.ts +0 -1498
  460. package/src/tools/office/powerpoint-tools/effects.ts +0 -315
  461. package/src/tools/office/powerpoint-tools/export.ts +0 -138
  462. package/src/tools/office/powerpoint-tools/index.ts +0 -45
  463. package/src/tools/office/powerpoint-tools/launch.ts +0 -263
  464. package/src/tools/office/powerpoint-tools/media.ts +0 -291
  465. package/src/tools/office/powerpoint-tools/notes.ts +0 -220
  466. package/src/tools/office/powerpoint-tools/sections.ts +0 -140
  467. package/src/tools/office/powerpoint-tools/shapes.ts +0 -870
  468. package/src/tools/office/powerpoint-tools/slides.ts +0 -350
  469. package/src/tools/office/powerpoint-tools/tables.ts +0 -182
  470. package/src/tools/office/powerpoint-tools/text.ts +0 -473
  471. package/src/tools/office/powerpoint-tools.ts +0 -9
  472. package/src/tools/office/word-client.ts +0 -1697
  473. package/src/tools/office/word-tools/bookmarks.ts +0 -186
  474. package/src/tools/office/word-tools/comments.ts +0 -185
  475. package/src/tools/office/word-tools/content.ts +0 -229
  476. package/src/tools/office/word-tools/export.ts +0 -97
  477. package/src/tools/office/word-tools/formatting.ts +0 -161
  478. package/src/tools/office/word-tools/headers-footers.ts +0 -155
  479. package/src/tools/office/word-tools/index.ts +0 -57
  480. package/src/tools/office/word-tools/launch.ts +0 -312
  481. package/src/tools/office/word-tools/lists.ts +0 -97
  482. package/src/tools/office/word-tools/navigation.ts +0 -114
  483. package/src/tools/office/word-tools/page-setup.ts +0 -195
  484. package/src/tools/office/word-tools/tables.ts +0 -262
  485. package/src/tools/office/word-tools/text.ts +0 -294
  486. package/src/tools/office/word-tools/undo-redo.ts +0 -97
  487. package/src/tools/office/word-tools/watermarks.ts +0 -105
  488. package/src/tools/office/word-tools.ts +0 -9
  489. package/src/tools/registry.ts +0 -527
  490. package/src/tools/types.ts +0 -231
  491. package/src/types/index.ts +0 -181
  492. package/src/ui/PlanExecuteView.tsx +0 -119
  493. package/src/ui/TodoPanel.tsx +0 -240
  494. package/src/ui/UpdateNotification.tsx +0 -105
  495. package/src/ui/components/ActivityIndicator.tsx +0 -234
  496. package/src/ui/components/CommandBrowser.tsx +0 -114
  497. package/src/ui/components/CustomTextInput.tsx +0 -389
  498. package/src/ui/components/DocsSearchProgress.tsx +0 -85
  499. package/src/ui/components/FileBrowser.tsx +0 -93
  500. package/src/ui/components/LLMSetupWizard.tsx +0 -333
  501. package/src/ui/components/Logo.tsx +0 -125
  502. package/src/ui/components/MarkdownRenderer.tsx +0 -358
  503. package/src/ui/components/ModelSelector.tsx +0 -203
  504. package/src/ui/components/PlanExecuteApp.tsx +0 -2007
  505. package/src/ui/components/ProgressBar.tsx +0 -51
  506. package/src/ui/components/StatusBar.tsx +0 -302
  507. package/src/ui/components/ThinkingIndicator.tsx +0 -120
  508. package/src/ui/components/TodoListView.tsx +0 -140
  509. package/src/ui/components/ToolSelector.tsx +0 -215
  510. package/src/ui/components/dialogs/ApprovalDialog.tsx +0 -259
  511. package/src/ui/components/dialogs/AskUserDialog.tsx +0 -159
  512. package/src/ui/components/dialogs/DocsBrowser.tsx +0 -222
  513. package/src/ui/components/dialogs/SettingsDialog.tsx +0 -939
  514. package/src/ui/components/dialogs/index.ts +0 -13
  515. package/src/ui/components/index.ts +0 -27
  516. package/src/ui/components/panels/LogPanel.tsx +0 -385
  517. package/src/ui/components/panels/SessionPanel.tsx +0 -146
  518. package/src/ui/components/panels/index.ts +0 -13
  519. package/src/ui/components/views/ChatView.tsx +0 -447
  520. package/src/ui/components/views/index.ts +0 -5
  521. package/src/ui/contexts/TokenContext.tsx +0 -139
  522. package/src/ui/hooks/atFileProcessor.ts +0 -167
  523. package/src/ui/hooks/index.ts +0 -11
  524. package/src/ui/hooks/slashCommandProcessor.ts +0 -174
  525. package/src/ui/hooks/useCommandBrowserState.ts +0 -97
  526. package/src/ui/hooks/useFileBrowserState.ts +0 -116
  527. package/src/ui/hooks/useFileList.ts +0 -132
  528. package/src/ui/hooks/useInputHistory.ts +0 -89
  529. package/src/ui/hooks/usePlanExecution.ts +0 -339
  530. package/src/ui/index.ts +0 -10
  531. package/src/ui/ink-entry.tsx +0 -36
  532. package/src/utils/env-filter.ts +0 -164
  533. package/src/utils/file-system.ts +0 -133
  534. package/src/utils/git-utils.ts +0 -30
  535. package/src/utils/json-stream-logger.ts +0 -1259
  536. package/src/utils/logger.ts +0 -2767
  537. package/src/utils/platform-utils.ts +0 -256
  538. package/src/utils/wsl-utils.ts +0 -113
  539. package/tsconfig.electron.json +0 -39
  540. package/tsconfig.json +0 -64
package/README.md CHANGED
@@ -144,14 +144,14 @@ Every file modification requires your explicit approval:
144
144
  ### Slash Commands
145
145
  | Command | Description |
146
146
  |---------|-------------|
147
- | `/help` | Help |
147
+ | `/help` | Show available commands |
148
148
  | `/clear` | Reset conversation |
149
149
  | `/compact` | Compress conversation |
150
150
  | `/load` | Load saved session |
151
- | `/model` | Switch model |
151
+ | `/model` | Switch LLM model |
152
152
  | `/settings` | Settings menu |
153
- | `/usage` | Token usage |
154
- | `/docs` | Docs management |
153
+ | `/usage` | Token usage statistics |
154
+ | `/sync` | Sync LLM configs with Orquesta dashboard |
155
155
  | `/tool` | Toggle optional tools (browser/office) |
156
156
 
157
157
  ### Keyboard Shortcuts
@@ -172,6 +172,11 @@ orquesta [options]
172
172
 
173
173
  Options:
174
174
  -p, --print <prompt> Execute a prompt and exit (non-interactive)
175
+ --token <token> Connect to Orquesta with CLI token (oclt_xxx)
176
+ --switch-project [projectId] Switch to different project
177
+ --status Show Orquesta connection status
178
+ --disconnect Disconnect from Orquesta
179
+ --sync Sync LLM configs with dashboard
175
180
  --dangerously-skip-permissions Skip all permission prompts (auto-approve)
176
181
  --verbose Enable verbose logging
177
182
  --debug Enable debug logging
@@ -180,6 +185,27 @@ Options:
180
185
  -V, --version Output version number
181
186
  ```
182
187
 
188
+ ### Orquesta Dashboard Integration
189
+
190
+ Connect to [Orquesta](https://orquesta.live) to sync LLM configurations across your team:
191
+
192
+ ```bash
193
+ # First time: Connect with token (get from https://orquesta.live/dashboard/orquesta-cli)
194
+ orquesta --token oclt_xxxxx
195
+
196
+ # You'll see a project selector - choose your project
197
+ # LLM endpoints will auto-sync from dashboard
198
+
199
+ # Later: Switch to different project
200
+ orquesta --switch-project
201
+
202
+ # Check connection status
203
+ orquesta --status
204
+
205
+ # Manual sync (also available via /sync command while running)
206
+ orquesta --sync
207
+ ```
208
+
183
209
  ---
184
210
 
185
211
  ## Office Automation (60+ Tools)
package/dist/cli.js CHANGED
@@ -11,6 +11,8 @@ import { setupLogging, logger } from './utils/logger.js';
11
11
  import { runEvalMode } from './eval/index.js';
12
12
  import { initializeOptionalTools } from './tools/registry.js';
13
13
  import { sessionManager } from './core/session/session-manager.js';
14
+ import { connectWithToken, showConnectionStatus, disconnectFromOrquesta, switchProject } from './setup/first-run-setup.js';
15
+ import { syncOrquestaConfigs } from './orquesta/config-sync.js';
14
16
  const require = createRequire(import.meta.url);
15
17
  const packageJson = require('../package.json');
16
18
  const program = new Command();
@@ -26,11 +28,53 @@ program
26
28
  .option('--debug', 'Enable debug logging')
27
29
  .option('--llm-log', 'Enable LLM logging')
28
30
  .option('--eval', 'Evaluation mode: read JSON from stdin, output NDJSON events')
31
+ .option('--token <token>', 'Connect to Orquesta dashboard with CLI token')
32
+ .option('--project <projectId>', 'Select project ID when connecting with token')
33
+ .option('--switch-project [projectId]', 'Switch to a different project')
34
+ .option('--status', 'Show Orquesta connection status and exit')
35
+ .option('--disconnect', 'Disconnect from Orquesta and exit')
36
+ .option('--sync', 'Sync configurations with Orquesta and exit')
29
37
  .action(async (options) => {
30
38
  if (options.eval) {
31
39
  await runEvalMode();
32
40
  return;
33
41
  }
42
+ await configManager.initialize();
43
+ if (options.status) {
44
+ showConnectionStatus();
45
+ return;
46
+ }
47
+ if (options.disconnect) {
48
+ await disconnectFromOrquesta();
49
+ return;
50
+ }
51
+ if (options.switchProject !== undefined) {
52
+ const projectId = typeof options.switchProject === 'string' ? options.switchProject : undefined;
53
+ const success = await switchProject(projectId);
54
+ process.exit(success ? 0 : 1);
55
+ }
56
+ if (options.token) {
57
+ const result = await connectWithToken(options.token, options.project);
58
+ if (!result.connected) {
59
+ process.exit(1);
60
+ }
61
+ }
62
+ if (options.sync) {
63
+ if (!configManager.hasOrquestaConnection()) {
64
+ console.log(chalk.yellow('Not connected to Orquesta. Use --token to connect first.'));
65
+ process.exit(1);
66
+ }
67
+ const ora = (await import('ora')).default;
68
+ const spinner = ora({ text: chalk.cyan('Syncing configurations...'), color: 'cyan' }).start();
69
+ const result = await syncOrquestaConfigs();
70
+ if (result.success) {
71
+ spinner.succeed(chalk.green(`Synced: ${result.added} added, ${result.updated} updated, ${result.unchanged} unchanged`));
72
+ }
73
+ else {
74
+ spinner.fail(chalk.red(`Sync failed: ${result.error}`));
75
+ }
76
+ return;
77
+ }
34
78
  if (options.print) {
35
79
  const { EvalRunner } = await import('./eval/eval-runner.js');
36
80
  const runner = new EvalRunner();
@@ -63,13 +107,24 @@ program
63
107
  platform: process.platform,
64
108
  nodeVersion: process.version,
65
109
  });
66
- spinner.text = chalk.cyan('Loading configuration...');
67
- logger.flow('Initializing config manager');
68
- await configManager.initialize();
69
- logger.flow('Config manager initialized');
110
+ logger.flow('Config manager already initialized');
111
+ spinner.text = chalk.cyan('Loading tools...');
70
112
  logger.flow('Initializing optional tools');
71
113
  await initializeOptionalTools();
72
114
  logger.flow('Optional tools initialized');
115
+ if (configManager.hasOrquestaConnection() && configManager.shouldAutoSync()) {
116
+ spinner.text = chalk.cyan('Syncing with Orquesta...');
117
+ logger.flow('Auto-syncing with Orquesta');
118
+ try {
119
+ const syncResult = await syncOrquestaConfigs();
120
+ if (syncResult.success && (syncResult.added > 0 || syncResult.updated > 0)) {
121
+ logger.flow('Orquesta sync complete', { added: syncResult.added, updated: syncResult.updated });
122
+ }
123
+ }
124
+ catch (error) {
125
+ logger.warn('Orquesta sync failed', { error: error instanceof Error ? error.message : String(error) });
126
+ }
127
+ }
73
128
  spinner.text = chalk.cyan('Connecting to LLM...');
74
129
  let llmClient = null;
75
130
  let modelInfo = { model: 'Not configured', endpoint: 'Not configured' };
@@ -135,6 +190,12 @@ program.on('command:*', () => {
135
190
  console.error(chalk.red('⚠️ Unknown command.'));
136
191
  console.log(chalk.white('Usage: orquesta [options]\n'));
137
192
  console.log(chalk.white(' -p, --print <prompt> Execute a prompt and exit\n'));
193
+ console.log(chalk.white(' --token <token> Connect to Orquesta dashboard\n'));
194
+ console.log(chalk.white(' --project <id> Select project when connecting\n'));
195
+ console.log(chalk.white(' --switch-project [id] Switch to a different project\n'));
196
+ console.log(chalk.white(' --status Show Orquesta connection status\n'));
197
+ console.log(chalk.white(' --sync Sync configurations with Orquesta\n'));
198
+ console.log(chalk.white(' --disconnect Disconnect from Orquesta\n'));
138
199
  console.log(chalk.white(' --verbose Enable verbose logging\n'));
139
200
  console.log(chalk.white(' --debug Enable debug logging\n'));
140
201
  console.log(chalk.white('\nUse /help in interactive mode for more help.\n'));
package/dist/constants.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as path from 'path';
2
2
  import * as os from 'os';
3
- export const LOCAL_HOME_DIR = path.join(os.homedir(), '.hanseol');
3
+ export const LOCAL_HOME_DIR = path.join(os.homedir(), '.orquesta-cli');
4
4
  export const OPEN_HOME_DIR = LOCAL_HOME_DIR;
5
5
  export const CONFIG_FILE_PATH = path.join(LOCAL_HOME_DIR, 'config.json');
6
6
  export const DOCS_DIR = path.join(LOCAL_HOME_DIR, 'docs');
@@ -1,4 +1,4 @@
1
- import { OpenConfig, EndpointConfig, ModelInfo } from '../../types/index.js';
1
+ import { OpenConfig, EndpointConfig, ModelInfo, OrquestaConfig } from '../../types/index.js';
2
2
  export declare class ConfigManager {
3
3
  private config;
4
4
  private initialized;
@@ -39,6 +39,18 @@ export declare class ConfigManager {
39
39
  setEnabledTools(toolIds: string[]): Promise<void>;
40
40
  enableTool(toolId: string): Promise<void>;
41
41
  disableTool(toolId: string): Promise<void>;
42
+ hasOrquestaConnection(): boolean;
43
+ shouldAutoSync(): boolean;
44
+ getOrquestaConfig(): OrquestaConfig | undefined;
45
+ setOrquestaConfig(orquestaConfig: OrquestaConfig): Promise<void>;
46
+ clearOrquestaConnection(): Promise<void>;
47
+ updateLastSync(): Promise<void>;
48
+ mergeOrquestaEndpoints(orquestaEndpoints: EndpointConfig[]): Promise<{
49
+ added: number;
50
+ updated: number;
51
+ unchanged: number;
52
+ }>;
53
+ getLocalOnlyEndpoints(): EndpointConfig[];
42
54
  }
43
55
  export declare const configManager: ConfigManager;
44
56
  //# sourceMappingURL=config-manager.d.ts.map
@@ -254,6 +254,89 @@ export class ConfigManager {
254
254
  await this.saveConfig();
255
255
  }
256
256
  }
257
+ hasOrquestaConnection() {
258
+ if (!this.config) {
259
+ return false;
260
+ }
261
+ return !!this.config.orquesta?.token;
262
+ }
263
+ shouldAutoSync() {
264
+ if (!this.config?.orquesta) {
265
+ return false;
266
+ }
267
+ return this.config.orquesta.autoSync !== false;
268
+ }
269
+ getOrquestaConfig() {
270
+ return this.config?.orquesta;
271
+ }
272
+ async setOrquestaConfig(orquestaConfig) {
273
+ const config = this.getConfig();
274
+ config.orquesta = {
275
+ ...config.orquesta,
276
+ ...orquestaConfig,
277
+ };
278
+ await this.saveConfig();
279
+ }
280
+ async clearOrquestaConnection() {
281
+ const config = this.getConfig();
282
+ config.orquesta = undefined;
283
+ await this.saveConfig();
284
+ }
285
+ async updateLastSync() {
286
+ if (!this.config?.orquesta) {
287
+ return;
288
+ }
289
+ this.config.orquesta.lastSyncAt = new Date().toISOString();
290
+ await this.saveConfig();
291
+ }
292
+ async mergeOrquestaEndpoints(orquestaEndpoints) {
293
+ const config = this.getConfig();
294
+ let added = 0;
295
+ let updated = 0;
296
+ let unchanged = 0;
297
+ for (const remoteEndpoint of orquestaEndpoints) {
298
+ const existingIndex = config.endpoints.findIndex((ep) => ep.id === remoteEndpoint.id || ep.name === remoteEndpoint.name);
299
+ if (existingIndex >= 0) {
300
+ const existing = config.endpoints[existingIndex];
301
+ const hasChanges = existing.baseUrl !== remoteEndpoint.baseUrl ||
302
+ existing.apiKey !== remoteEndpoint.apiKey ||
303
+ JSON.stringify(existing.models) !== JSON.stringify(remoteEndpoint.models);
304
+ if (hasChanges) {
305
+ config.endpoints[existingIndex] = {
306
+ ...remoteEndpoint,
307
+ id: existing.id,
308
+ updatedAt: new Date(),
309
+ };
310
+ updated++;
311
+ }
312
+ else {
313
+ unchanged++;
314
+ }
315
+ }
316
+ else {
317
+ config.endpoints.push({
318
+ ...remoteEndpoint,
319
+ createdAt: new Date(),
320
+ updatedAt: new Date(),
321
+ });
322
+ added++;
323
+ }
324
+ }
325
+ if (!config.currentEndpoint && config.endpoints.length > 0) {
326
+ config.currentEndpoint = config.endpoints[0].id;
327
+ const firstModel = config.endpoints[0].models.find((m) => m.enabled);
328
+ if (firstModel) {
329
+ config.currentModel = firstModel.id;
330
+ }
331
+ }
332
+ await this.saveConfig();
333
+ await this.updateLastSync();
334
+ return { added, updated, unchanged };
335
+ }
336
+ getLocalOnlyEndpoints() {
337
+ const config = this.getConfig();
338
+ return config.endpoints;
339
+ }
257
340
  }
258
341
  export const configManager = new ConfigManager();
259
342
  //# sourceMappingURL=config-manager.js.map
@@ -18,6 +18,7 @@ export interface CommandHandlerContext {
18
18
  onShowSessionBrowser?: () => void;
19
19
  onShowSettings?: () => void;
20
20
  onShowModelSelector?: () => void;
21
+ onShowProjectSelector?: () => void;
21
22
  onShowToolSelector?: () => void;
22
23
  onCompact?: () => Promise<CompactResult>;
23
24
  }
@@ -1,6 +1,8 @@
1
1
  import { sessionManager } from './session/session-manager.js';
2
2
  import { usageTracker } from './usage-tracker.js';
3
3
  import { logger } from '../utils/logger.js';
4
+ import { fullSync } from '../orquesta/config-sync.js';
5
+ import { configManager } from './config/config-manager.js';
4
6
  export async function executeSlashCommand(command, context) {
5
7
  const trimmedCommand = command.trim();
6
8
  logger.enter('executeSlashCommand', { command: trimmedCommand });
@@ -144,6 +146,124 @@ export async function executeSlashCommand(command, context) {
144
146
  },
145
147
  };
146
148
  }
149
+ if (trimmedCommand === '/sync') {
150
+ logger.flow('Sync command received');
151
+ const orquestaConfig = configManager.getOrquestaConfig();
152
+ if (!orquestaConfig?.token) {
153
+ const notConnectedMessage = `❌ Not connected to Orquesta.\n\nTo sync configurations, first connect using an Orquesta CLI token:\n1. Go to https://orquesta.live/dashboard/orquesta-cli\n2. Generate a CLI token\n3. Run orquesta-cli again and enter your token`;
154
+ const updatedMessages = [
155
+ ...context.messages,
156
+ { role: 'assistant', content: notConnectedMessage },
157
+ ];
158
+ context.setMessages(updatedMessages);
159
+ return {
160
+ handled: true,
161
+ shouldContinue: false,
162
+ updatedContext: {
163
+ messages: updatedMessages,
164
+ },
165
+ };
166
+ }
167
+ const syncingMessage = `🔄 Syncing with Orquesta (${orquestaConfig.projectName || 'project'})...`;
168
+ const inProgressMessages = [
169
+ ...context.messages,
170
+ { role: 'assistant', content: syncingMessage },
171
+ ];
172
+ context.setMessages(inProgressMessages);
173
+ try {
174
+ const { pullResult, pushResult } = await fullSync();
175
+ let resultMessage = '';
176
+ if (pullResult.success) {
177
+ if (pullResult.added > 0 || pullResult.updated > 0) {
178
+ resultMessage += `✅ Pulled from dashboard: ${pullResult.added} added, ${pullResult.updated} updated\n`;
179
+ }
180
+ else {
181
+ resultMessage += `✅ Pulled from dashboard: No changes\n`;
182
+ }
183
+ }
184
+ else {
185
+ resultMessage += `⚠️ Pull failed: ${pullResult.error}\n`;
186
+ }
187
+ if (pushResult.success) {
188
+ const pushed = pushResult.results?.length || 0;
189
+ if (pushed > 0) {
190
+ resultMessage += `✅ Pushed to dashboard: ${pushed} endpoint(s)`;
191
+ }
192
+ else {
193
+ resultMessage += `✅ Pushed to dashboard: No local changes`;
194
+ }
195
+ }
196
+ else {
197
+ resultMessage += `⚠️ Push failed: ${pushResult.error}`;
198
+ }
199
+ const updatedMessages = [
200
+ ...context.messages,
201
+ { role: 'assistant', content: resultMessage },
202
+ ];
203
+ context.setMessages(updatedMessages);
204
+ return {
205
+ handled: true,
206
+ shouldContinue: false,
207
+ updatedContext: {
208
+ messages: updatedMessages,
209
+ },
210
+ };
211
+ }
212
+ catch (error) {
213
+ const errorMessage = `❌ Sync failed: ${error instanceof Error ? error.message : 'Unknown error'}`;
214
+ const updatedMessages = [
215
+ ...context.messages,
216
+ { role: 'assistant', content: errorMessage },
217
+ ];
218
+ context.setMessages(updatedMessages);
219
+ return {
220
+ handled: true,
221
+ shouldContinue: false,
222
+ updatedContext: {
223
+ messages: updatedMessages,
224
+ },
225
+ };
226
+ }
227
+ }
228
+ if (trimmedCommand === '/project') {
229
+ logger.flow('Project command received');
230
+ const orquestaConfig = configManager.getOrquestaConfig();
231
+ if (!orquestaConfig?.token) {
232
+ const notConnectedMessage = `❌ Not connected to Orquesta.\n\nTo switch projects, first connect using an Orquesta CLI token:\n1. Go to https://orquesta.live/dashboard/orquesta-cli\n2. Generate a CLI token\n3. Restart with: orquesta --token <your-token>`;
233
+ const updatedMessages = [
234
+ ...context.messages,
235
+ { role: 'assistant', content: notConnectedMessage },
236
+ ];
237
+ context.setMessages(updatedMessages);
238
+ return {
239
+ handled: true,
240
+ shouldContinue: false,
241
+ updatedContext: {
242
+ messages: updatedMessages,
243
+ },
244
+ };
245
+ }
246
+ if (context.onShowProjectSelector) {
247
+ context.onShowProjectSelector();
248
+ return {
249
+ handled: true,
250
+ shouldContinue: false,
251
+ };
252
+ }
253
+ const projectMessage = `Use /project in interactive mode to switch between projects.\n\nCurrent project: ${orquestaConfig.projectName || 'Unknown'}`;
254
+ const updatedMessages = [
255
+ ...context.messages,
256
+ { role: 'assistant', content: projectMessage },
257
+ ];
258
+ context.setMessages(updatedMessages);
259
+ return {
260
+ handled: true,
261
+ shouldContinue: false,
262
+ updatedContext: {
263
+ messages: updatedMessages,
264
+ },
265
+ };
266
+ }
147
267
  if (trimmedCommand === '/help') {
148
268
  const helpMessage = `
149
269
  Available commands:
@@ -152,14 +272,23 @@ Available commands:
152
272
  /compact - Compact conversation to free up context
153
273
  /settings - Open settings menu
154
274
  /model - Switch between LLM models
275
+ /project - Switch between Orquesta projects
155
276
  /tool - Enable/disable optional tools (Browser, Background)
156
277
  /load - Load a saved session
157
278
  /usage - Show token usage statistics
279
+ /sync - Bidirectional sync with Orquesta dashboard (pull & push LLM configs)
280
+
281
+ CLI Options (restart required):
282
+ --token <token> - Connect to Orquesta with CLI token
283
+ --status - Show Orquesta connection status
284
+ --disconnect - Disconnect from Orquesta
158
285
 
159
286
  Keyboard shortcuts:
160
287
  Ctrl+C - Exit
161
288
  Ctrl+T - Toggle TODO details
162
289
  ESC - Interrupt current execution
290
+ @ - File browser
291
+ / - Command autocomplete
163
292
 
164
293
  Note: All conversations are automatically saved.
165
294
  `;
@@ -0,0 +1,73 @@
1
+ interface ValidationResponse {
2
+ valid: boolean;
3
+ projectId?: string;
4
+ projectName?: string;
5
+ organizationId?: string;
6
+ organizationName?: string;
7
+ tokenName?: string;
8
+ supabaseUrl?: string;
9
+ supabaseAnonKey?: string;
10
+ channelName?: string;
11
+ error?: string;
12
+ }
13
+ interface OrquestaProject {
14
+ id: string;
15
+ name: string;
16
+ slug?: string;
17
+ description?: string;
18
+ }
19
+ interface ProjectsResponse {
20
+ organization: {
21
+ id: string;
22
+ name: string;
23
+ };
24
+ projects: OrquestaProject[];
25
+ }
26
+ interface SyncResult {
27
+ success: boolean;
28
+ added: number;
29
+ updated: number;
30
+ unchanged: number;
31
+ error?: string;
32
+ }
33
+ interface PushResult {
34
+ success: boolean;
35
+ results?: Array<{
36
+ id: string;
37
+ status?: string;
38
+ error?: string;
39
+ }>;
40
+ error?: string;
41
+ }
42
+ export declare function fetchOrquestaProjects(token: string): Promise<ProjectsResponse | null>;
43
+ export declare function validateOrquestaToken(token: string): Promise<ValidationResponse>;
44
+ export declare function syncOrquestaConfigs(): Promise<SyncResult>;
45
+ export declare function pushConfigsToOrquesta(): Promise<PushResult>;
46
+ export declare function submitPromptToOrquesta(prompt: {
47
+ content: string;
48
+ context?: Record<string, unknown>;
49
+ llmConfig?: {
50
+ endpoint: string;
51
+ model: string;
52
+ };
53
+ }): Promise<{
54
+ success: boolean;
55
+ promptId?: string;
56
+ error?: string;
57
+ }>;
58
+ export declare function updatePromptStatus(promptId: string, update: {
59
+ status?: 'pending' | 'running' | 'completed' | 'failed' | 'cancelled';
60
+ result?: string;
61
+ error?: string;
62
+ tokensUsed?: number;
63
+ costCents?: number;
64
+ }): Promise<{
65
+ success: boolean;
66
+ error?: string;
67
+ }>;
68
+ export declare function fullSync(): Promise<{
69
+ pullResult: SyncResult;
70
+ pushResult: PushResult;
71
+ }>;
72
+ export {};
73
+ //# sourceMappingURL=config-sync.d.ts.map