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
@@ -1,13 +0,0 @@
1
- /**
2
- * Dialog Components Index
3
- *
4
- * Re-exports all dialog components for easy importing
5
- */
6
-
7
- export { SettingsBrowser as SettingsDialog } from './SettingsDialog.js';
8
-
9
- // Re-export with original name for backwards compatibility
10
- export { SettingsBrowser } from './SettingsDialog.js';
11
-
12
- // Docs browser
13
- export { DocsBrowser } from './DocsBrowser.js';
@@ -1,27 +0,0 @@
1
- /**
2
- * UI Components Export
3
- */
4
-
5
- export { ProgressBar } from './ProgressBar.js';
6
- export type { ProgressBarProps } from './ProgressBar.js';
7
-
8
- export { TodoListView } from './TodoListView.js';
9
- export type { TodoListViewProps } from './TodoListView.js';
10
-
11
- export { StatusBar } from './StatusBar.js';
12
- export type { StatusBarProps } from './StatusBar.js';
13
-
14
- export { FileBrowser } from './FileBrowser.js';
15
- export { CommandBrowser } from './CommandBrowser.js';
16
-
17
- // Re-export from panels/
18
- export { SessionBrowser, SessionPanel } from './panels/index.js';
19
-
20
- // Re-export from dialogs/
21
- export {
22
- SettingsBrowser,
23
- SettingsDialog,
24
- } from './dialogs/index.js';
25
-
26
- // Re-export from views/
27
- export * from './views/index.js';
@@ -1,385 +0,0 @@
1
- /**
2
- * Log Browser Component for CLI
3
- *
4
- * Displays session logs with interactive selection and content viewing
5
- * Supports category-based log file splitting
6
- */
7
-
8
- import React, { useState, useEffect, useCallback } from 'react';
9
- import { Box, Text, useInput } from 'ink';
10
- import SelectInput from 'ink-select-input';
11
- import { readFile, readdir, stat } from 'fs/promises';
12
- import { join, basename } from 'path';
13
- import { PROJECTS_DIR } from '../../../constants.js';
14
- import { getStreamLogger } from '../../../utils/json-stream-logger.js';
15
- import type { StreamLogEntry, LogCategory } from '../../../utils/json-stream-logger.js';
16
-
17
- interface LogBrowserProps {
18
- onClose: () => void;
19
- }
20
-
21
- type LogSource = 'current' | 'list' | 'content';
22
-
23
- interface LogFile {
24
- name: string;
25
- path: string;
26
- size: number;
27
- modifiedAt: number;
28
- category?: LogCategory | 'all' | 'error'; // Category information
29
- }
30
-
31
- // Category colors
32
- const CATEGORY_COLORS: Record<string, string> = {
33
- all: 'white',
34
- chat: 'green',
35
- tool: 'yellow',
36
- http: 'blue',
37
- llm: 'magenta',
38
- ui: 'cyan',
39
- system: 'gray',
40
- debug: 'dim',
41
- error: 'red',
42
- };
43
-
44
- // Category labels
45
- const CATEGORY_LABELS: Record<string, string> = {
46
- all: '📋 All',
47
- chat: '💬 Chat',
48
- tool: '🔧 Tool',
49
- http: '🌐 HTTP',
50
- llm: '🤖 LLM',
51
- ui: '🖥️ UI',
52
- system: '⚙️ System',
53
- debug: '🐛 Debug',
54
- error: '❌ Error',
55
- };
56
-
57
- const MAX_LOG_LINES = 50;
58
- const LOG_LEVEL_COLORS: Record<string, string> = {
59
- error: 'red',
60
- tool_error: 'red',
61
- tool_start: 'cyan',
62
- tool_end: 'green',
63
- assistant_response: 'blue',
64
- user_input: 'yellow',
65
- planning_start: 'magenta',
66
- planning_end: 'magenta',
67
- info: 'gray',
68
- debug: 'gray',
69
- };
70
-
71
- export const LogBrowser: React.FC<LogBrowserProps> = ({ onClose }) => {
72
- // Display file list first (let user select)
73
- const [logSource, setLogSource] = useState<LogSource>('list');
74
- const [logFiles, setLogFiles] = useState<LogFile[]>([]);
75
- const [selectedFile, setSelectedFile] = useState<string | null>(null);
76
- const [logEntries, setLogEntries] = useState<StreamLogEntry[]>([]);
77
- const [loading, setLoading] = useState(false);
78
- const [error, setError] = useState<string | null>(null);
79
- const [scrollOffset, setScrollOffset] = useState(0);
80
-
81
- // Get current working directory log path
82
- const getCurrentLogDir = useCallback(() => {
83
- const cwd = process.cwd();
84
- const safeCwd = cwd.replace(/[/\\:]/g, '-').replace(/^-/, '');
85
- return join(PROJECTS_DIR, safeCwd);
86
- }, []);
87
-
88
- // Extract category from filename
89
- const getCategoryFromFileName = (fileName: string): LogFile['category'] => {
90
- if (fileName.endsWith('_log.json')) return 'all';
91
- if (fileName.endsWith('_error.json')) return 'error';
92
- if (fileName.endsWith('_chat.json')) return 'chat';
93
- if (fileName.endsWith('_tool.json')) return 'tool';
94
- if (fileName.endsWith('_http.json')) return 'http';
95
- if (fileName.endsWith('_llm.json')) return 'llm';
96
- if (fileName.endsWith('_ui.json')) return 'ui';
97
- if (fileName.endsWith('_system.json')) return 'system';
98
- if (fileName.endsWith('_debug.json')) return 'debug';
99
- return undefined;
100
- };
101
-
102
- // Load log files list
103
- const loadLogFiles = useCallback(async () => {
104
- setLoading(true);
105
- setError(null);
106
- try {
107
- const logDir = getCurrentLogDir();
108
- const files = await readdir(logDir);
109
- const logFileList: LogFile[] = [];
110
-
111
- for (const file of files) {
112
- // Include all JSON log files (including category-specific files)
113
- if (file.endsWith('.json') && (
114
- file.endsWith('_log.json') ||
115
- file.endsWith('_error.json') ||
116
- file.endsWith('_chat.json') ||
117
- file.endsWith('_tool.json') ||
118
- file.endsWith('_http.json') ||
119
- file.endsWith('_llm.json') ||
120
- file.endsWith('_ui.json') ||
121
- file.endsWith('_system.json') ||
122
- file.endsWith('_debug.json')
123
- )) {
124
- const filePath = join(logDir, file);
125
- const stats = await stat(filePath);
126
- const category = getCategoryFromFileName(file);
127
- logFileList.push({
128
- name: file,
129
- path: filePath,
130
- size: stats.size,
131
- modifiedAt: stats.mtimeMs,
132
- category,
133
- });
134
- }
135
- }
136
-
137
- // Sort by: category (all first, then by name), then modified time (newest first)
138
- logFileList.sort((a, b) => {
139
- // Category priority: all > error > specific categories
140
- const categoryOrder = ['all', 'error', 'chat', 'tool', 'http', 'llm', 'ui', 'system', 'debug'];
141
- const aOrder = a.category ? categoryOrder.indexOf(a.category) : 999;
142
- const bOrder = b.category ? categoryOrder.indexOf(b.category) : 999;
143
-
144
- // Same session files grouped together by extracting session ID
145
- const aSession = a.name.split('_')[0];
146
- const bSession = b.name.split('_')[0];
147
-
148
- if (aSession !== bSession) {
149
- // Different sessions: sort by modified time
150
- return b.modifiedAt - a.modifiedAt;
151
- }
152
-
153
- // Same session: sort by category order
154
- return aOrder - bOrder;
155
- });
156
-
157
- setLogFiles(logFileList);
158
- } catch (err) {
159
- setError(`Failed to load log files: ${err instanceof Error ? err.message : String(err)}`);
160
- } finally {
161
- setLoading(false);
162
- }
163
- }, [getCurrentLogDir]);
164
-
165
- // Load log content from file
166
- const loadLogContent = useCallback(async (filePath: string) => {
167
- setLoading(true);
168
- setError(null);
169
- try {
170
- let content = await readFile(filePath, 'utf-8');
171
-
172
- // File might not have closing bracket yet if logger is still writing
173
- // This applies to both current session and category files
174
- const trimmed = content.trimEnd();
175
- if (!trimmed.endsWith(']')) {
176
- // Add closing bracket to make valid JSON
177
- content = trimmed + '\n]';
178
- }
179
-
180
- // Parse JSON array
181
- const entries: StreamLogEntry[] = JSON.parse(content);
182
- setLogEntries(entries);
183
- setScrollOffset(Math.max(0, entries.length - MAX_LOG_LINES));
184
- } catch (err) {
185
- setError(`Failed to load log: ${err instanceof Error ? err.message : String(err)}`);
186
- setLogEntries([]);
187
- } finally {
188
- setLoading(false);
189
- }
190
- }, []);
191
-
192
- // Load current session log
193
- const loadCurrentSessionLog = useCallback(async () => {
194
- const streamLogger = getStreamLogger();
195
- if (!streamLogger) {
196
- setError('No active session log');
197
- return;
198
- }
199
-
200
- const logPath = streamLogger.getFilePath();
201
- if (!logPath) {
202
- setError('Session log path not available');
203
- return;
204
- }
205
-
206
- await loadLogContent(logPath);
207
- }, [loadLogContent]);
208
-
209
- // Initial load
210
- useEffect(() => {
211
- if (logSource === 'current') {
212
- loadCurrentSessionLog();
213
- } else if (logSource === 'list') {
214
- loadLogFiles();
215
- }
216
- }, [logSource, loadCurrentSessionLog, loadLogFiles]);
217
-
218
- // Handle keyboard input
219
- useInput((inputChar, key) => {
220
- if (key.escape) {
221
- if (logSource === 'content') {
222
- setLogSource('list');
223
- setLogEntries([]);
224
- } else {
225
- onClose();
226
- }
227
- return;
228
- }
229
-
230
- // Tab to switch between current/list
231
- if (key.tab && logSource !== 'content') {
232
- setLogSource(logSource === 'current' ? 'list' : 'current');
233
- return;
234
- }
235
-
236
- // Scroll in content view
237
- if (logSource === 'current' || logSource === 'content') {
238
- if (key.upArrow || inputChar === 'k') {
239
- setScrollOffset(prev => Math.max(0, prev - 1));
240
- } else if (key.downArrow || inputChar === 'j') {
241
- setScrollOffset(prev => Math.min(Math.max(0, logEntries.length - MAX_LOG_LINES), prev + 1));
242
- } else if (inputChar === 'g') {
243
- setScrollOffset(0);
244
- } else if (inputChar === 'G') {
245
- setScrollOffset(Math.max(0, logEntries.length - MAX_LOG_LINES));
246
- }
247
- }
248
- });
249
-
250
- // Handle log file selection
251
- const handleFileSelect = (item: { label: string; value: string }) => {
252
- setSelectedFile(item.value);
253
- setLogSource('content');
254
- loadLogContent(item.value);
255
- };
256
-
257
- // Format timestamp
258
- const formatTimestamp = (ts: string) => {
259
- const date = new Date(ts);
260
- return date.toLocaleTimeString('en-GB', {
261
- hour: '2-digit',
262
- minute: '2-digit',
263
- second: '2-digit',
264
- });
265
- };
266
-
267
- // Format file size
268
- const formatSize = (bytes: number) => {
269
- if (bytes < 1024) return `${bytes}B`;
270
- if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)}KB`;
271
- return `${(bytes / (1024 * 1024)).toFixed(1)}MB`;
272
- };
273
-
274
- // Render log entry
275
- const renderLogEntry = (entry: StreamLogEntry, index: number) => {
276
- const typeColor = LOG_LEVEL_COLORS[entry.type] || 'white';
277
- const categoryColor = entry.category ? CATEGORY_COLORS[entry.category] : 'white';
278
- const time = formatTimestamp(entry.timestamp);
279
- const typeLabel = entry.type.replace(/_/g, ' ').toUpperCase().padEnd(12);
280
- const categoryLabel = entry.category ? `[${entry.category.toUpperCase().padEnd(6)}]` : '';
281
- const content = entry.content.length > 70
282
- ? entry.content.substring(0, 67) + '...'
283
- : entry.content;
284
-
285
- return (
286
- <Box key={index} flexDirection="row">
287
- <Text color="gray" dimColor>{time} </Text>
288
- {entry.category && <Text color={categoryColor}>{categoryLabel} </Text>}
289
- <Text color={typeColor}>[{typeLabel}] </Text>
290
- <Text>{content}</Text>
291
- </Box>
292
- );
293
- };
294
-
295
- // Visible entries
296
- const visibleEntries = logEntries.slice(scrollOffset, scrollOffset + MAX_LOG_LINES);
297
-
298
- return (
299
- <Box flexDirection="column" borderStyle="single" borderColor="cyan" paddingX={1}>
300
- {/* Header */}
301
- <Box marginBottom={1}>
302
- <Text color="cyan" bold>Log Browser</Text>
303
- <Text color="gray"> - </Text>
304
- <Text
305
- color={logSource === 'current' ? 'cyan' : 'gray'}
306
- bold={logSource === 'current'}
307
- >
308
- [Current]
309
- </Text>
310
- <Text color="gray"> / </Text>
311
- <Text
312
- color={logSource === 'list' || logSource === 'content' ? 'cyan' : 'gray'}
313
- bold={logSource === 'list' || logSource === 'content'}
314
- >
315
- [All Logs]
316
- </Text>
317
- <Text color="gray" dimColor> (Tab: switch, ESC: close)</Text>
318
- </Box>
319
-
320
- {/* Loading state */}
321
- {loading && (
322
- <Text color="yellow">Loading...</Text>
323
- )}
324
-
325
- {/* Error state */}
326
- {error && (
327
- <Text color="red">{error}</Text>
328
- )}
329
-
330
- {/* Log file list view */}
331
- {logSource === 'list' && !loading && !error && (
332
- <>
333
- {logFiles.length === 0 ? (
334
- <Text color="yellow">No log files found</Text>
335
- ) : (
336
- <SelectInput
337
- items={logFiles.map(file => {
338
- const categoryLabel = file.category ? CATEGORY_LABELS[file.category] || file.category : '📄';
339
- const nameParts = file.name.split('_');
340
- const firstPart = nameParts[0] ?? 'unknown';
341
- const sessionId = firstPart.slice(0, 8);
342
- return {
343
- label: `${categoryLabel} [${sessionId}] (${formatSize(file.size)}) - ${new Date(file.modifiedAt).toLocaleString()}`,
344
- value: file.path,
345
- };
346
- })}
347
- onSelect={handleFileSelect}
348
- limit={15}
349
- />
350
- )}
351
- </>
352
- )}
353
-
354
- {/* Current session log or content view */}
355
- {(logSource === 'current' || logSource === 'content') && !loading && !error && (
356
- <>
357
- {logEntries.length === 0 ? (
358
- <Text color="yellow">No log entries</Text>
359
- ) : (
360
- <>
361
- <Box flexDirection="column" height={MAX_LOG_LINES}>
362
- {visibleEntries.map((entry, idx) => renderLogEntry(entry, idx))}
363
- </Box>
364
- <Box marginTop={1}>
365
- <Text color="gray" dimColor>
366
- Showing {scrollOffset + 1}-{Math.min(scrollOffset + MAX_LOG_LINES, logEntries.length)} of {logEntries.length} entries
367
- {' '}(↑↓/jk: scroll, g/G: top/bottom)
368
- </Text>
369
- </Box>
370
- </>
371
- )}
372
- </>
373
- )}
374
-
375
- {/* Footer */}
376
- <Box marginTop={1}>
377
- <Text dimColor>
378
- {logSource === 'current' && 'Current session log'}
379
- {logSource === 'list' && 'Select a log file to view'}
380
- {logSource === 'content' && selectedFile && `Viewing: ${basename(selectedFile)}`}
381
- </Text>
382
- </Box>
383
- </Box>
384
- );
385
- };
@@ -1,146 +0,0 @@
1
- /**
2
- * Session Browser Component
3
- *
4
- * Displays saved sessions for loading with interactive selection
5
- */
6
-
7
- import React, { useState, useEffect } from 'react';
8
- import { Box, Text, useInput } from 'ink';
9
- import SelectInput from 'ink-select-input';
10
- import { sessionManager, SessionSummary } from '../../../core/session/session-manager.js';
11
-
12
- interface SessionBrowserProps {
13
- onSelect: (sessionId: string) => void;
14
- onCancel: () => void;
15
- }
16
-
17
- interface SelectItem {
18
- label: string;
19
- value: string;
20
- }
21
-
22
- const MAX_VISIBLE_SESSIONS = 10;
23
-
24
- export const SessionBrowser: React.FC<SessionBrowserProps> = ({
25
- onSelect,
26
- onCancel,
27
- }) => {
28
- const [sessions, setSessions] = useState<SessionSummary[]>([]);
29
- const [loading, setLoading] = useState(true);
30
- const [error, setError] = useState<string | null>(null);
31
-
32
- // Load sessions on mount
33
- useEffect(() => {
34
- const loadSessions = async () => {
35
- try {
36
- setLoading(true);
37
- const loadedSessions = await sessionManager.listSessions();
38
- setSessions(loadedSessions);
39
- } catch (err) {
40
- setError(err instanceof Error ? err.message : 'Failed to load sessions');
41
- } finally {
42
- setLoading(false);
43
- }
44
- };
45
-
46
- loadSessions();
47
- }, []);
48
-
49
- // Custom keyboard handling
50
- useInput((_inputChar, key) => {
51
- if (key.escape) {
52
- onCancel();
53
- return;
54
- }
55
- });
56
-
57
- // Handle Enter key from SelectInput
58
- const handleSelect = (item: SelectItem) => {
59
- onSelect(item.value);
60
- };
61
-
62
- // Loading state
63
- if (loading) {
64
- return (
65
- <Box borderStyle="single" borderColor="cyan" paddingX={1} flexDirection="column">
66
- <Text color="cyan">Loading session list...</Text>
67
- </Box>
68
- );
69
- }
70
-
71
- // Error state
72
- if (error) {
73
- return (
74
- <Box borderStyle="single" borderColor="red" paddingX={1} flexDirection="column">
75
- <Text color="red">Session load failed: {error}</Text>
76
- <Text dimColor>Press ESC to cancel</Text>
77
- </Box>
78
- );
79
- }
80
-
81
- // Empty state
82
- if (sessions.length === 0) {
83
- return (
84
- <Box borderStyle="single" borderColor="yellow" paddingX={1} flexDirection="column">
85
- <Text color="yellow">No saved sessions.</Text>
86
- <Text dimColor>Press ESC to cancel</Text>
87
- </Box>
88
- );
89
- }
90
-
91
- // Convert SessionSummary to SelectItem format
92
- const items: SelectItem[] = sessions.map((session) => {
93
- const date = new Date(session.updatedAt).toLocaleDateString('ko-KR', {
94
- year: 'numeric',
95
- month: '2-digit',
96
- day: '2-digit',
97
- hour: '2-digit',
98
- minute: '2-digit',
99
- });
100
-
101
- // Format: "Session Name (messages) - 2024-11-10 14:30"
102
- let label = `${session.name.substring(0, 30)}`;
103
- if (session.name.length > 30) {
104
- label += '...';
105
- }
106
- label += ` (${session.messageCount} messages) - ${date}`;
107
-
108
- // Add first message preview if available
109
- if (session.firstMessage) {
110
- const preview = session.firstMessage.substring(0, 40);
111
- label += `\n "${preview}${session.firstMessage.length > 40 ? '...' : ''}"`;
112
- }
113
-
114
- return {
115
- label,
116
- value: session.id,
117
- };
118
- });
119
-
120
- return (
121
- <Box flexDirection="column">
122
- {/* Header */}
123
- <Box borderStyle="single" borderColor="cyan" paddingX={1} marginBottom={1}>
124
- <Text color="cyan" bold>
125
- Saved sessions list
126
- </Text>
127
- </Box>
128
-
129
- {/* Session List */}
130
- <Box borderStyle="single" borderColor="gray" paddingX={1}>
131
- <SelectInput
132
- items={items}
133
- onSelect={handleSelect}
134
- limit={MAX_VISIBLE_SESSIONS}
135
- />
136
- </Box>
137
-
138
- {/* Footer */}
139
- <Box marginTop={1}>
140
- <Text dimColor>
141
- ↑↓: move | Enter: select | ESC: cancel
142
- </Text>
143
- </Box>
144
- </Box>
145
- );
146
- };
@@ -1,13 +0,0 @@
1
- /**
2
- * Panel Components Index
3
- *
4
- * Re-exports all panel components for easy importing
5
- */
6
-
7
- export { SessionBrowser as SessionPanel } from './SessionPanel.js';
8
-
9
- // Re-export with original name for backwards compatibility
10
- export { SessionBrowser } from './SessionPanel.js';
11
-
12
- // Log Browser
13
- export { LogBrowser } from './LogPanel.js';