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,438 +0,0 @@
1
- /**
2
- * Usage Tracker
3
- *
4
- * Phase 3: Usage tracking functionality
5
- * - Track token usage (aggregated by session/task)
6
- * - Per-session/daily/monthly statistics
7
- * - Local file storage
8
- * - Real-time session token tracking
9
- */
10
-
11
- import * as fs from 'fs';
12
- import * as path from 'path';
13
- import { logger } from '../utils/logger.js';
14
- import { contextTracker } from './compact/context-tracker.js';
15
-
16
- /**
17
- * Single usage record
18
- */
19
- export interface UsageRecord {
20
- timestamp: string;
21
- model: string;
22
- inputTokens: number;
23
- outputTokens: number;
24
- totalTokens: number;
25
- sessionId?: string;
26
- }
27
-
28
- /**
29
- * Daily usage aggregation
30
- */
31
- export interface DailyUsage {
32
- date: string;
33
- totalInputTokens: number;
34
- totalOutputTokens: number;
35
- totalTokens: number;
36
- requestCount: number;
37
- models: Record<string, number>;
38
- }
39
-
40
- /**
41
- * Total usage data
42
- */
43
- export interface UsageData {
44
- records: UsageRecord[];
45
- dailyStats: Record<string, DailyUsage>;
46
- totalInputTokens: number;
47
- totalOutputTokens: number;
48
- totalTokens: number;
49
- totalRequests: number;
50
- lastUpdated: string;
51
- }
52
-
53
- /**
54
- * Usage summary
55
- */
56
- export interface UsageSummary {
57
- today: DailyUsage | null;
58
- thisMonth: {
59
- totalTokens: number;
60
- totalRequests: number;
61
- days: number;
62
- };
63
- allTime: {
64
- totalInputTokens: number;
65
- totalOutputTokens: number;
66
- totalTokens: number;
67
- totalRequests: number;
68
- firstUsed: string | null;
69
- };
70
- }
71
-
72
- /**
73
- * Current session/task usage (for real-time aggregation)
74
- */
75
- export interface SessionUsage {
76
- inputTokens: number;
77
- outputTokens: number;
78
- totalTokens: number;
79
- requestCount: number;
80
- startTime: number;
81
- models: Record<string, number>;
82
- /** Last prompt_tokens for context usage tracking */
83
- lastPromptTokens: number;
84
- }
85
-
86
- const DATA_DIR = path.join(process.env['HOME'] || '.', '.local-cli');
87
- const USAGE_FILE = path.join(DATA_DIR, 'usage.json');
88
-
89
- /**
90
- * Usage Tracker Class
91
- */
92
- class UsageTrackerClass {
93
- private data: UsageData;
94
- private saveTimeout: ReturnType<typeof setTimeout> | null = null;
95
-
96
- // Current session usage (aggregate multiple LLM calls)
97
- private currentSession: SessionUsage = {
98
- inputTokens: 0,
99
- outputTokens: 0,
100
- totalTokens: 0,
101
- requestCount: 0,
102
- startTime: Date.now(),
103
- models: {},
104
- lastPromptTokens: 0,
105
- };
106
-
107
- constructor() {
108
- logger.enter('UsageTracker.constructor');
109
- this.data = this.loadData();
110
- logger.exit('UsageTracker.constructor');
111
- }
112
-
113
- /**
114
- * Load usage data from file
115
- */
116
- private loadData(): UsageData {
117
- logger.enter('UsageTracker.loadData');
118
-
119
- try {
120
- if (fs.existsSync(USAGE_FILE)) {
121
- const content = fs.readFileSync(USAGE_FILE, 'utf-8');
122
- const data = JSON.parse(content) as UsageData;
123
- logger.vars({ name: 'recordCount', value: data.records.length });
124
- logger.exit('UsageTracker.loadData', { loaded: true });
125
- return data;
126
- }
127
- } catch (error) {
128
- logger.warn('Failed to load usage data, starting fresh', error);
129
- }
130
-
131
- const emptyData: UsageData = {
132
- records: [],
133
- dailyStats: {},
134
- totalInputTokens: 0,
135
- totalOutputTokens: 0,
136
- totalTokens: 0,
137
- totalRequests: 0,
138
- lastUpdated: new Date().toISOString(),
139
- };
140
-
141
- logger.exit('UsageTracker.loadData', { loaded: false });
142
- return emptyData;
143
- }
144
-
145
- /**
146
- * Save usage data to file (debounced)
147
- */
148
- private saveData(): void {
149
- if (this.saveTimeout) {
150
- clearTimeout(this.saveTimeout);
151
- }
152
-
153
- this.saveTimeout = setTimeout(() => {
154
- logger.flow('Saving usage data');
155
- try {
156
- if (!fs.existsSync(DATA_DIR)) {
157
- fs.mkdirSync(DATA_DIR, { recursive: true });
158
- }
159
- this.data.lastUpdated = new Date().toISOString();
160
- fs.writeFileSync(USAGE_FILE, JSON.stringify(this.data, null, 2));
161
- } catch (error) {
162
- logger.error('Failed to save usage data', error as Error);
163
- }
164
- }, 1000);
165
- }
166
-
167
- /**
168
- * Record token usage (per individual LLM call)
169
- * - Update current session usage
170
- * - Update overall statistics
171
- * @param promptTokens - Optional: last prompt_tokens for context tracking
172
- */
173
- recordUsage(
174
- model: string,
175
- inputTokens: number,
176
- outputTokens: number,
177
- sessionId?: string,
178
- promptTokens?: number
179
- ): void {
180
- logger.enter('UsageTracker.recordUsage', { model, inputTokens, outputTokens });
181
-
182
- const timestamp = new Date().toISOString();
183
- const date = timestamp.split('T')[0] || timestamp;
184
- const totalTokens = inputTokens + outputTokens;
185
-
186
- // Update current session usage (real-time aggregation)
187
- this.currentSession.inputTokens += inputTokens;
188
- this.currentSession.outputTokens += outputTokens;
189
- this.currentSession.totalTokens += totalTokens;
190
- this.currentSession.requestCount += 1;
191
- this.currentSession.models[model] = (this.currentSession.models[model] || 0) + totalTokens;
192
-
193
- // Update lastPromptTokens for context tracking
194
- if (promptTokens !== undefined) {
195
- this.currentSession.lastPromptTokens = promptTokens;
196
- // Also update contextTracker for auto-compact detection
197
- contextTracker.updateUsage(promptTokens);
198
- }
199
-
200
- // Add record
201
- const record: UsageRecord = {
202
- timestamp,
203
- model,
204
- inputTokens,
205
- outputTokens,
206
- totalTokens,
207
- sessionId,
208
- };
209
- this.data.records.push(record);
210
-
211
- // Update totals
212
- this.data.totalInputTokens += inputTokens;
213
- this.data.totalOutputTokens += outputTokens;
214
- this.data.totalTokens += totalTokens;
215
- this.data.totalRequests += 1;
216
-
217
- // Update daily stats
218
- if (!this.data.dailyStats[date]) {
219
- this.data.dailyStats[date] = {
220
- date,
221
- totalInputTokens: 0,
222
- totalOutputTokens: 0,
223
- totalTokens: 0,
224
- requestCount: 0,
225
- models: {},
226
- };
227
- }
228
-
229
- const daily = this.data.dailyStats[date]!;
230
- daily.totalInputTokens += inputTokens;
231
- daily.totalOutputTokens += outputTokens;
232
- daily.totalTokens += totalTokens;
233
- daily.requestCount += 1;
234
- daily.models[model] = (daily.models[model] || 0) + totalTokens;
235
-
236
- // Keep only last 30 days of detailed records
237
- const thirtyDaysAgo = new Date();
238
- thirtyDaysAgo.setDate(thirtyDaysAgo.getDate() - 30);
239
- this.data.records = this.data.records.filter(
240
- r => new Date(r.timestamp) > thirtyDaysAgo
241
- );
242
-
243
- this.saveData();
244
- logger.exit('UsageTracker.recordUsage');
245
- }
246
-
247
- /**
248
- * Get usage summary
249
- */
250
- getSummary(): UsageSummary {
251
- logger.enter('UsageTracker.getSummary');
252
-
253
- const today = new Date().toISOString().split('T')[0] || '';
254
- const todayStats = this.data.dailyStats[today] || null;
255
-
256
- // This month stats
257
- const currentMonth = today.substring(0, 7); // YYYY-MM
258
- let monthTokens = 0;
259
- let monthRequests = 0;
260
- let monthDays = 0;
261
-
262
- for (const [date, stats] of Object.entries(this.data.dailyStats)) {
263
- if (date.startsWith(currentMonth)) {
264
- monthTokens += stats.totalTokens;
265
- monthRequests += stats.requestCount;
266
- monthDays += 1;
267
- }
268
- }
269
-
270
- // First usage date
271
- const firstRecord = this.data.records[0];
272
- const firstUsed = firstRecord ? firstRecord.timestamp.split('T')[0] || null : null;
273
-
274
- const summary: UsageSummary = {
275
- today: todayStats,
276
- thisMonth: {
277
- totalTokens: monthTokens,
278
- totalRequests: monthRequests,
279
- days: monthDays,
280
- },
281
- allTime: {
282
- totalInputTokens: this.data.totalInputTokens,
283
- totalOutputTokens: this.data.totalOutputTokens,
284
- totalTokens: this.data.totalTokens,
285
- totalRequests: this.data.totalRequests,
286
- firstUsed,
287
- },
288
- };
289
-
290
- logger.exit('UsageTracker.getSummary');
291
- return summary;
292
- }
293
-
294
- /**
295
- * Get today's usage
296
- */
297
- getTodayUsage(): DailyUsage | null {
298
- const today = new Date().toISOString().split('T')[0] || '';
299
- return this.data.dailyStats[today] || null;
300
- }
301
-
302
- /**
303
- * Get total tokens used
304
- */
305
- getTotalTokens(): number {
306
- return this.data.totalTokens;
307
- }
308
-
309
- /**
310
- * Get current session usage (real-time aggregated value)
311
- */
312
- getSessionUsage(): SessionUsage {
313
- return { ...this.currentSession };
314
- }
315
-
316
- /**
317
- * Get session elapsed time in seconds
318
- */
319
- getSessionElapsedSeconds(): number {
320
- return Math.floor((Date.now() - this.currentSession.startTime) / 1000);
321
- }
322
-
323
- /**
324
- * Reset session usage (call when starting new task)
325
- */
326
- resetSession(): void {
327
- logger.flow('Resetting session usage');
328
- this.currentSession = {
329
- inputTokens: 0,
330
- outputTokens: 0,
331
- totalTokens: 0,
332
- requestCount: 0,
333
- startTime: Date.now(),
334
- models: {},
335
- lastPromptTokens: 0,
336
- };
337
- }
338
-
339
- /**
340
- * Format session usage for status bar display
341
- * Claude Code style: "✶ ~ doing… (esc to interrupt · 2m 7s · ↑ 3.6k tokens)"
342
- */
343
- formatSessionStatus(currentActivity?: string): string {
344
- const elapsed = this.getSessionElapsedSeconds();
345
- const tokens = this.currentSession.totalTokens;
346
-
347
- // Format time
348
- let timeStr: string;
349
- if (elapsed < 60) {
350
- timeStr = `${elapsed}s`;
351
- } else {
352
- const mins = Math.floor(elapsed / 60);
353
- const secs = elapsed % 60;
354
- timeStr = `${mins}m ${secs}s`;
355
- }
356
-
357
- // Format tokens
358
- let tokenStr: string;
359
- if (tokens < 1000) {
360
- tokenStr = tokens.toString();
361
- } else if (tokens < 1000000) {
362
- tokenStr = `${(tokens / 1000).toFixed(1)}k`;
363
- } else {
364
- tokenStr = `${(tokens / 1000000).toFixed(2)}M`;
365
- }
366
-
367
- // Build status string
368
- const activity = currentActivity || 'Processing';
369
- return `✶ ${activity}… (esc to interrupt · ${timeStr} · ↑ ${tokenStr} tokens)`;
370
- }
371
-
372
- /**
373
- * Format usage for display
374
- */
375
- formatUsageDisplay(): string {
376
- logger.enter('UsageTracker.formatUsageDisplay');
377
-
378
- const summary = this.getSummary();
379
- const lines: string[] = [];
380
-
381
- lines.push('📊 Usage Statistics');
382
- lines.push('');
383
-
384
- // Today
385
- lines.push('📅 Today');
386
- if (summary.today) {
387
- lines.push(` Requests: ${summary.today.requestCount}`);
388
- lines.push(` Input tokens: ${summary.today.totalInputTokens.toLocaleString()}`);
389
- lines.push(` Output tokens: ${summary.today.totalOutputTokens.toLocaleString()}`);
390
- lines.push(` Total tokens: ${summary.today.totalTokens.toLocaleString()}`);
391
- } else {
392
- lines.push(' No usage records');
393
- }
394
- lines.push('');
395
-
396
- // This month
397
- lines.push('📆 This Month');
398
- lines.push(` Requests: ${summary.thisMonth.totalRequests.toLocaleString()}`);
399
- lines.push(` Total tokens: ${summary.thisMonth.totalTokens.toLocaleString()}`);
400
- lines.push(` Active days: ${summary.thisMonth.days}`);
401
- lines.push('');
402
-
403
- // All time
404
- lines.push('📈 All Time');
405
- lines.push(` Total requests: ${summary.allTime.totalRequests.toLocaleString()}`);
406
- lines.push(` Input tokens: ${summary.allTime.totalInputTokens.toLocaleString()}`);
407
- lines.push(` Output tokens: ${summary.allTime.totalOutputTokens.toLocaleString()}`);
408
- lines.push(` Total tokens: ${summary.allTime.totalTokens.toLocaleString()}`);
409
- if (summary.allTime.firstUsed) {
410
- lines.push(` First used: ${summary.allTime.firstUsed}`);
411
- }
412
-
413
- logger.exit('UsageTracker.formatUsageDisplay');
414
- return lines.join('\n');
415
- }
416
-
417
- /**
418
- * Clear all usage data
419
- */
420
- clearData(): void {
421
- logger.flow('Clearing all usage data');
422
- this.data = {
423
- records: [],
424
- dailyStats: {},
425
- totalInputTokens: 0,
426
- totalOutputTokens: 0,
427
- totalTokens: 0,
428
- totalRequests: 0,
429
- lastUpdated: new Date().toISOString(),
430
- };
431
- this.saveData();
432
- }
433
- }
434
-
435
- // Singleton instance
436
- export const usageTracker = new UsageTrackerClass();
437
-
438
- export default usageTracker;
@@ -1,81 +0,0 @@
1
- /**
2
- * Base Error Class
3
- *
4
- * Base class for all custom errors
5
- */
6
-
7
- export interface ErrorDetails {
8
- [key: string]: unknown;
9
- }
10
-
11
- export interface ErrorOptions {
12
- cause?: Error;
13
- details?: ErrorDetails;
14
- isRecoverable?: boolean;
15
- userMessage?: string;
16
- }
17
-
18
- /**
19
- * BaseError - Base class for all custom errors
20
- */
21
- export class BaseError extends Error {
22
- public readonly code: string;
23
- public override readonly cause?: Error;
24
- public readonly details?: ErrorDetails;
25
- public readonly isRecoverable: boolean;
26
- public readonly userMessage: string;
27
- public readonly timestamp: Date;
28
-
29
- constructor(
30
- message: string,
31
- code: string,
32
- options: ErrorOptions = {}
33
- ) {
34
- super(message);
35
- this.name = this.constructor.name;
36
- Object.setPrototypeOf(this, new.target.prototype);
37
- this.code = code;
38
- this.cause = options.cause;
39
- this.details = options.details;
40
- this.isRecoverable = options.isRecoverable ?? false;
41
- this.userMessage = options.userMessage ?? message;
42
- this.timestamp = new Date();
43
-
44
- // Capture stack trace
45
- Error.captureStackTrace(this, this.constructor);
46
- }
47
-
48
- /**
49
- * Convert error information to JSON
50
- */
51
- toJSON(): Record<string, unknown> {
52
- return {
53
- name: this.name,
54
- code: this.code,
55
- message: this.message,
56
- userMessage: this.userMessage,
57
- isRecoverable: this.isRecoverable,
58
- details: this.details,
59
- timestamp: this.timestamp,
60
- stack: this.stack,
61
- cause: this.cause ? {
62
- name: this.cause.name,
63
- message: this.cause.message,
64
- } : undefined,
65
- };
66
- }
67
-
68
- /**
69
- * Get message to display to user
70
- */
71
- getUserMessage(): string {
72
- return this.userMessage;
73
- }
74
-
75
- /**
76
- * Check if error is recoverable
77
- */
78
- canRecover(): boolean {
79
- return this.isRecoverable;
80
- }
81
- }
@@ -1,183 +0,0 @@
1
- /**
2
- * File System Error Classes
3
- *
4
- * File system-related errors
5
- */
6
-
7
- import { BaseError, ErrorOptions } from './base.js';
8
-
9
- /**
10
- * FileSystemError - General file system error
11
- */
12
- export class FileSystemError extends BaseError {
13
- public readonly path?: string;
14
-
15
- constructor(message: string, path?: string, options: ErrorOptions = {}) {
16
- super(
17
- message,
18
- 'FILE_SYSTEM_ERROR',
19
- {
20
- ...options,
21
- details: {
22
- ...options.details,
23
- path,
24
- },
25
- isRecoverable: options.isRecoverable ?? false,
26
- userMessage: options.userMessage ?? `File system error occurred${path ? ` (path: ${path})` : ''}.`,
27
- }
28
- );
29
- this.path = path;
30
- }
31
- }
32
-
33
- /**
34
- * FileNotFoundError - File not found error
35
- */
36
- export class FileNotFoundError extends BaseError {
37
- public readonly path: string;
38
-
39
- constructor(path: string, options: ErrorOptions = {}) {
40
- super(
41
- `File not found: ${path}`,
42
- 'FILE_NOT_FOUND',
43
- {
44
- ...options,
45
- details: {
46
- ...options.details,
47
- path,
48
- },
49
- isRecoverable: false,
50
- userMessage: options.userMessage ?? `File not found: ${path}`,
51
- }
52
- );
53
- this.path = path;
54
- }
55
- }
56
-
57
- /**
58
- * DirectoryNotFoundError - Directory not found error
59
- */
60
- export class DirectoryNotFoundError extends BaseError {
61
- public readonly path: string;
62
-
63
- constructor(path: string, options: ErrorOptions = {}) {
64
- super(
65
- `Directory not found: ${path}`,
66
- 'DIRECTORY_NOT_FOUND',
67
- {
68
- ...options,
69
- details: {
70
- ...options.details,
71
- path,
72
- },
73
- isRecoverable: false,
74
- userMessage: options.userMessage ?? `Directory not found: ${path}`,
75
- }
76
- );
77
- this.path = path;
78
- }
79
- }
80
-
81
- /**
82
- * PermissionError - Permission error
83
- */
84
- export class PermissionError extends BaseError {
85
- public readonly path?: string;
86
- public readonly operation?: string;
87
-
88
- constructor(
89
- message: string,
90
- path?: string,
91
- operation?: string,
92
- options: ErrorOptions = {}
93
- ) {
94
- super(
95
- message,
96
- 'PERMISSION_ERROR',
97
- {
98
- ...options,
99
- details: {
100
- ...options.details,
101
- path,
102
- operation,
103
- },
104
- isRecoverable: false,
105
- userMessage: options.userMessage ?? `Permission denied${path ? `: ${path}` : ''}${operation ? ` (operation: ${operation})` : ''}.`,
106
- }
107
- );
108
- this.path = path;
109
- this.operation = operation;
110
- }
111
- }
112
-
113
- /**
114
- * FileReadError - File read error
115
- */
116
- export class FileReadError extends BaseError {
117
- public readonly path: string;
118
-
119
- constructor(path: string, options: ErrorOptions = {}) {
120
- super(
121
- `Failed to read file: ${path}`,
122
- 'FILE_READ_ERROR',
123
- {
124
- ...options,
125
- details: {
126
- ...options.details,
127
- path,
128
- },
129
- isRecoverable: false,
130
- userMessage: options.userMessage ?? `Failed to read file: ${path}`,
131
- }
132
- );
133
- this.path = path;
134
- }
135
- }
136
-
137
- /**
138
- * FileWriteError - File write error
139
- */
140
- export class FileWriteError extends BaseError {
141
- public readonly path: string;
142
-
143
- constructor(path: string, options: ErrorOptions = {}) {
144
- super(
145
- `Failed to write file: ${path}`,
146
- 'FILE_WRITE_ERROR',
147
- {
148
- ...options,
149
- details: {
150
- ...options.details,
151
- path,
152
- },
153
- isRecoverable: true,
154
- userMessage: options.userMessage ?? `Failed to write file: ${path}. Please check disk space.`,
155
- }
156
- );
157
- this.path = path;
158
- }
159
- }
160
-
161
- /**
162
- * InvalidPathError - Invalid path error
163
- */
164
- export class InvalidPathError extends BaseError {
165
- public readonly path: string;
166
-
167
- constructor(path: string, options: ErrorOptions = {}) {
168
- super(
169
- `Invalid path: ${path}`,
170
- 'INVALID_PATH_ERROR',
171
- {
172
- ...options,
173
- details: {
174
- ...options.details,
175
- path,
176
- },
177
- isRecoverable: true,
178
- userMessage: options.userMessage ?? `Invalid path: ${path}`,
179
- }
180
- );
181
- this.path = path;
182
- }
183
- }