orquesta-cli 0.1.12 → 0.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (540) hide show
  1. package/README.md +30 -4
  2. package/dist/cli.js +65 -4
  3. package/dist/constants.js +1 -1
  4. package/dist/core/config/config-manager.d.ts +13 -1
  5. package/dist/core/config/config-manager.js +83 -0
  6. package/dist/core/slash-command-handler.d.ts +1 -0
  7. package/dist/core/slash-command-handler.js +129 -0
  8. package/dist/orquesta/config-sync.d.ts +73 -0
  9. package/dist/orquesta/config-sync.js +230 -0
  10. package/dist/orquesta/prompt-reporter.d.ts +16 -0
  11. package/dist/orquesta/prompt-reporter.js +85 -0
  12. package/dist/setup/first-run-setup.d.ts +15 -0
  13. package/dist/setup/first-run-setup.js +238 -0
  14. package/dist/types/index.d.ts +11 -2
  15. package/dist/ui/TodoPanel.d.ts +1 -0
  16. package/dist/ui/TodoPanel.js +6 -1
  17. package/dist/ui/components/LLMSetupWizard.js +373 -7
  18. package/dist/ui/components/Logo.d.ts +2 -0
  19. package/dist/ui/components/Logo.js +10 -3
  20. package/dist/ui/components/OpenRouterModelBrowser.d.ts +13 -0
  21. package/dist/ui/components/OpenRouterModelBrowser.js +221 -0
  22. package/dist/ui/components/PlanExecuteApp.js +30 -4
  23. package/dist/ui/components/ProjectSelector.d.ts +8 -0
  24. package/dist/ui/components/ProjectSelector.js +119 -0
  25. package/dist/ui/components/StatusBar.d.ts +2 -0
  26. package/dist/ui/components/StatusBar.js +6 -1
  27. package/dist/ui/hooks/slashCommandProcessor.js +8 -4
  28. package/package.json +11 -5
  29. package/.eslintrc.json +0 -26
  30. package/.prettierrc.json +0 -10
  31. package/CLAUDE.md +0 -199
  32. package/SECURITY.md +0 -290
  33. package/TEST_LOCAL.md +0 -245
  34. package/dist/agents/base/base-agent.d.ts.map +0 -1
  35. package/dist/agents/base/base-agent.js.map +0 -1
  36. package/dist/agents/docs-search/index.d.ts.map +0 -1
  37. package/dist/agents/docs-search/index.js.map +0 -1
  38. package/dist/agents/index.d.ts.map +0 -1
  39. package/dist/agents/index.js.map +0 -1
  40. package/dist/agents/planner/index.d.ts.map +0 -1
  41. package/dist/agents/planner/index.js.map +0 -1
  42. package/dist/cli.d.ts.map +0 -1
  43. package/dist/cli.js.map +0 -1
  44. package/dist/constants.d.ts.map +0 -1
  45. package/dist/constants.js.map +0 -1
  46. package/dist/core/compact/compact-manager.d.ts.map +0 -1
  47. package/dist/core/compact/compact-manager.js.map +0 -1
  48. package/dist/core/compact/compact-prompts.d.ts.map +0 -1
  49. package/dist/core/compact/compact-prompts.js.map +0 -1
  50. package/dist/core/compact/context-tracker.d.ts.map +0 -1
  51. package/dist/core/compact/context-tracker.js.map +0 -1
  52. package/dist/core/compact/index.d.ts.map +0 -1
  53. package/dist/core/compact/index.js.map +0 -1
  54. package/dist/core/config/config-manager.d.ts.map +0 -1
  55. package/dist/core/config/config-manager.js.map +0 -1
  56. package/dist/core/config/index.d.ts.map +0 -1
  57. package/dist/core/config/index.js.map +0 -1
  58. package/dist/core/docs-manager.d.ts.map +0 -1
  59. package/dist/core/docs-manager.js.map +0 -1
  60. package/dist/core/git-auto-updater.d.ts.map +0 -1
  61. package/dist/core/git-auto-updater.js.map +0 -1
  62. package/dist/core/llm/index.d.ts.map +0 -1
  63. package/dist/core/llm/index.js.map +0 -1
  64. package/dist/core/llm/llm-client.d.ts.map +0 -1
  65. package/dist/core/llm/llm-client.js.map +0 -1
  66. package/dist/core/session/index.d.ts.map +0 -1
  67. package/dist/core/session/index.js.map +0 -1
  68. package/dist/core/session/session-manager.d.ts.map +0 -1
  69. package/dist/core/session/session-manager.js.map +0 -1
  70. package/dist/core/slash-command-handler.d.ts.map +0 -1
  71. package/dist/core/slash-command-handler.js.map +0 -1
  72. package/dist/core/usage-tracker.d.ts.map +0 -1
  73. package/dist/core/usage-tracker.js.map +0 -1
  74. package/dist/errors/base.d.ts.map +0 -1
  75. package/dist/errors/base.js.map +0 -1
  76. package/dist/errors/file.d.ts.map +0 -1
  77. package/dist/errors/file.js.map +0 -1
  78. package/dist/errors/index.d.ts.map +0 -1
  79. package/dist/errors/index.js.map +0 -1
  80. package/dist/errors/llm.d.ts.map +0 -1
  81. package/dist/errors/llm.js.map +0 -1
  82. package/dist/errors/network.d.ts.map +0 -1
  83. package/dist/errors/network.js.map +0 -1
  84. package/dist/errors/validation.d.ts.map +0 -1
  85. package/dist/errors/validation.js.map +0 -1
  86. package/dist/eval/eval-runner.d.ts.map +0 -1
  87. package/dist/eval/eval-runner.js.map +0 -1
  88. package/dist/eval/index.d.ts.map +0 -1
  89. package/dist/eval/index.js.map +0 -1
  90. package/dist/eval/types.d.ts.map +0 -1
  91. package/dist/eval/types.js.map +0 -1
  92. package/dist/index.d.ts.map +0 -1
  93. package/dist/index.js.map +0 -1
  94. package/dist/orchestration/index.d.ts.map +0 -1
  95. package/dist/orchestration/index.js.map +0 -1
  96. package/dist/orchestration/plan-executor.d.ts.map +0 -1
  97. package/dist/orchestration/plan-executor.js.map +0 -1
  98. package/dist/orchestration/types.d.ts.map +0 -1
  99. package/dist/orchestration/types.js.map +0 -1
  100. package/dist/orchestration/utils.d.ts.map +0 -1
  101. package/dist/orchestration/utils.js.map +0 -1
  102. package/dist/orquesta/connection.d.ts.map +0 -1
  103. package/dist/orquesta/connection.js.map +0 -1
  104. package/dist/prompts/agents/docs-search-decision.d.ts.map +0 -1
  105. package/dist/prompts/agents/docs-search-decision.js.map +0 -1
  106. package/dist/prompts/agents/docs-search.d.ts.map +0 -1
  107. package/dist/prompts/agents/docs-search.js.map +0 -1
  108. package/dist/prompts/agents/planning.d.ts.map +0 -1
  109. package/dist/prompts/agents/planning.js.map +0 -1
  110. package/dist/prompts/index.d.ts.map +0 -1
  111. package/dist/prompts/index.js.map +0 -1
  112. package/dist/prompts/shared/codebase-rules.d.ts.map +0 -1
  113. package/dist/prompts/shared/codebase-rules.js.map +0 -1
  114. package/dist/prompts/shared/git-rules.d.ts.map +0 -1
  115. package/dist/prompts/shared/git-rules.js.map +0 -1
  116. package/dist/prompts/shared/language-rules.d.ts.map +0 -1
  117. package/dist/prompts/shared/language-rules.js.map +0 -1
  118. package/dist/prompts/shared/tool-usage.d.ts.map +0 -1
  119. package/dist/prompts/shared/tool-usage.js.map +0 -1
  120. package/dist/prompts/system/compact.d.ts.map +0 -1
  121. package/dist/prompts/system/compact.js.map +0 -1
  122. package/dist/prompts/system/plan-execute.d.ts.map +0 -1
  123. package/dist/prompts/system/plan-execute.js.map +0 -1
  124. package/dist/tools/browser/browser-client.d.ts.map +0 -1
  125. package/dist/tools/browser/browser-client.js.map +0 -1
  126. package/dist/tools/browser/browser-tools.d.ts.map +0 -1
  127. package/dist/tools/browser/browser-tools.js.map +0 -1
  128. package/dist/tools/browser/index.d.ts.map +0 -1
  129. package/dist/tools/browser/index.js.map +0 -1
  130. package/dist/tools/index.d.ts.map +0 -1
  131. package/dist/tools/index.js.map +0 -1
  132. package/dist/tools/llm/agents/docs-search-tools.d.ts.map +0 -1
  133. package/dist/tools/llm/agents/docs-search-tools.js.map +0 -1
  134. package/dist/tools/llm/agents/index.d.ts.map +0 -1
  135. package/dist/tools/llm/agents/index.js.map +0 -1
  136. package/dist/tools/llm/index.d.ts.map +0 -1
  137. package/dist/tools/llm/index.js.map +0 -1
  138. package/dist/tools/llm/simple/ask-user-tool.d.ts.map +0 -1
  139. package/dist/tools/llm/simple/ask-user-tool.js.map +0 -1
  140. package/dist/tools/llm/simple/background-bash-tool.d.ts.map +0 -1
  141. package/dist/tools/llm/simple/background-bash-tool.js.map +0 -1
  142. package/dist/tools/llm/simple/background-powershell-tool.d.ts.map +0 -1
  143. package/dist/tools/llm/simple/background-powershell-tool.js.map +0 -1
  144. package/dist/tools/llm/simple/bash-tool.d.ts.map +0 -1
  145. package/dist/tools/llm/simple/bash-tool.js.map +0 -1
  146. package/dist/tools/llm/simple/docs-search-agent-tool.d.ts.map +0 -1
  147. package/dist/tools/llm/simple/docs-search-agent-tool.js.map +0 -1
  148. package/dist/tools/llm/simple/file-tools.d.ts.map +0 -1
  149. package/dist/tools/llm/simple/file-tools.js.map +0 -1
  150. package/dist/tools/llm/simple/final-response-tool.d.ts.map +0 -1
  151. package/dist/tools/llm/simple/final-response-tool.js.map +0 -1
  152. package/dist/tools/llm/simple/index.d.ts.map +0 -1
  153. package/dist/tools/llm/simple/index.js.map +0 -1
  154. package/dist/tools/llm/simple/planning-tools.d.ts.map +0 -1
  155. package/dist/tools/llm/simple/planning-tools.js.map +0 -1
  156. package/dist/tools/llm/simple/powershell-tool.d.ts.map +0 -1
  157. package/dist/tools/llm/simple/powershell-tool.js.map +0 -1
  158. package/dist/tools/llm/simple/simple-tool-executor.d.ts.map +0 -1
  159. package/dist/tools/llm/simple/simple-tool-executor.js.map +0 -1
  160. package/dist/tools/llm/simple/todo-tools.d.ts.map +0 -1
  161. package/dist/tools/llm/simple/todo-tools.js.map +0 -1
  162. package/dist/tools/llm/simple/user-interaction-tools.d.ts.map +0 -1
  163. package/dist/tools/llm/simple/user-interaction-tools.js.map +0 -1
  164. package/dist/tools/office/common/constants.d.ts.map +0 -1
  165. package/dist/tools/office/common/constants.js.map +0 -1
  166. package/dist/tools/office/common/index.d.ts.map +0 -1
  167. package/dist/tools/office/common/index.js.map +0 -1
  168. package/dist/tools/office/common/types.d.ts.map +0 -1
  169. package/dist/tools/office/common/types.js.map +0 -1
  170. package/dist/tools/office/common/utils.d.ts.map +0 -1
  171. package/dist/tools/office/common/utils.js.map +0 -1
  172. package/dist/tools/office/excel-client.d.ts.map +0 -1
  173. package/dist/tools/office/excel-client.js.map +0 -1
  174. package/dist/tools/office/excel-tools/cells.d.ts.map +0 -1
  175. package/dist/tools/office/excel-tools/cells.js.map +0 -1
  176. package/dist/tools/office/excel-tools/charts.d.ts.map +0 -1
  177. package/dist/tools/office/excel-tools/charts.js.map +0 -1
  178. package/dist/tools/office/excel-tools/comments.d.ts.map +0 -1
  179. package/dist/tools/office/excel-tools/comments.js.map +0 -1
  180. package/dist/tools/office/excel-tools/data-ops.d.ts.map +0 -1
  181. package/dist/tools/office/excel-tools/data-ops.js.map +0 -1
  182. package/dist/tools/office/excel-tools/export.d.ts.map +0 -1
  183. package/dist/tools/office/excel-tools/export.js.map +0 -1
  184. package/dist/tools/office/excel-tools/formatting.d.ts.map +0 -1
  185. package/dist/tools/office/excel-tools/formatting.js.map +0 -1
  186. package/dist/tools/office/excel-tools/index.d.ts.map +0 -1
  187. package/dist/tools/office/excel-tools/index.js.map +0 -1
  188. package/dist/tools/office/excel-tools/launch.d.ts.map +0 -1
  189. package/dist/tools/office/excel-tools/launch.js.map +0 -1
  190. package/dist/tools/office/excel-tools/media.d.ts.map +0 -1
  191. package/dist/tools/office/excel-tools/media.js.map +0 -1
  192. package/dist/tools/office/excel-tools/named-ranges.d.ts.map +0 -1
  193. package/dist/tools/office/excel-tools/named-ranges.js.map +0 -1
  194. package/dist/tools/office/excel-tools/protection.d.ts.map +0 -1
  195. package/dist/tools/office/excel-tools/protection.js.map +0 -1
  196. package/dist/tools/office/excel-tools/rows-columns.d.ts.map +0 -1
  197. package/dist/tools/office/excel-tools/rows-columns.js.map +0 -1
  198. package/dist/tools/office/excel-tools/sheets.d.ts.map +0 -1
  199. package/dist/tools/office/excel-tools/sheets.js.map +0 -1
  200. package/dist/tools/office/excel-tools/validation.d.ts.map +0 -1
  201. package/dist/tools/office/excel-tools/validation.js.map +0 -1
  202. package/dist/tools/office/excel-tools.d.ts.map +0 -1
  203. package/dist/tools/office/excel-tools.js.map +0 -1
  204. package/dist/tools/office/index.d.ts.map +0 -1
  205. package/dist/tools/office/index.js.map +0 -1
  206. package/dist/tools/office/office-client-base.d.ts.map +0 -1
  207. package/dist/tools/office/office-client-base.js.map +0 -1
  208. package/dist/tools/office/office-client.d.ts.map +0 -1
  209. package/dist/tools/office/office-client.js.map +0 -1
  210. package/dist/tools/office/powerpoint-client.d.ts.map +0 -1
  211. package/dist/tools/office/powerpoint-client.js.map +0 -1
  212. package/dist/tools/office/powerpoint-tools/effects.d.ts.map +0 -1
  213. package/dist/tools/office/powerpoint-tools/effects.js.map +0 -1
  214. package/dist/tools/office/powerpoint-tools/export.d.ts.map +0 -1
  215. package/dist/tools/office/powerpoint-tools/export.js.map +0 -1
  216. package/dist/tools/office/powerpoint-tools/index.d.ts.map +0 -1
  217. package/dist/tools/office/powerpoint-tools/index.js.map +0 -1
  218. package/dist/tools/office/powerpoint-tools/launch.d.ts.map +0 -1
  219. package/dist/tools/office/powerpoint-tools/launch.js.map +0 -1
  220. package/dist/tools/office/powerpoint-tools/media.d.ts.map +0 -1
  221. package/dist/tools/office/powerpoint-tools/media.js.map +0 -1
  222. package/dist/tools/office/powerpoint-tools/notes.d.ts.map +0 -1
  223. package/dist/tools/office/powerpoint-tools/notes.js.map +0 -1
  224. package/dist/tools/office/powerpoint-tools/sections.d.ts.map +0 -1
  225. package/dist/tools/office/powerpoint-tools/sections.js.map +0 -1
  226. package/dist/tools/office/powerpoint-tools/shapes.d.ts.map +0 -1
  227. package/dist/tools/office/powerpoint-tools/shapes.js.map +0 -1
  228. package/dist/tools/office/powerpoint-tools/slides.d.ts.map +0 -1
  229. package/dist/tools/office/powerpoint-tools/slides.js.map +0 -1
  230. package/dist/tools/office/powerpoint-tools/tables.d.ts.map +0 -1
  231. package/dist/tools/office/powerpoint-tools/tables.js.map +0 -1
  232. package/dist/tools/office/powerpoint-tools/text.d.ts.map +0 -1
  233. package/dist/tools/office/powerpoint-tools/text.js.map +0 -1
  234. package/dist/tools/office/powerpoint-tools.d.ts.map +0 -1
  235. package/dist/tools/office/powerpoint-tools.js.map +0 -1
  236. package/dist/tools/office/word-client.d.ts.map +0 -1
  237. package/dist/tools/office/word-client.js.map +0 -1
  238. package/dist/tools/office/word-tools/bookmarks.d.ts.map +0 -1
  239. package/dist/tools/office/word-tools/bookmarks.js.map +0 -1
  240. package/dist/tools/office/word-tools/comments.d.ts.map +0 -1
  241. package/dist/tools/office/word-tools/comments.js.map +0 -1
  242. package/dist/tools/office/word-tools/content.d.ts.map +0 -1
  243. package/dist/tools/office/word-tools/content.js.map +0 -1
  244. package/dist/tools/office/word-tools/export.d.ts.map +0 -1
  245. package/dist/tools/office/word-tools/export.js.map +0 -1
  246. package/dist/tools/office/word-tools/formatting.d.ts.map +0 -1
  247. package/dist/tools/office/word-tools/formatting.js.map +0 -1
  248. package/dist/tools/office/word-tools/headers-footers.d.ts.map +0 -1
  249. package/dist/tools/office/word-tools/headers-footers.js.map +0 -1
  250. package/dist/tools/office/word-tools/index.d.ts.map +0 -1
  251. package/dist/tools/office/word-tools/index.js.map +0 -1
  252. package/dist/tools/office/word-tools/launch.d.ts.map +0 -1
  253. package/dist/tools/office/word-tools/launch.js.map +0 -1
  254. package/dist/tools/office/word-tools/lists.d.ts.map +0 -1
  255. package/dist/tools/office/word-tools/lists.js.map +0 -1
  256. package/dist/tools/office/word-tools/navigation.d.ts.map +0 -1
  257. package/dist/tools/office/word-tools/navigation.js.map +0 -1
  258. package/dist/tools/office/word-tools/page-setup.d.ts.map +0 -1
  259. package/dist/tools/office/word-tools/page-setup.js.map +0 -1
  260. package/dist/tools/office/word-tools/tables.d.ts.map +0 -1
  261. package/dist/tools/office/word-tools/tables.js.map +0 -1
  262. package/dist/tools/office/word-tools/text.d.ts.map +0 -1
  263. package/dist/tools/office/word-tools/text.js.map +0 -1
  264. package/dist/tools/office/word-tools/undo-redo.d.ts.map +0 -1
  265. package/dist/tools/office/word-tools/undo-redo.js.map +0 -1
  266. package/dist/tools/office/word-tools/watermarks.d.ts.map +0 -1
  267. package/dist/tools/office/word-tools/watermarks.js.map +0 -1
  268. package/dist/tools/office/word-tools.d.ts.map +0 -1
  269. package/dist/tools/office/word-tools.js.map +0 -1
  270. package/dist/tools/registry.d.ts.map +0 -1
  271. package/dist/tools/registry.js.map +0 -1
  272. package/dist/tools/types.d.ts.map +0 -1
  273. package/dist/tools/types.js.map +0 -1
  274. package/dist/types/index.d.ts.map +0 -1
  275. package/dist/types/index.js.map +0 -1
  276. package/dist/ui/PlanExecuteView.d.ts.map +0 -1
  277. package/dist/ui/PlanExecuteView.js.map +0 -1
  278. package/dist/ui/TodoPanel.d.ts.map +0 -1
  279. package/dist/ui/TodoPanel.js.map +0 -1
  280. package/dist/ui/UpdateNotification.d.ts.map +0 -1
  281. package/dist/ui/UpdateNotification.js.map +0 -1
  282. package/dist/ui/components/ActivityIndicator.d.ts.map +0 -1
  283. package/dist/ui/components/ActivityIndicator.js.map +0 -1
  284. package/dist/ui/components/CommandBrowser.d.ts.map +0 -1
  285. package/dist/ui/components/CommandBrowser.js.map +0 -1
  286. package/dist/ui/components/CustomTextInput.d.ts.map +0 -1
  287. package/dist/ui/components/CustomTextInput.js.map +0 -1
  288. package/dist/ui/components/DocsSearchProgress.d.ts.map +0 -1
  289. package/dist/ui/components/DocsSearchProgress.js.map +0 -1
  290. package/dist/ui/components/FileBrowser.d.ts.map +0 -1
  291. package/dist/ui/components/FileBrowser.js.map +0 -1
  292. package/dist/ui/components/LLMSetupWizard.d.ts.map +0 -1
  293. package/dist/ui/components/LLMSetupWizard.js.map +0 -1
  294. package/dist/ui/components/Logo.d.ts.map +0 -1
  295. package/dist/ui/components/Logo.js.map +0 -1
  296. package/dist/ui/components/MarkdownRenderer.d.ts.map +0 -1
  297. package/dist/ui/components/MarkdownRenderer.js.map +0 -1
  298. package/dist/ui/components/ModelSelector.d.ts.map +0 -1
  299. package/dist/ui/components/ModelSelector.js.map +0 -1
  300. package/dist/ui/components/PlanExecuteApp.d.ts.map +0 -1
  301. package/dist/ui/components/PlanExecuteApp.js.map +0 -1
  302. package/dist/ui/components/ProgressBar.d.ts.map +0 -1
  303. package/dist/ui/components/ProgressBar.js.map +0 -1
  304. package/dist/ui/components/StatusBar.d.ts.map +0 -1
  305. package/dist/ui/components/StatusBar.js.map +0 -1
  306. package/dist/ui/components/ThinkingIndicator.d.ts.map +0 -1
  307. package/dist/ui/components/ThinkingIndicator.js.map +0 -1
  308. package/dist/ui/components/TodoListView.d.ts.map +0 -1
  309. package/dist/ui/components/TodoListView.js.map +0 -1
  310. package/dist/ui/components/ToolSelector.d.ts.map +0 -1
  311. package/dist/ui/components/ToolSelector.js.map +0 -1
  312. package/dist/ui/components/dialogs/ApprovalDialog.d.ts.map +0 -1
  313. package/dist/ui/components/dialogs/ApprovalDialog.js.map +0 -1
  314. package/dist/ui/components/dialogs/AskUserDialog.d.ts.map +0 -1
  315. package/dist/ui/components/dialogs/AskUserDialog.js.map +0 -1
  316. package/dist/ui/components/dialogs/DocsBrowser.d.ts.map +0 -1
  317. package/dist/ui/components/dialogs/DocsBrowser.js.map +0 -1
  318. package/dist/ui/components/dialogs/SettingsDialog.d.ts.map +0 -1
  319. package/dist/ui/components/dialogs/SettingsDialog.js.map +0 -1
  320. package/dist/ui/components/dialogs/index.d.ts.map +0 -1
  321. package/dist/ui/components/dialogs/index.js.map +0 -1
  322. package/dist/ui/components/index.d.ts.map +0 -1
  323. package/dist/ui/components/index.js.map +0 -1
  324. package/dist/ui/components/panels/LogPanel.d.ts.map +0 -1
  325. package/dist/ui/components/panels/LogPanel.js.map +0 -1
  326. package/dist/ui/components/panels/SessionPanel.d.ts.map +0 -1
  327. package/dist/ui/components/panels/SessionPanel.js.map +0 -1
  328. package/dist/ui/components/panels/index.d.ts.map +0 -1
  329. package/dist/ui/components/panels/index.js.map +0 -1
  330. package/dist/ui/components/views/ChatView.d.ts.map +0 -1
  331. package/dist/ui/components/views/ChatView.js.map +0 -1
  332. package/dist/ui/components/views/index.d.ts.map +0 -1
  333. package/dist/ui/components/views/index.js.map +0 -1
  334. package/dist/ui/contexts/TokenContext.d.ts.map +0 -1
  335. package/dist/ui/contexts/TokenContext.js.map +0 -1
  336. package/dist/ui/hooks/atFileProcessor.d.ts.map +0 -1
  337. package/dist/ui/hooks/atFileProcessor.js.map +0 -1
  338. package/dist/ui/hooks/index.d.ts.map +0 -1
  339. package/dist/ui/hooks/index.js.map +0 -1
  340. package/dist/ui/hooks/slashCommandProcessor.d.ts.map +0 -1
  341. package/dist/ui/hooks/slashCommandProcessor.js.map +0 -1
  342. package/dist/ui/hooks/useCommandBrowserState.d.ts.map +0 -1
  343. package/dist/ui/hooks/useCommandBrowserState.js.map +0 -1
  344. package/dist/ui/hooks/useFileBrowserState.d.ts.map +0 -1
  345. package/dist/ui/hooks/useFileBrowserState.js.map +0 -1
  346. package/dist/ui/hooks/useFileList.d.ts.map +0 -1
  347. package/dist/ui/hooks/useFileList.js.map +0 -1
  348. package/dist/ui/hooks/useInputHistory.d.ts.map +0 -1
  349. package/dist/ui/hooks/useInputHistory.js.map +0 -1
  350. package/dist/ui/hooks/usePlanExecution.d.ts.map +0 -1
  351. package/dist/ui/hooks/usePlanExecution.js.map +0 -1
  352. package/dist/ui/index.d.ts.map +0 -1
  353. package/dist/ui/index.js.map +0 -1
  354. package/dist/ui/ink-entry.d.ts.map +0 -1
  355. package/dist/ui/ink-entry.js.map +0 -1
  356. package/dist/utils/env-filter.d.ts.map +0 -1
  357. package/dist/utils/env-filter.js.map +0 -1
  358. package/dist/utils/file-system.d.ts.map +0 -1
  359. package/dist/utils/file-system.js.map +0 -1
  360. package/dist/utils/git-utils.d.ts.map +0 -1
  361. package/dist/utils/git-utils.js.map +0 -1
  362. package/dist/utils/json-stream-logger.d.ts.map +0 -1
  363. package/dist/utils/json-stream-logger.js.map +0 -1
  364. package/dist/utils/logger.d.ts.map +0 -1
  365. package/dist/utils/logger.js.map +0 -1
  366. package/dist/utils/platform-utils.d.ts.map +0 -1
  367. package/dist/utils/platform-utils.js.map +0 -1
  368. package/dist/utils/wsl-utils.d.ts.map +0 -1
  369. package/dist/utils/wsl-utils.js.map +0 -1
  370. package/electron.vite.config.ts +0 -63
  371. package/google374b9eba0c52b043.html +0 -1
  372. package/src/agents/base/base-agent.ts +0 -159
  373. package/src/agents/docs-search/index.ts +0 -365
  374. package/src/agents/index.ts +0 -34
  375. package/src/agents/planner/index.ts +0 -544
  376. package/src/cli.ts +0 -201
  377. package/src/constants.ts +0 -47
  378. package/src/core/compact/compact-manager.ts +0 -160
  379. package/src/core/compact/compact-prompts.ts +0 -150
  380. package/src/core/compact/context-tracker.ts +0 -164
  381. package/src/core/compact/index.ts +0 -25
  382. package/src/core/config/config-manager.ts +0 -460
  383. package/src/core/config/index.ts +0 -5
  384. package/src/core/docs-manager.ts +0 -678
  385. package/src/core/llm/index.ts +0 -7
  386. package/src/core/llm/llm-client.ts +0 -1550
  387. package/src/core/session/index.ts +0 -5
  388. package/src/core/session/session-manager.ts +0 -464
  389. package/src/core/slash-command-handler.ts +0 -410
  390. package/src/core/usage-tracker.ts +0 -438
  391. package/src/errors/base.ts +0 -81
  392. package/src/errors/file.ts +0 -183
  393. package/src/errors/index.ts +0 -95
  394. package/src/errors/llm.ts +0 -151
  395. package/src/errors/network.ts +0 -124
  396. package/src/errors/validation.ts +0 -111
  397. package/src/eval/eval-runner.ts +0 -456
  398. package/src/eval/index.ts +0 -8
  399. package/src/eval/types.ts +0 -139
  400. package/src/index.ts +0 -22
  401. package/src/orchestration/index.ts +0 -30
  402. package/src/orchestration/plan-executor.ts +0 -652
  403. package/src/orchestration/types.ts +0 -127
  404. package/src/orchestration/utils.ts +0 -119
  405. package/src/orquesta/connection.ts +0 -291
  406. package/src/prompts/agents/docs-search-decision.ts +0 -74
  407. package/src/prompts/agents/docs-search.ts +0 -84
  408. package/src/prompts/agents/planning.ts +0 -143
  409. package/src/prompts/index.ts +0 -31
  410. package/src/prompts/shared/codebase-rules.ts +0 -29
  411. package/src/prompts/shared/git-rules.ts +0 -94
  412. package/src/prompts/shared/language-rules.ts +0 -36
  413. package/src/prompts/shared/tool-usage.ts +0 -72
  414. package/src/prompts/system/compact.ts +0 -80
  415. package/src/prompts/system/plan-execute.ts +0 -89
  416. package/src/tools/browser/browser-client.ts +0 -1363
  417. package/src/tools/browser/browser-tools.ts +0 -1139
  418. package/src/tools/browser/index.ts +0 -65
  419. package/src/tools/index.ts +0 -23
  420. package/src/tools/llm/agents/docs-search-tools.ts +0 -368
  421. package/src/tools/llm/agents/index.ts +0 -22
  422. package/src/tools/llm/index.ts +0 -11
  423. package/src/tools/llm/simple/ask-user-tool.ts +0 -25
  424. package/src/tools/llm/simple/background-bash-tool.ts +0 -443
  425. package/src/tools/llm/simple/background-powershell-tool.ts +0 -421
  426. package/src/tools/llm/simple/bash-tool.ts +0 -238
  427. package/src/tools/llm/simple/docs-search-agent-tool.ts +0 -146
  428. package/src/tools/llm/simple/file-tools.ts +0 -1051
  429. package/src/tools/llm/simple/final-response-tool.ts +0 -180
  430. package/src/tools/llm/simple/index.ts +0 -42
  431. package/src/tools/llm/simple/planning-tools.ts +0 -143
  432. package/src/tools/llm/simple/powershell-tool.ts +0 -241
  433. package/src/tools/llm/simple/simple-tool-executor.ts +0 -279
  434. package/src/tools/llm/simple/todo-tools.ts +0 -207
  435. package/src/tools/llm/simple/user-interaction-tools.ts +0 -277
  436. package/src/tools/office/common/constants.ts +0 -335
  437. package/src/tools/office/common/index.ts +0 -133
  438. package/src/tools/office/common/types.ts +0 -286
  439. package/src/tools/office/common/utils.ts +0 -116
  440. package/src/tools/office/excel-client.ts +0 -1336
  441. package/src/tools/office/excel-tools/cells.ts +0 -359
  442. package/src/tools/office/excel-tools/charts.ts +0 -166
  443. package/src/tools/office/excel-tools/comments.ts +0 -155
  444. package/src/tools/office/excel-tools/data-ops.ts +0 -349
  445. package/src/tools/office/excel-tools/export.ts +0 -105
  446. package/src/tools/office/excel-tools/formatting.ts +0 -357
  447. package/src/tools/office/excel-tools/index.ts +0 -55
  448. package/src/tools/office/excel-tools/launch.ts +0 -303
  449. package/src/tools/office/excel-tools/media.ts +0 -117
  450. package/src/tools/office/excel-tools/named-ranges.ts +0 -148
  451. package/src/tools/office/excel-tools/protection.ts +0 -105
  452. package/src/tools/office/excel-tools/rows-columns.ts +0 -386
  453. package/src/tools/office/excel-tools/sheets.ts +0 -228
  454. package/src/tools/office/excel-tools/validation.ts +0 -226
  455. package/src/tools/office/excel-tools.ts +0 -9
  456. package/src/tools/office/index.ts +0 -259
  457. package/src/tools/office/office-client-base.ts +0 -242
  458. package/src/tools/office/office-client.ts +0 -377
  459. package/src/tools/office/powerpoint-client.ts +0 -1498
  460. package/src/tools/office/powerpoint-tools/effects.ts +0 -315
  461. package/src/tools/office/powerpoint-tools/export.ts +0 -138
  462. package/src/tools/office/powerpoint-tools/index.ts +0 -45
  463. package/src/tools/office/powerpoint-tools/launch.ts +0 -263
  464. package/src/tools/office/powerpoint-tools/media.ts +0 -291
  465. package/src/tools/office/powerpoint-tools/notes.ts +0 -220
  466. package/src/tools/office/powerpoint-tools/sections.ts +0 -140
  467. package/src/tools/office/powerpoint-tools/shapes.ts +0 -870
  468. package/src/tools/office/powerpoint-tools/slides.ts +0 -350
  469. package/src/tools/office/powerpoint-tools/tables.ts +0 -182
  470. package/src/tools/office/powerpoint-tools/text.ts +0 -473
  471. package/src/tools/office/powerpoint-tools.ts +0 -9
  472. package/src/tools/office/word-client.ts +0 -1697
  473. package/src/tools/office/word-tools/bookmarks.ts +0 -186
  474. package/src/tools/office/word-tools/comments.ts +0 -185
  475. package/src/tools/office/word-tools/content.ts +0 -229
  476. package/src/tools/office/word-tools/export.ts +0 -97
  477. package/src/tools/office/word-tools/formatting.ts +0 -161
  478. package/src/tools/office/word-tools/headers-footers.ts +0 -155
  479. package/src/tools/office/word-tools/index.ts +0 -57
  480. package/src/tools/office/word-tools/launch.ts +0 -312
  481. package/src/tools/office/word-tools/lists.ts +0 -97
  482. package/src/tools/office/word-tools/navigation.ts +0 -114
  483. package/src/tools/office/word-tools/page-setup.ts +0 -195
  484. package/src/tools/office/word-tools/tables.ts +0 -262
  485. package/src/tools/office/word-tools/text.ts +0 -294
  486. package/src/tools/office/word-tools/undo-redo.ts +0 -97
  487. package/src/tools/office/word-tools/watermarks.ts +0 -105
  488. package/src/tools/office/word-tools.ts +0 -9
  489. package/src/tools/registry.ts +0 -527
  490. package/src/tools/types.ts +0 -231
  491. package/src/types/index.ts +0 -181
  492. package/src/ui/PlanExecuteView.tsx +0 -119
  493. package/src/ui/TodoPanel.tsx +0 -240
  494. package/src/ui/UpdateNotification.tsx +0 -105
  495. package/src/ui/components/ActivityIndicator.tsx +0 -234
  496. package/src/ui/components/CommandBrowser.tsx +0 -114
  497. package/src/ui/components/CustomTextInput.tsx +0 -389
  498. package/src/ui/components/DocsSearchProgress.tsx +0 -85
  499. package/src/ui/components/FileBrowser.tsx +0 -93
  500. package/src/ui/components/LLMSetupWizard.tsx +0 -333
  501. package/src/ui/components/Logo.tsx +0 -125
  502. package/src/ui/components/MarkdownRenderer.tsx +0 -358
  503. package/src/ui/components/ModelSelector.tsx +0 -203
  504. package/src/ui/components/PlanExecuteApp.tsx +0 -2007
  505. package/src/ui/components/ProgressBar.tsx +0 -51
  506. package/src/ui/components/StatusBar.tsx +0 -302
  507. package/src/ui/components/ThinkingIndicator.tsx +0 -120
  508. package/src/ui/components/TodoListView.tsx +0 -140
  509. package/src/ui/components/ToolSelector.tsx +0 -215
  510. package/src/ui/components/dialogs/ApprovalDialog.tsx +0 -259
  511. package/src/ui/components/dialogs/AskUserDialog.tsx +0 -159
  512. package/src/ui/components/dialogs/DocsBrowser.tsx +0 -222
  513. package/src/ui/components/dialogs/SettingsDialog.tsx +0 -939
  514. package/src/ui/components/dialogs/index.ts +0 -13
  515. package/src/ui/components/index.ts +0 -27
  516. package/src/ui/components/panels/LogPanel.tsx +0 -385
  517. package/src/ui/components/panels/SessionPanel.tsx +0 -146
  518. package/src/ui/components/panels/index.ts +0 -13
  519. package/src/ui/components/views/ChatView.tsx +0 -447
  520. package/src/ui/components/views/index.ts +0 -5
  521. package/src/ui/contexts/TokenContext.tsx +0 -139
  522. package/src/ui/hooks/atFileProcessor.ts +0 -167
  523. package/src/ui/hooks/index.ts +0 -11
  524. package/src/ui/hooks/slashCommandProcessor.ts +0 -174
  525. package/src/ui/hooks/useCommandBrowserState.ts +0 -97
  526. package/src/ui/hooks/useFileBrowserState.ts +0 -116
  527. package/src/ui/hooks/useFileList.ts +0 -132
  528. package/src/ui/hooks/useInputHistory.ts +0 -89
  529. package/src/ui/hooks/usePlanExecution.ts +0 -339
  530. package/src/ui/index.ts +0 -10
  531. package/src/ui/ink-entry.tsx +0 -36
  532. package/src/utils/env-filter.ts +0 -164
  533. package/src/utils/file-system.ts +0 -133
  534. package/src/utils/git-utils.ts +0 -30
  535. package/src/utils/json-stream-logger.ts +0 -1259
  536. package/src/utils/logger.ts +0 -2767
  537. package/src/utils/platform-utils.ts +0 -256
  538. package/src/utils/wsl-utils.ts +0 -113
  539. package/tsconfig.electron.json +0 -39
  540. package/tsconfig.json +0 -64
@@ -1,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
- }