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
@@ -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';