orquesta-cli 0.1.13 → 0.1.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (541) hide show
  1. package/README.md +30 -4
  2. package/dist/cli.js +65 -4
  3. package/dist/core/config/config-manager.d.ts +13 -1
  4. package/dist/core/config/config-manager.js +83 -0
  5. package/dist/core/slash-command-handler.d.ts +1 -0
  6. package/dist/core/slash-command-handler.js +129 -0
  7. package/dist/orquesta/config-sync.d.ts +73 -0
  8. package/dist/orquesta/config-sync.js +230 -0
  9. package/dist/orquesta/prompt-reporter.d.ts +16 -0
  10. package/dist/orquesta/prompt-reporter.js +85 -0
  11. package/dist/setup/first-run-setup.d.ts +15 -0
  12. package/dist/setup/first-run-setup.js +238 -0
  13. package/dist/types/index.d.ts +11 -2
  14. package/dist/ui/TodoPanel.d.ts +1 -0
  15. package/dist/ui/TodoPanel.js +6 -1
  16. package/dist/ui/components/LLMSetupWizard.js +381 -7
  17. package/dist/ui/components/Logo.d.ts +2 -0
  18. package/dist/ui/components/Logo.js +10 -3
  19. package/dist/ui/components/OpenRouterModelBrowser.d.ts +13 -0
  20. package/dist/ui/components/OpenRouterModelBrowser.js +221 -0
  21. package/dist/ui/components/PlanExecuteApp.js +30 -4
  22. package/dist/ui/components/ProjectSelector.d.ts +8 -0
  23. package/dist/ui/components/ProjectSelector.js +119 -0
  24. package/dist/ui/components/StatusBar.d.ts +2 -0
  25. package/dist/ui/components/StatusBar.js +6 -1
  26. package/dist/ui/hooks/slashCommandProcessor.js +8 -4
  27. package/package.json +11 -5
  28. package/.eslintrc.json +0 -26
  29. package/.prettierrc.json +0 -10
  30. package/CLAUDE.md +0 -199
  31. package/SECURITY.md +0 -290
  32. package/TEST_LOCAL.md +0 -245
  33. package/dist/agents/base/base-agent.d.ts.map +0 -1
  34. package/dist/agents/base/base-agent.js.map +0 -1
  35. package/dist/agents/docs-search/index.d.ts.map +0 -1
  36. package/dist/agents/docs-search/index.js.map +0 -1
  37. package/dist/agents/index.d.ts.map +0 -1
  38. package/dist/agents/index.js.map +0 -1
  39. package/dist/agents/planner/index.d.ts.map +0 -1
  40. package/dist/agents/planner/index.js.map +0 -1
  41. package/dist/cli.d.ts.map +0 -1
  42. package/dist/cli.js.map +0 -1
  43. package/dist/constants.d.ts.map +0 -1
  44. package/dist/constants.js.map +0 -1
  45. package/dist/core/compact/compact-manager.d.ts.map +0 -1
  46. package/dist/core/compact/compact-manager.js.map +0 -1
  47. package/dist/core/compact/compact-prompts.d.ts.map +0 -1
  48. package/dist/core/compact/compact-prompts.js.map +0 -1
  49. package/dist/core/compact/context-tracker.d.ts.map +0 -1
  50. package/dist/core/compact/context-tracker.js.map +0 -1
  51. package/dist/core/compact/index.d.ts.map +0 -1
  52. package/dist/core/compact/index.js.map +0 -1
  53. package/dist/core/config/config-manager.d.ts.map +0 -1
  54. package/dist/core/config/config-manager.js.map +0 -1
  55. package/dist/core/config/index.d.ts.map +0 -1
  56. package/dist/core/config/index.js.map +0 -1
  57. package/dist/core/docs-manager.d.ts.map +0 -1
  58. package/dist/core/docs-manager.js.map +0 -1
  59. package/dist/core/git-auto-updater.d.ts +0 -58
  60. package/dist/core/git-auto-updater.d.ts.map +0 -1
  61. package/dist/core/git-auto-updater.js +0 -374
  62. package/dist/core/git-auto-updater.js.map +0 -1
  63. package/dist/core/llm/index.d.ts.map +0 -1
  64. package/dist/core/llm/index.js.map +0 -1
  65. package/dist/core/llm/llm-client.d.ts.map +0 -1
  66. package/dist/core/llm/llm-client.js.map +0 -1
  67. package/dist/core/session/index.d.ts.map +0 -1
  68. package/dist/core/session/index.js.map +0 -1
  69. package/dist/core/session/session-manager.d.ts.map +0 -1
  70. package/dist/core/session/session-manager.js.map +0 -1
  71. package/dist/core/slash-command-handler.d.ts.map +0 -1
  72. package/dist/core/slash-command-handler.js.map +0 -1
  73. package/dist/core/usage-tracker.d.ts.map +0 -1
  74. package/dist/core/usage-tracker.js.map +0 -1
  75. package/dist/errors/base.d.ts.map +0 -1
  76. package/dist/errors/base.js.map +0 -1
  77. package/dist/errors/file.d.ts.map +0 -1
  78. package/dist/errors/file.js.map +0 -1
  79. package/dist/errors/index.d.ts.map +0 -1
  80. package/dist/errors/index.js.map +0 -1
  81. package/dist/errors/llm.d.ts.map +0 -1
  82. package/dist/errors/llm.js.map +0 -1
  83. package/dist/errors/network.d.ts.map +0 -1
  84. package/dist/errors/network.js.map +0 -1
  85. package/dist/errors/validation.d.ts.map +0 -1
  86. package/dist/errors/validation.js.map +0 -1
  87. package/dist/eval/eval-runner.d.ts.map +0 -1
  88. package/dist/eval/eval-runner.js.map +0 -1
  89. package/dist/eval/index.d.ts.map +0 -1
  90. package/dist/eval/index.js.map +0 -1
  91. package/dist/eval/types.d.ts.map +0 -1
  92. package/dist/eval/types.js.map +0 -1
  93. package/dist/index.d.ts.map +0 -1
  94. package/dist/index.js.map +0 -1
  95. package/dist/orchestration/index.d.ts.map +0 -1
  96. package/dist/orchestration/index.js.map +0 -1
  97. package/dist/orchestration/plan-executor.d.ts.map +0 -1
  98. package/dist/orchestration/plan-executor.js.map +0 -1
  99. package/dist/orchestration/types.d.ts.map +0 -1
  100. package/dist/orchestration/types.js.map +0 -1
  101. package/dist/orchestration/utils.d.ts.map +0 -1
  102. package/dist/orchestration/utils.js.map +0 -1
  103. package/dist/orquesta/connection.d.ts.map +0 -1
  104. package/dist/orquesta/connection.js.map +0 -1
  105. package/dist/prompts/agents/docs-search-decision.d.ts.map +0 -1
  106. package/dist/prompts/agents/docs-search-decision.js.map +0 -1
  107. package/dist/prompts/agents/docs-search.d.ts.map +0 -1
  108. package/dist/prompts/agents/docs-search.js.map +0 -1
  109. package/dist/prompts/agents/planning.d.ts.map +0 -1
  110. package/dist/prompts/agents/planning.js.map +0 -1
  111. package/dist/prompts/index.d.ts.map +0 -1
  112. package/dist/prompts/index.js.map +0 -1
  113. package/dist/prompts/shared/codebase-rules.d.ts.map +0 -1
  114. package/dist/prompts/shared/codebase-rules.js.map +0 -1
  115. package/dist/prompts/shared/git-rules.d.ts.map +0 -1
  116. package/dist/prompts/shared/git-rules.js.map +0 -1
  117. package/dist/prompts/shared/language-rules.d.ts.map +0 -1
  118. package/dist/prompts/shared/language-rules.js.map +0 -1
  119. package/dist/prompts/shared/tool-usage.d.ts.map +0 -1
  120. package/dist/prompts/shared/tool-usage.js.map +0 -1
  121. package/dist/prompts/system/compact.d.ts.map +0 -1
  122. package/dist/prompts/system/compact.js.map +0 -1
  123. package/dist/prompts/system/plan-execute.d.ts.map +0 -1
  124. package/dist/prompts/system/plan-execute.js.map +0 -1
  125. package/dist/tools/browser/browser-client.d.ts.map +0 -1
  126. package/dist/tools/browser/browser-client.js.map +0 -1
  127. package/dist/tools/browser/browser-tools.d.ts.map +0 -1
  128. package/dist/tools/browser/browser-tools.js.map +0 -1
  129. package/dist/tools/browser/index.d.ts.map +0 -1
  130. package/dist/tools/browser/index.js.map +0 -1
  131. package/dist/tools/index.d.ts.map +0 -1
  132. package/dist/tools/index.js.map +0 -1
  133. package/dist/tools/llm/agents/docs-search-tools.d.ts.map +0 -1
  134. package/dist/tools/llm/agents/docs-search-tools.js.map +0 -1
  135. package/dist/tools/llm/agents/index.d.ts.map +0 -1
  136. package/dist/tools/llm/agents/index.js.map +0 -1
  137. package/dist/tools/llm/index.d.ts.map +0 -1
  138. package/dist/tools/llm/index.js.map +0 -1
  139. package/dist/tools/llm/simple/ask-user-tool.d.ts.map +0 -1
  140. package/dist/tools/llm/simple/ask-user-tool.js.map +0 -1
  141. package/dist/tools/llm/simple/background-bash-tool.d.ts.map +0 -1
  142. package/dist/tools/llm/simple/background-bash-tool.js.map +0 -1
  143. package/dist/tools/llm/simple/background-powershell-tool.d.ts.map +0 -1
  144. package/dist/tools/llm/simple/background-powershell-tool.js.map +0 -1
  145. package/dist/tools/llm/simple/bash-tool.d.ts.map +0 -1
  146. package/dist/tools/llm/simple/bash-tool.js.map +0 -1
  147. package/dist/tools/llm/simple/docs-search-agent-tool.d.ts.map +0 -1
  148. package/dist/tools/llm/simple/docs-search-agent-tool.js.map +0 -1
  149. package/dist/tools/llm/simple/file-tools.d.ts.map +0 -1
  150. package/dist/tools/llm/simple/file-tools.js.map +0 -1
  151. package/dist/tools/llm/simple/final-response-tool.d.ts.map +0 -1
  152. package/dist/tools/llm/simple/final-response-tool.js.map +0 -1
  153. package/dist/tools/llm/simple/index.d.ts.map +0 -1
  154. package/dist/tools/llm/simple/index.js.map +0 -1
  155. package/dist/tools/llm/simple/planning-tools.d.ts.map +0 -1
  156. package/dist/tools/llm/simple/planning-tools.js.map +0 -1
  157. package/dist/tools/llm/simple/powershell-tool.d.ts.map +0 -1
  158. package/dist/tools/llm/simple/powershell-tool.js.map +0 -1
  159. package/dist/tools/llm/simple/simple-tool-executor.d.ts.map +0 -1
  160. package/dist/tools/llm/simple/simple-tool-executor.js.map +0 -1
  161. package/dist/tools/llm/simple/todo-tools.d.ts.map +0 -1
  162. package/dist/tools/llm/simple/todo-tools.js.map +0 -1
  163. package/dist/tools/llm/simple/user-interaction-tools.d.ts.map +0 -1
  164. package/dist/tools/llm/simple/user-interaction-tools.js.map +0 -1
  165. package/dist/tools/office/common/constants.d.ts.map +0 -1
  166. package/dist/tools/office/common/constants.js.map +0 -1
  167. package/dist/tools/office/common/index.d.ts.map +0 -1
  168. package/dist/tools/office/common/index.js.map +0 -1
  169. package/dist/tools/office/common/types.d.ts.map +0 -1
  170. package/dist/tools/office/common/types.js.map +0 -1
  171. package/dist/tools/office/common/utils.d.ts.map +0 -1
  172. package/dist/tools/office/common/utils.js.map +0 -1
  173. package/dist/tools/office/excel-client.d.ts.map +0 -1
  174. package/dist/tools/office/excel-client.js.map +0 -1
  175. package/dist/tools/office/excel-tools/cells.d.ts.map +0 -1
  176. package/dist/tools/office/excel-tools/cells.js.map +0 -1
  177. package/dist/tools/office/excel-tools/charts.d.ts.map +0 -1
  178. package/dist/tools/office/excel-tools/charts.js.map +0 -1
  179. package/dist/tools/office/excel-tools/comments.d.ts.map +0 -1
  180. package/dist/tools/office/excel-tools/comments.js.map +0 -1
  181. package/dist/tools/office/excel-tools/data-ops.d.ts.map +0 -1
  182. package/dist/tools/office/excel-tools/data-ops.js.map +0 -1
  183. package/dist/tools/office/excel-tools/export.d.ts.map +0 -1
  184. package/dist/tools/office/excel-tools/export.js.map +0 -1
  185. package/dist/tools/office/excel-tools/formatting.d.ts.map +0 -1
  186. package/dist/tools/office/excel-tools/formatting.js.map +0 -1
  187. package/dist/tools/office/excel-tools/index.d.ts.map +0 -1
  188. package/dist/tools/office/excel-tools/index.js.map +0 -1
  189. package/dist/tools/office/excel-tools/launch.d.ts.map +0 -1
  190. package/dist/tools/office/excel-tools/launch.js.map +0 -1
  191. package/dist/tools/office/excel-tools/media.d.ts.map +0 -1
  192. package/dist/tools/office/excel-tools/media.js.map +0 -1
  193. package/dist/tools/office/excel-tools/named-ranges.d.ts.map +0 -1
  194. package/dist/tools/office/excel-tools/named-ranges.js.map +0 -1
  195. package/dist/tools/office/excel-tools/protection.d.ts.map +0 -1
  196. package/dist/tools/office/excel-tools/protection.js.map +0 -1
  197. package/dist/tools/office/excel-tools/rows-columns.d.ts.map +0 -1
  198. package/dist/tools/office/excel-tools/rows-columns.js.map +0 -1
  199. package/dist/tools/office/excel-tools/sheets.d.ts.map +0 -1
  200. package/dist/tools/office/excel-tools/sheets.js.map +0 -1
  201. package/dist/tools/office/excel-tools/validation.d.ts.map +0 -1
  202. package/dist/tools/office/excel-tools/validation.js.map +0 -1
  203. package/dist/tools/office/excel-tools.d.ts.map +0 -1
  204. package/dist/tools/office/excel-tools.js.map +0 -1
  205. package/dist/tools/office/index.d.ts.map +0 -1
  206. package/dist/tools/office/index.js.map +0 -1
  207. package/dist/tools/office/office-client-base.d.ts.map +0 -1
  208. package/dist/tools/office/office-client-base.js.map +0 -1
  209. package/dist/tools/office/office-client.d.ts.map +0 -1
  210. package/dist/tools/office/office-client.js.map +0 -1
  211. package/dist/tools/office/powerpoint-client.d.ts.map +0 -1
  212. package/dist/tools/office/powerpoint-client.js.map +0 -1
  213. package/dist/tools/office/powerpoint-tools/effects.d.ts.map +0 -1
  214. package/dist/tools/office/powerpoint-tools/effects.js.map +0 -1
  215. package/dist/tools/office/powerpoint-tools/export.d.ts.map +0 -1
  216. package/dist/tools/office/powerpoint-tools/export.js.map +0 -1
  217. package/dist/tools/office/powerpoint-tools/index.d.ts.map +0 -1
  218. package/dist/tools/office/powerpoint-tools/index.js.map +0 -1
  219. package/dist/tools/office/powerpoint-tools/launch.d.ts.map +0 -1
  220. package/dist/tools/office/powerpoint-tools/launch.js.map +0 -1
  221. package/dist/tools/office/powerpoint-tools/media.d.ts.map +0 -1
  222. package/dist/tools/office/powerpoint-tools/media.js.map +0 -1
  223. package/dist/tools/office/powerpoint-tools/notes.d.ts.map +0 -1
  224. package/dist/tools/office/powerpoint-tools/notes.js.map +0 -1
  225. package/dist/tools/office/powerpoint-tools/sections.d.ts.map +0 -1
  226. package/dist/tools/office/powerpoint-tools/sections.js.map +0 -1
  227. package/dist/tools/office/powerpoint-tools/shapes.d.ts.map +0 -1
  228. package/dist/tools/office/powerpoint-tools/shapes.js.map +0 -1
  229. package/dist/tools/office/powerpoint-tools/slides.d.ts.map +0 -1
  230. package/dist/tools/office/powerpoint-tools/slides.js.map +0 -1
  231. package/dist/tools/office/powerpoint-tools/tables.d.ts.map +0 -1
  232. package/dist/tools/office/powerpoint-tools/tables.js.map +0 -1
  233. package/dist/tools/office/powerpoint-tools/text.d.ts.map +0 -1
  234. package/dist/tools/office/powerpoint-tools/text.js.map +0 -1
  235. package/dist/tools/office/powerpoint-tools.d.ts.map +0 -1
  236. package/dist/tools/office/powerpoint-tools.js.map +0 -1
  237. package/dist/tools/office/word-client.d.ts.map +0 -1
  238. package/dist/tools/office/word-client.js.map +0 -1
  239. package/dist/tools/office/word-tools/bookmarks.d.ts.map +0 -1
  240. package/dist/tools/office/word-tools/bookmarks.js.map +0 -1
  241. package/dist/tools/office/word-tools/comments.d.ts.map +0 -1
  242. package/dist/tools/office/word-tools/comments.js.map +0 -1
  243. package/dist/tools/office/word-tools/content.d.ts.map +0 -1
  244. package/dist/tools/office/word-tools/content.js.map +0 -1
  245. package/dist/tools/office/word-tools/export.d.ts.map +0 -1
  246. package/dist/tools/office/word-tools/export.js.map +0 -1
  247. package/dist/tools/office/word-tools/formatting.d.ts.map +0 -1
  248. package/dist/tools/office/word-tools/formatting.js.map +0 -1
  249. package/dist/tools/office/word-tools/headers-footers.d.ts.map +0 -1
  250. package/dist/tools/office/word-tools/headers-footers.js.map +0 -1
  251. package/dist/tools/office/word-tools/index.d.ts.map +0 -1
  252. package/dist/tools/office/word-tools/index.js.map +0 -1
  253. package/dist/tools/office/word-tools/launch.d.ts.map +0 -1
  254. package/dist/tools/office/word-tools/launch.js.map +0 -1
  255. package/dist/tools/office/word-tools/lists.d.ts.map +0 -1
  256. package/dist/tools/office/word-tools/lists.js.map +0 -1
  257. package/dist/tools/office/word-tools/navigation.d.ts.map +0 -1
  258. package/dist/tools/office/word-tools/navigation.js.map +0 -1
  259. package/dist/tools/office/word-tools/page-setup.d.ts.map +0 -1
  260. package/dist/tools/office/word-tools/page-setup.js.map +0 -1
  261. package/dist/tools/office/word-tools/tables.d.ts.map +0 -1
  262. package/dist/tools/office/word-tools/tables.js.map +0 -1
  263. package/dist/tools/office/word-tools/text.d.ts.map +0 -1
  264. package/dist/tools/office/word-tools/text.js.map +0 -1
  265. package/dist/tools/office/word-tools/undo-redo.d.ts.map +0 -1
  266. package/dist/tools/office/word-tools/undo-redo.js.map +0 -1
  267. package/dist/tools/office/word-tools/watermarks.d.ts.map +0 -1
  268. package/dist/tools/office/word-tools/watermarks.js.map +0 -1
  269. package/dist/tools/office/word-tools.d.ts.map +0 -1
  270. package/dist/tools/office/word-tools.js.map +0 -1
  271. package/dist/tools/registry.d.ts.map +0 -1
  272. package/dist/tools/registry.js.map +0 -1
  273. package/dist/tools/types.d.ts.map +0 -1
  274. package/dist/tools/types.js.map +0 -1
  275. package/dist/types/index.d.ts.map +0 -1
  276. package/dist/types/index.js.map +0 -1
  277. package/dist/ui/PlanExecuteView.d.ts.map +0 -1
  278. package/dist/ui/PlanExecuteView.js.map +0 -1
  279. package/dist/ui/TodoPanel.d.ts.map +0 -1
  280. package/dist/ui/TodoPanel.js.map +0 -1
  281. package/dist/ui/UpdateNotification.d.ts.map +0 -1
  282. package/dist/ui/UpdateNotification.js.map +0 -1
  283. package/dist/ui/components/ActivityIndicator.d.ts.map +0 -1
  284. package/dist/ui/components/ActivityIndicator.js.map +0 -1
  285. package/dist/ui/components/CommandBrowser.d.ts.map +0 -1
  286. package/dist/ui/components/CommandBrowser.js.map +0 -1
  287. package/dist/ui/components/CustomTextInput.d.ts.map +0 -1
  288. package/dist/ui/components/CustomTextInput.js.map +0 -1
  289. package/dist/ui/components/DocsSearchProgress.d.ts.map +0 -1
  290. package/dist/ui/components/DocsSearchProgress.js.map +0 -1
  291. package/dist/ui/components/FileBrowser.d.ts.map +0 -1
  292. package/dist/ui/components/FileBrowser.js.map +0 -1
  293. package/dist/ui/components/LLMSetupWizard.d.ts.map +0 -1
  294. package/dist/ui/components/LLMSetupWizard.js.map +0 -1
  295. package/dist/ui/components/Logo.d.ts.map +0 -1
  296. package/dist/ui/components/Logo.js.map +0 -1
  297. package/dist/ui/components/MarkdownRenderer.d.ts.map +0 -1
  298. package/dist/ui/components/MarkdownRenderer.js.map +0 -1
  299. package/dist/ui/components/ModelSelector.d.ts.map +0 -1
  300. package/dist/ui/components/ModelSelector.js.map +0 -1
  301. package/dist/ui/components/PlanExecuteApp.d.ts.map +0 -1
  302. package/dist/ui/components/PlanExecuteApp.js.map +0 -1
  303. package/dist/ui/components/ProgressBar.d.ts.map +0 -1
  304. package/dist/ui/components/ProgressBar.js.map +0 -1
  305. package/dist/ui/components/StatusBar.d.ts.map +0 -1
  306. package/dist/ui/components/StatusBar.js.map +0 -1
  307. package/dist/ui/components/ThinkingIndicator.d.ts.map +0 -1
  308. package/dist/ui/components/ThinkingIndicator.js.map +0 -1
  309. package/dist/ui/components/TodoListView.d.ts.map +0 -1
  310. package/dist/ui/components/TodoListView.js.map +0 -1
  311. package/dist/ui/components/ToolSelector.d.ts.map +0 -1
  312. package/dist/ui/components/ToolSelector.js.map +0 -1
  313. package/dist/ui/components/dialogs/ApprovalDialog.d.ts.map +0 -1
  314. package/dist/ui/components/dialogs/ApprovalDialog.js.map +0 -1
  315. package/dist/ui/components/dialogs/AskUserDialog.d.ts.map +0 -1
  316. package/dist/ui/components/dialogs/AskUserDialog.js.map +0 -1
  317. package/dist/ui/components/dialogs/DocsBrowser.d.ts.map +0 -1
  318. package/dist/ui/components/dialogs/DocsBrowser.js.map +0 -1
  319. package/dist/ui/components/dialogs/SettingsDialog.d.ts.map +0 -1
  320. package/dist/ui/components/dialogs/SettingsDialog.js.map +0 -1
  321. package/dist/ui/components/dialogs/index.d.ts.map +0 -1
  322. package/dist/ui/components/dialogs/index.js.map +0 -1
  323. package/dist/ui/components/index.d.ts.map +0 -1
  324. package/dist/ui/components/index.js.map +0 -1
  325. package/dist/ui/components/panels/LogPanel.d.ts.map +0 -1
  326. package/dist/ui/components/panels/LogPanel.js.map +0 -1
  327. package/dist/ui/components/panels/SessionPanel.d.ts.map +0 -1
  328. package/dist/ui/components/panels/SessionPanel.js.map +0 -1
  329. package/dist/ui/components/panels/index.d.ts.map +0 -1
  330. package/dist/ui/components/panels/index.js.map +0 -1
  331. package/dist/ui/components/views/ChatView.d.ts.map +0 -1
  332. package/dist/ui/components/views/ChatView.js.map +0 -1
  333. package/dist/ui/components/views/index.d.ts.map +0 -1
  334. package/dist/ui/components/views/index.js.map +0 -1
  335. package/dist/ui/contexts/TokenContext.d.ts.map +0 -1
  336. package/dist/ui/contexts/TokenContext.js.map +0 -1
  337. package/dist/ui/hooks/atFileProcessor.d.ts.map +0 -1
  338. package/dist/ui/hooks/atFileProcessor.js.map +0 -1
  339. package/dist/ui/hooks/index.d.ts.map +0 -1
  340. package/dist/ui/hooks/index.js.map +0 -1
  341. package/dist/ui/hooks/slashCommandProcessor.d.ts.map +0 -1
  342. package/dist/ui/hooks/slashCommandProcessor.js.map +0 -1
  343. package/dist/ui/hooks/useCommandBrowserState.d.ts.map +0 -1
  344. package/dist/ui/hooks/useCommandBrowserState.js.map +0 -1
  345. package/dist/ui/hooks/useFileBrowserState.d.ts.map +0 -1
  346. package/dist/ui/hooks/useFileBrowserState.js.map +0 -1
  347. package/dist/ui/hooks/useFileList.d.ts.map +0 -1
  348. package/dist/ui/hooks/useFileList.js.map +0 -1
  349. package/dist/ui/hooks/useInputHistory.d.ts.map +0 -1
  350. package/dist/ui/hooks/useInputHistory.js.map +0 -1
  351. package/dist/ui/hooks/usePlanExecution.d.ts.map +0 -1
  352. package/dist/ui/hooks/usePlanExecution.js.map +0 -1
  353. package/dist/ui/index.d.ts.map +0 -1
  354. package/dist/ui/index.js.map +0 -1
  355. package/dist/ui/ink-entry.d.ts.map +0 -1
  356. package/dist/ui/ink-entry.js.map +0 -1
  357. package/dist/utils/env-filter.d.ts.map +0 -1
  358. package/dist/utils/env-filter.js.map +0 -1
  359. package/dist/utils/file-system.d.ts.map +0 -1
  360. package/dist/utils/file-system.js.map +0 -1
  361. package/dist/utils/git-utils.d.ts.map +0 -1
  362. package/dist/utils/git-utils.js.map +0 -1
  363. package/dist/utils/json-stream-logger.d.ts.map +0 -1
  364. package/dist/utils/json-stream-logger.js.map +0 -1
  365. package/dist/utils/logger.d.ts.map +0 -1
  366. package/dist/utils/logger.js.map +0 -1
  367. package/dist/utils/platform-utils.d.ts.map +0 -1
  368. package/dist/utils/platform-utils.js.map +0 -1
  369. package/dist/utils/wsl-utils.d.ts.map +0 -1
  370. package/dist/utils/wsl-utils.js.map +0 -1
  371. package/electron.vite.config.ts +0 -63
  372. package/google374b9eba0c52b043.html +0 -1
  373. package/src/agents/base/base-agent.ts +0 -159
  374. package/src/agents/docs-search/index.ts +0 -365
  375. package/src/agents/index.ts +0 -34
  376. package/src/agents/planner/index.ts +0 -544
  377. package/src/cli.ts +0 -201
  378. package/src/constants.ts +0 -47
  379. package/src/core/compact/compact-manager.ts +0 -160
  380. package/src/core/compact/compact-prompts.ts +0 -150
  381. package/src/core/compact/context-tracker.ts +0 -164
  382. package/src/core/compact/index.ts +0 -25
  383. package/src/core/config/config-manager.ts +0 -460
  384. package/src/core/config/index.ts +0 -5
  385. package/src/core/docs-manager.ts +0 -678
  386. package/src/core/llm/index.ts +0 -7
  387. package/src/core/llm/llm-client.ts +0 -1550
  388. package/src/core/session/index.ts +0 -5
  389. package/src/core/session/session-manager.ts +0 -464
  390. package/src/core/slash-command-handler.ts +0 -410
  391. package/src/core/usage-tracker.ts +0 -438
  392. package/src/errors/base.ts +0 -81
  393. package/src/errors/file.ts +0 -183
  394. package/src/errors/index.ts +0 -95
  395. package/src/errors/llm.ts +0 -151
  396. package/src/errors/network.ts +0 -124
  397. package/src/errors/validation.ts +0 -111
  398. package/src/eval/eval-runner.ts +0 -456
  399. package/src/eval/index.ts +0 -8
  400. package/src/eval/types.ts +0 -139
  401. package/src/index.ts +0 -22
  402. package/src/orchestration/index.ts +0 -30
  403. package/src/orchestration/plan-executor.ts +0 -652
  404. package/src/orchestration/types.ts +0 -127
  405. package/src/orchestration/utils.ts +0 -119
  406. package/src/orquesta/connection.ts +0 -291
  407. package/src/prompts/agents/docs-search-decision.ts +0 -74
  408. package/src/prompts/agents/docs-search.ts +0 -84
  409. package/src/prompts/agents/planning.ts +0 -143
  410. package/src/prompts/index.ts +0 -31
  411. package/src/prompts/shared/codebase-rules.ts +0 -29
  412. package/src/prompts/shared/git-rules.ts +0 -94
  413. package/src/prompts/shared/language-rules.ts +0 -36
  414. package/src/prompts/shared/tool-usage.ts +0 -72
  415. package/src/prompts/system/compact.ts +0 -80
  416. package/src/prompts/system/plan-execute.ts +0 -89
  417. package/src/tools/browser/browser-client.ts +0 -1363
  418. package/src/tools/browser/browser-tools.ts +0 -1139
  419. package/src/tools/browser/index.ts +0 -65
  420. package/src/tools/index.ts +0 -23
  421. package/src/tools/llm/agents/docs-search-tools.ts +0 -368
  422. package/src/tools/llm/agents/index.ts +0 -22
  423. package/src/tools/llm/index.ts +0 -11
  424. package/src/tools/llm/simple/ask-user-tool.ts +0 -25
  425. package/src/tools/llm/simple/background-bash-tool.ts +0 -443
  426. package/src/tools/llm/simple/background-powershell-tool.ts +0 -421
  427. package/src/tools/llm/simple/bash-tool.ts +0 -238
  428. package/src/tools/llm/simple/docs-search-agent-tool.ts +0 -146
  429. package/src/tools/llm/simple/file-tools.ts +0 -1051
  430. package/src/tools/llm/simple/final-response-tool.ts +0 -180
  431. package/src/tools/llm/simple/index.ts +0 -42
  432. package/src/tools/llm/simple/planning-tools.ts +0 -143
  433. package/src/tools/llm/simple/powershell-tool.ts +0 -241
  434. package/src/tools/llm/simple/simple-tool-executor.ts +0 -279
  435. package/src/tools/llm/simple/todo-tools.ts +0 -207
  436. package/src/tools/llm/simple/user-interaction-tools.ts +0 -277
  437. package/src/tools/office/common/constants.ts +0 -335
  438. package/src/tools/office/common/index.ts +0 -133
  439. package/src/tools/office/common/types.ts +0 -286
  440. package/src/tools/office/common/utils.ts +0 -116
  441. package/src/tools/office/excel-client.ts +0 -1336
  442. package/src/tools/office/excel-tools/cells.ts +0 -359
  443. package/src/tools/office/excel-tools/charts.ts +0 -166
  444. package/src/tools/office/excel-tools/comments.ts +0 -155
  445. package/src/tools/office/excel-tools/data-ops.ts +0 -349
  446. package/src/tools/office/excel-tools/export.ts +0 -105
  447. package/src/tools/office/excel-tools/formatting.ts +0 -357
  448. package/src/tools/office/excel-tools/index.ts +0 -55
  449. package/src/tools/office/excel-tools/launch.ts +0 -303
  450. package/src/tools/office/excel-tools/media.ts +0 -117
  451. package/src/tools/office/excel-tools/named-ranges.ts +0 -148
  452. package/src/tools/office/excel-tools/protection.ts +0 -105
  453. package/src/tools/office/excel-tools/rows-columns.ts +0 -386
  454. package/src/tools/office/excel-tools/sheets.ts +0 -228
  455. package/src/tools/office/excel-tools/validation.ts +0 -226
  456. package/src/tools/office/excel-tools.ts +0 -9
  457. package/src/tools/office/index.ts +0 -259
  458. package/src/tools/office/office-client-base.ts +0 -242
  459. package/src/tools/office/office-client.ts +0 -377
  460. package/src/tools/office/powerpoint-client.ts +0 -1498
  461. package/src/tools/office/powerpoint-tools/effects.ts +0 -315
  462. package/src/tools/office/powerpoint-tools/export.ts +0 -138
  463. package/src/tools/office/powerpoint-tools/index.ts +0 -45
  464. package/src/tools/office/powerpoint-tools/launch.ts +0 -263
  465. package/src/tools/office/powerpoint-tools/media.ts +0 -291
  466. package/src/tools/office/powerpoint-tools/notes.ts +0 -220
  467. package/src/tools/office/powerpoint-tools/sections.ts +0 -140
  468. package/src/tools/office/powerpoint-tools/shapes.ts +0 -870
  469. package/src/tools/office/powerpoint-tools/slides.ts +0 -350
  470. package/src/tools/office/powerpoint-tools/tables.ts +0 -182
  471. package/src/tools/office/powerpoint-tools/text.ts +0 -473
  472. package/src/tools/office/powerpoint-tools.ts +0 -9
  473. package/src/tools/office/word-client.ts +0 -1697
  474. package/src/tools/office/word-tools/bookmarks.ts +0 -186
  475. package/src/tools/office/word-tools/comments.ts +0 -185
  476. package/src/tools/office/word-tools/content.ts +0 -229
  477. package/src/tools/office/word-tools/export.ts +0 -97
  478. package/src/tools/office/word-tools/formatting.ts +0 -161
  479. package/src/tools/office/word-tools/headers-footers.ts +0 -155
  480. package/src/tools/office/word-tools/index.ts +0 -57
  481. package/src/tools/office/word-tools/launch.ts +0 -312
  482. package/src/tools/office/word-tools/lists.ts +0 -97
  483. package/src/tools/office/word-tools/navigation.ts +0 -114
  484. package/src/tools/office/word-tools/page-setup.ts +0 -195
  485. package/src/tools/office/word-tools/tables.ts +0 -262
  486. package/src/tools/office/word-tools/text.ts +0 -294
  487. package/src/tools/office/word-tools/undo-redo.ts +0 -97
  488. package/src/tools/office/word-tools/watermarks.ts +0 -105
  489. package/src/tools/office/word-tools.ts +0 -9
  490. package/src/tools/registry.ts +0 -527
  491. package/src/tools/types.ts +0 -231
  492. package/src/types/index.ts +0 -181
  493. package/src/ui/PlanExecuteView.tsx +0 -119
  494. package/src/ui/TodoPanel.tsx +0 -240
  495. package/src/ui/UpdateNotification.tsx +0 -105
  496. package/src/ui/components/ActivityIndicator.tsx +0 -234
  497. package/src/ui/components/CommandBrowser.tsx +0 -114
  498. package/src/ui/components/CustomTextInput.tsx +0 -389
  499. package/src/ui/components/DocsSearchProgress.tsx +0 -85
  500. package/src/ui/components/FileBrowser.tsx +0 -93
  501. package/src/ui/components/LLMSetupWizard.tsx +0 -333
  502. package/src/ui/components/Logo.tsx +0 -125
  503. package/src/ui/components/MarkdownRenderer.tsx +0 -358
  504. package/src/ui/components/ModelSelector.tsx +0 -203
  505. package/src/ui/components/PlanExecuteApp.tsx +0 -2007
  506. package/src/ui/components/ProgressBar.tsx +0 -51
  507. package/src/ui/components/StatusBar.tsx +0 -302
  508. package/src/ui/components/ThinkingIndicator.tsx +0 -120
  509. package/src/ui/components/TodoListView.tsx +0 -140
  510. package/src/ui/components/ToolSelector.tsx +0 -215
  511. package/src/ui/components/dialogs/ApprovalDialog.tsx +0 -259
  512. package/src/ui/components/dialogs/AskUserDialog.tsx +0 -159
  513. package/src/ui/components/dialogs/DocsBrowser.tsx +0 -222
  514. package/src/ui/components/dialogs/SettingsDialog.tsx +0 -939
  515. package/src/ui/components/dialogs/index.ts +0 -13
  516. package/src/ui/components/index.ts +0 -27
  517. package/src/ui/components/panels/LogPanel.tsx +0 -385
  518. package/src/ui/components/panels/SessionPanel.tsx +0 -146
  519. package/src/ui/components/panels/index.ts +0 -13
  520. package/src/ui/components/views/ChatView.tsx +0 -447
  521. package/src/ui/components/views/index.ts +0 -5
  522. package/src/ui/contexts/TokenContext.tsx +0 -139
  523. package/src/ui/hooks/atFileProcessor.ts +0 -167
  524. package/src/ui/hooks/index.ts +0 -11
  525. package/src/ui/hooks/slashCommandProcessor.ts +0 -174
  526. package/src/ui/hooks/useCommandBrowserState.ts +0 -97
  527. package/src/ui/hooks/useFileBrowserState.ts +0 -116
  528. package/src/ui/hooks/useFileList.ts +0 -132
  529. package/src/ui/hooks/useInputHistory.ts +0 -89
  530. package/src/ui/hooks/usePlanExecution.ts +0 -339
  531. package/src/ui/index.ts +0 -10
  532. package/src/ui/ink-entry.tsx +0 -36
  533. package/src/utils/env-filter.ts +0 -164
  534. package/src/utils/file-system.ts +0 -133
  535. package/src/utils/git-utils.ts +0 -30
  536. package/src/utils/json-stream-logger.ts +0 -1259
  537. package/src/utils/logger.ts +0 -2767
  538. package/src/utils/platform-utils.ts +0 -256
  539. package/src/utils/wsl-utils.ts +0 -113
  540. package/tsconfig.electron.json +0 -39
  541. package/tsconfig.json +0 -64
package/src/cli.ts DELETED
@@ -1,201 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * Orquesta CLI
5
- * AI-powered coding assistant with local LLM support
6
- *
7
- * Entry Point: CLI application entry point
8
- */
9
-
10
- import { Command } from 'commander';
11
- import chalk from 'chalk';
12
- import React from 'react';
13
- import { render } from 'ink';
14
- import { createRequire } from 'module';
15
- import { configManager } from './core/config/config-manager.js';
16
- import { createLLMClient } from './core/llm/llm-client.js';
17
- import { PlanExecuteApp } from './ui/components/PlanExecuteApp.js';
18
- import { setupLogging, logger } from './utils/logger.js';
19
- import { runEvalMode } from './eval/index.js';
20
- import { initializeOptionalTools } from './tools/registry.js';
21
- import { sessionManager } from './core/session/session-manager.js';
22
-
23
- // Read version from package.json (single source of truth)
24
- const require = createRequire(import.meta.url);
25
- const packageJson = require('../package.json') as { version: string };
26
-
27
- const program = new Command();
28
-
29
- /**
30
- * CLI program configuration
31
- */
32
- program
33
- .name('orquesta')
34
- .description('Orquesta CLI - AI-powered coding assistant with local LLM support')
35
- .version(packageJson.version)
36
- .helpOption(false); // Disable -h, --help (use /help command instead)
37
-
38
- /**
39
- * Default command: Start interactive mode
40
- */
41
- program
42
- .option('-p, --print <prompt>', 'Execute a prompt and exit (non-interactive mode)')
43
- .option('--dangerously-skip-permissions', 'Skip all permission prompts (auto-approve)')
44
- .option('--verbose', 'Enable verbose logging')
45
- .option('--debug', 'Enable debug logging')
46
- .option('--llm-log', 'Enable LLM logging')
47
- .option('--eval', 'Evaluation mode: read JSON from stdin, output NDJSON events')
48
- .action(async (options: { print?: string; dangerouslySkipPermissions?: boolean; verbose?: boolean; debug?: boolean; llmLog?: boolean; eval?: boolean }) => {
49
- // --eval mode: stdin JSON input, stdout NDJSON event output
50
- if (options.eval) {
51
- await runEvalMode();
52
- return;
53
- }
54
-
55
- // -p mode: Execute prompt and exit (orquesta-agent compatibility)
56
- if (options.print) {
57
- const { EvalRunner } = await import('./eval/eval-runner.js');
58
- const runner = new EvalRunner();
59
- await runner.run({
60
- prompt: options.print,
61
- working_dir: process.cwd(),
62
- });
63
- return;
64
- }
65
-
66
- let cleanup: (() => Promise<void>) | null = null;
67
- try {
68
- // Clear terminal on start
69
- process.stdout.write('\x1B[2J\x1B[0f');
70
-
71
- // Show loading spinner immediately (before any async work)
72
- const ora = (await import('ora')).default;
73
- const spinner = ora({
74
- text: chalk.cyan('Loading...'),
75
- color: 'cyan',
76
- }).start();
77
-
78
- // Setup logging (log level, JSON stream logger, exit handlers)
79
- const loggingSetup = await setupLogging({
80
- verbose: options.verbose,
81
- debug: options.debug,
82
- llmLog: options.llmLog,
83
- });
84
- cleanup = loggingSetup.cleanup;
85
-
86
- // Log session start
87
- logger.sessionStart({
88
- sessionId: sessionManager.getCurrentSessionId(),
89
- verbose: options.verbose,
90
- debug: options.debug,
91
- llmLog: options.llmLog,
92
- cwd: process.cwd(),
93
- platform: process.platform,
94
- nodeVersion: process.version,
95
- });
96
-
97
- // Initialize ConfigManager
98
- spinner.text = chalk.cyan('Loading configuration...');
99
- logger.flow('Initializing config manager');
100
- await configManager.initialize();
101
- logger.flow('Config manager initialized');
102
-
103
- // Load saved optional tool states (e.g., browser tools, Office tools)
104
- logger.flow('Initializing optional tools');
105
- await initializeOptionalTools();
106
- logger.flow('Optional tools initialized');
107
-
108
- // Create LLMClient (null if no endpoints)
109
- spinner.text = chalk.cyan('Connecting to LLM...');
110
- let llmClient = null;
111
- let modelInfo = { model: 'Not configured', endpoint: 'Not configured' };
112
-
113
- if (configManager.hasEndpoints()) {
114
- logger.flow('Creating LLM client');
115
- try {
116
- llmClient = createLLMClient();
117
- modelInfo = llmClient.getModelInfo();
118
- logger.flow('LLM client created', { model: modelInfo.model, endpoint: modelInfo.endpoint });
119
- } catch (error) {
120
- // Keep null on LLMClient creation failure
121
- logger.warn('Failed to create LLM client', { error: error instanceof Error ? error.message : String(error) });
122
- }
123
- } else {
124
- logger.flow('No LLM endpoints configured');
125
- }
126
-
127
- // Stop spinner before starting Ink UI
128
- spinner.stop();
129
- process.stdout.write('\x1B[2J\x1B[0f'); // Clear again for clean UI
130
-
131
- // Start Ink UI (show start message only in verbose/debug/llm-log mode)
132
- if (options.verbose || options.debug) {
133
- console.log(chalk.cyan('Starting Orquesta CLI...\n'));
134
- }
135
-
136
- // Render Ink UI directly in same process (keep stdin raw mode)
137
- try {
138
- // Use PlanExecuteApp for enhanced functionality
139
- // exitOnCtrlC: false - Ctrl+C is handled manually in PlanExecuteApp for smart behavior
140
- const { waitUntilExit } = render(
141
- React.createElement(PlanExecuteApp, { llmClient, modelInfo }),
142
- { exitOnCtrlC: false }
143
- );
144
-
145
- // Wait until the UI exits before cleanup
146
- await waitUntilExit();
147
- } catch (error) {
148
- console.log(chalk.yellow('\n⚠️ Cannot start Ink UI.\n'));
149
- console.log(chalk.dim(`Error: ${error instanceof Error ? error.message : String(error)}\n`));
150
- process.exit(1);
151
- }
152
- } catch (error) {
153
- console.error(chalk.red('\n❌ Error occurred:'));
154
- if (error instanceof Error) {
155
- console.error(chalk.red(error.message));
156
- }
157
- console.log();
158
- process.exit(1);
159
- } finally {
160
- // Log session end
161
- logger.sessionEnd({
162
- sessionId: sessionManager.getCurrentSessionId(),
163
- exitReason: 'normal',
164
- });
165
-
166
- // Cleanup JSON Stream Logger
167
- if (cleanup) {
168
- await cleanup();
169
- }
170
- }
171
- });
172
-
173
-
174
- /**
175
- * Error handling: unknown options
176
- */
177
- program.showHelpAfterError(false);
178
- program.configureOutput({
179
- outputError: (str, write) => {
180
- if (str.includes('--help') || str.includes('-h')) {
181
- write(chalk.yellow('💡 For help, use /help command after starting the app.\n'));
182
- } else {
183
- write(chalk.red(str));
184
- }
185
- }
186
- });
187
-
188
- program.on('command:*', () => {
189
- console.error(chalk.red('⚠️ Unknown command.'));
190
- console.log(chalk.white('Usage: orquesta [options]\n'));
191
- console.log(chalk.white(' -p, --print <prompt> Execute a prompt and exit\n'));
192
- console.log(chalk.white(' --verbose Enable verbose logging\n'));
193
- console.log(chalk.white(' --debug Enable debug logging\n'));
194
- console.log(chalk.white('\nUse /help in interactive mode for more help.\n'));
195
- process.exit(1);
196
- });
197
-
198
- /**
199
- * Run CLI program
200
- */
201
- program.parse(process.argv);
package/src/constants.ts DELETED
@@ -1,47 +0,0 @@
1
- /**
2
- * Orquesta CLI Constants
3
- *
4
- * Global constants definition for the project
5
- */
6
-
7
- import * as path from 'path';
8
- import * as os from 'os';
9
-
10
- /**
11
- * Orquesta CLI home directory
12
- * ~/.orquesta-cli/
13
- */
14
- export const LOCAL_HOME_DIR = path.join(os.homedir(), '.orquesta-cli');
15
-
16
- // Backward compatibility alias
17
- export const OPEN_HOME_DIR = LOCAL_HOME_DIR;
18
-
19
- /**
20
- * Config file path
21
- * ~/.orquesta-cli/config.json
22
- */
23
- export const CONFIG_FILE_PATH = path.join(LOCAL_HOME_DIR, 'config.json');
24
-
25
- /**
26
- * Documentation directory
27
- * ~/.orquesta-cli/docs/
28
- */
29
- export const DOCS_DIR = path.join(LOCAL_HOME_DIR, 'docs');
30
-
31
- /**
32
- * Backup directory
33
- * ~/.orquesta-cli/backups/
34
- */
35
- export const BACKUPS_DIR = path.join(LOCAL_HOME_DIR, 'backups');
36
-
37
- /**
38
- * Project-specific log directory
39
- * ~/.orquesta-cli/projects/
40
- */
41
- export const PROJECTS_DIR = path.join(LOCAL_HOME_DIR, 'projects');
42
-
43
-
44
- /**
45
- * Application version (injected from package.json)
46
- */
47
- export const APP_VERSION = '4.2.2';
@@ -1,160 +0,0 @@
1
- /**
2
- * Compact Manager
3
- *
4
- * Executes conversation compaction using LLM.
5
- * Handles the compact workflow: build prompt → call LLM → parse result.
6
- */
7
-
8
- import { LLMClient } from '../llm/llm-client.js';
9
- import { Message } from '../../types/index.js';
10
- import {
11
- COMPACT_SYSTEM_PROMPT,
12
- buildCompactUserPrompt,
13
- buildCompactedMessages,
14
- CompactContext,
15
- } from './compact-prompts.js';
16
- import { logger } from '../../utils/logger.js';
17
-
18
- /**
19
- * Result of compact operation
20
- */
21
- export interface CompactResult {
22
- /** Whether compact succeeded */
23
- success: boolean;
24
- /** Original message count */
25
- originalMessageCount: number;
26
- /** New message count after compact */
27
- newMessageCount: number;
28
- /** The compact summary generated */
29
- compactedSummary?: string;
30
- /** The compacted messages array (for caller to use) */
31
- compactedMessages?: Message[];
32
- /** Error message if failed */
33
- error?: string;
34
- }
35
-
36
- /**
37
- * Minimum messages required for compact
38
- */
39
- const MIN_MESSAGES_FOR_COMPACT = 5;
40
-
41
- /**
42
- * Compact Manager Class
43
- */
44
- export class CompactManager {
45
- constructor(private llmClient: LLMClient) {}
46
-
47
- /**
48
- * Execute conversation compaction
49
- */
50
- async compact(
51
- messages: Message[],
52
- context: CompactContext
53
- ): Promise<CompactResult> {
54
- logger.enter('CompactManager.compact', {
55
- messageCount: messages.length,
56
- hasTodos: !!context.todos?.length,
57
- });
58
-
59
- // Validate minimum messages
60
- const nonSystemMessages = messages.filter(m => m.role !== 'system');
61
- if (nonSystemMessages.length < MIN_MESSAGES_FOR_COMPACT) {
62
- logger.flow('Compact skipped - not enough messages');
63
- logger.exit('CompactManager.compact', { skipped: true });
64
- return {
65
- success: false,
66
- originalMessageCount: messages.length,
67
- newMessageCount: messages.length,
68
- error: `At least ${MIN_MESSAGES_FOR_COMPACT} messages required. (Current: ${nonSystemMessages.length})`,
69
- };
70
- }
71
-
72
- try {
73
- logger.flow('Building compact prompt');
74
-
75
- // Build the user prompt with context
76
- const userPrompt = buildCompactUserPrompt(messages, context);
77
-
78
- logger.vars(
79
- { name: 'promptLength', value: userPrompt.length },
80
- { name: 'todoCount', value: context.todos?.length || 0 },
81
- { name: 'recentFilesCount', value: context.recentFiles?.length || 0 }
82
- );
83
-
84
- // Call LLM for compaction
85
- logger.flow('Calling LLM for compaction');
86
- logger.startTimer('compact-llm');
87
-
88
- const response = await this.llmClient.sendMessage(
89
- userPrompt,
90
- COMPACT_SYSTEM_PROMPT
91
- );
92
-
93
- const elapsed = logger.endTimer('compact-llm');
94
- logger.debug('Compact LLM response received', { elapsed, responseLength: response.length });
95
-
96
- // Validate response
97
- if (!response || response.trim().length === 0) {
98
- throw new Error('LLM returned empty response');
99
- }
100
-
101
- // Build compacted messages
102
- const compactedMessages = buildCompactedMessages(response, context);
103
-
104
- // Note: contextTracker.reset() is called by PlanExecutor after applying final messages
105
- // This keeps CompactManager focused on summary generation only
106
-
107
- logger.flow('Compact completed successfully');
108
- logger.vars(
109
- { name: 'originalCount', value: messages.length },
110
- { name: 'newCount', value: compactedMessages.length }
111
- );
112
-
113
- logger.exit('CompactManager.compact', { success: true });
114
-
115
- return {
116
- success: true,
117
- originalMessageCount: messages.length,
118
- newMessageCount: compactedMessages.length,
119
- compactedSummary: response,
120
- compactedMessages,
121
- };
122
-
123
- } catch (error) {
124
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
125
- logger.error('Compact failed', error as Error);
126
- logger.exit('CompactManager.compact', { success: false, error: errorMessage });
127
-
128
- return {
129
- success: false,
130
- originalMessageCount: messages.length,
131
- newMessageCount: messages.length,
132
- error: `Compact failed: ${errorMessage}`,
133
- };
134
- }
135
- }
136
-
137
- /**
138
- * Build compacted messages from summary
139
- * Utility method for external use
140
- */
141
- buildCompactedMessages(summary: string, context: CompactContext): Message[] {
142
- return buildCompactedMessages(summary, context);
143
- }
144
-
145
- /**
146
- * Check if compact is possible
147
- */
148
- canCompact(messages: Message[]): { canCompact: boolean; reason?: string } {
149
- const nonSystemMessages = messages.filter(m => m.role !== 'system');
150
-
151
- if (nonSystemMessages.length < MIN_MESSAGES_FOR_COMPACT) {
152
- return {
153
- canCompact: false,
154
- reason: `At least ${MIN_MESSAGES_FOR_COMPACT} messages required.`,
155
- };
156
- }
157
-
158
- return { canCompact: true };
159
- }
160
- }
@@ -1,150 +0,0 @@
1
- /**
2
- * Compact Prompts
3
- *
4
- * System prompt and user prompt builder for conversation compaction.
5
- * Implements dynamic context injection for TODOs, recent files, etc.
6
- */
7
-
8
- import { Message, TodoItem } from '../../types/index.js';
9
-
10
- // Re-export COMPACT_SYSTEM_PROMPT from centralized location
11
- export { COMPACT_SYSTEM_PROMPT } from '../../prompts/system/compact.js';
12
-
13
- /**
14
- * Context to inject into compact prompt
15
- */
16
- export interface CompactContext {
17
- /** Current TODO list from system state */
18
- todos?: TodoItem[];
19
- /** Current working directory */
20
- workingDirectory?: string;
21
- /** Current model name */
22
- currentModel?: string;
23
- /** Recently accessed files */
24
- recentFiles?: string[];
25
- }
26
-
27
- /**
28
- * Build user prompt with dynamic context injection
29
- */
30
- export function buildCompactUserPrompt(
31
- messages: Message[],
32
- context: CompactContext
33
- ): string {
34
- const parts: string[] = [];
35
-
36
- // 1. Current System State
37
- parts.push('# Current System State');
38
- parts.push(`Working Directory: ${context.workingDirectory || process.cwd()}`);
39
- if (context.currentModel) {
40
- parts.push(`Model: ${context.currentModel}`);
41
- }
42
-
43
- // 2. Recent Files (if any)
44
- if (context.recentFiles && context.recentFiles.length > 0) {
45
- parts.push('');
46
- parts.push('Recent Files Accessed:');
47
- context.recentFiles.forEach(f => parts.push(`- \`${f}\``));
48
- }
49
-
50
- // 3. Current TODO List (MUST PRESERVE - injected from system state)
51
- if (context.todos && context.todos.length > 0) {
52
- parts.push('');
53
- parts.push('# Current TODO List (MUST PRESERVE)');
54
- context.todos.forEach(todo => {
55
- const statusIcon = todo.status === 'completed' ? 'x' :
56
- todo.status === 'in_progress' ? '~' : ' ';
57
- const statusLabel = todo.status === 'in_progress' ? ' [IN PROGRESS]' :
58
- todo.status === 'completed' ? ' [DONE]' : '';
59
- parts.push(`- [${statusIcon}] ${todo.title}${statusLabel}`);
60
- if (todo.result) {
61
- parts.push(` Result: ${todo.result}`);
62
- }
63
- });
64
- }
65
-
66
- // 4. Conversation History
67
- parts.push('');
68
- parts.push('# Conversation History to Compress');
69
- parts.push('```');
70
-
71
- let messageIndex = 0;
72
- messages.forEach((msg) => {
73
- // Skip system messages
74
- if (msg.role === 'system') return;
75
-
76
- messageIndex++;
77
- const role = msg.role === 'user' ? 'USER'
78
- : msg.role === 'tool' ? 'TOOL_RESULT'
79
- : 'ASSISTANT';
80
-
81
- // For assistant messages with tool_calls, show what tools were called
82
- const toolCallInfo = msg.tool_calls?.length
83
- ? `\n[Called tools: ${msg.tool_calls.map((tc) => tc.function?.name).join(', ')}]`
84
- : '';
85
-
86
- const content = typeof msg.content === 'string'
87
- ? msg.content
88
- : JSON.stringify(msg.content);
89
-
90
- // Truncate very long messages (keep first 3000 chars)
91
- const truncated = content.length > 3000
92
- ? content.slice(0, 3000) + '\n... [truncated]'
93
- : content;
94
-
95
- if (msg.role === 'tool') {
96
- parts.push(`[${messageIndex}] ${role} (call_id: ${msg.tool_call_id || 'unknown'}):`);
97
- } else {
98
- parts.push(`[${messageIndex}] ${role}:${toolCallInfo}`);
99
- }
100
- parts.push(truncated);
101
- parts.push('');
102
- });
103
-
104
- parts.push('```');
105
-
106
- // 5. Compression Instructions
107
- parts.push('');
108
- parts.push('# Instructions');
109
- parts.push('Compress the above conversation into the specified format.');
110
- if (context.todos && context.todos.length > 0) {
111
- parts.push('CRITICAL: The TODO list above is the CURRENT state - preserve it exactly in your Active Tasks section.');
112
- }
113
- parts.push('Focus on what matters for continuing the work.');
114
-
115
- return parts.join('\n');
116
- }
117
-
118
- /**
119
- * Build messages array after compact
120
- * Creates user message with session context, assistant acknowledgment, and continue prompt
121
- * Note: System prompt will be added by plan-executor when needed
122
- */
123
- export function buildCompactedMessages(
124
- compactSummary: string,
125
- context: CompactContext
126
- ): Message[] {
127
- // Compact summary as user message (not system) to avoid multiple system messages
128
- const contextMessage = `[SESSION CONTEXT - Previous conversation was compacted]
129
-
130
- ${compactSummary}
131
-
132
- ---
133
- Working Directory: ${context.workingDirectory || process.cwd()}
134
- `;
135
-
136
- return [
137
- {
138
- role: 'user',
139
- content: contextMessage,
140
- },
141
- {
142
- role: 'assistant',
143
- content: 'Understood. I have the session context.',
144
- },
145
- {
146
- role: 'user',
147
- content: 'Please continue your work.',
148
- },
149
- ];
150
- }