@kaitranntt/ccs 8.1.4 → 8.2.0-dev.2

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 (366) hide show
  1. package/config/base-kiro.settings.json +4 -4
  2. package/config/base-qoder.settings.json +10 -0
  3. package/dist/channels/official-channels-runtime.js +1 -1
  4. package/dist/channels/official-channels-runtime.js.map +1 -1
  5. package/dist/cliproxy/accounts/registry.d.ts.map +1 -1
  6. package/dist/cliproxy/accounts/registry.js +11 -4
  7. package/dist/cliproxy/accounts/registry.js.map +1 -1
  8. package/dist/cliproxy/ai-providers/codex-plan-compatibility.js +1 -1
  9. package/dist/cliproxy/ai-providers/codex-plan-compatibility.js.map +1 -1
  10. package/dist/cliproxy/ai-providers/codex-reasoning-proxy.d.ts.map +1 -1
  11. package/dist/cliproxy/ai-providers/codex-reasoning-proxy.js +88 -11
  12. package/dist/cliproxy/ai-providers/codex-reasoning-proxy.js.map +1 -1
  13. package/dist/cliproxy/auth/auth-types.d.ts +2 -0
  14. package/dist/cliproxy/auth/auth-types.d.ts.map +1 -1
  15. package/dist/cliproxy/auth/auth-types.js +7 -0
  16. package/dist/cliproxy/auth/auth-types.js.map +1 -1
  17. package/dist/cliproxy/auth/oauth-handler.d.ts.map +1 -1
  18. package/dist/cliproxy/auth/oauth-handler.js +19 -10
  19. package/dist/cliproxy/auth/oauth-handler.js.map +1 -1
  20. package/dist/cliproxy/auth/oauth-trace/redactor.d.ts.map +1 -1
  21. package/dist/cliproxy/auth/oauth-trace/redactor.js +1 -0
  22. package/dist/cliproxy/auth/oauth-trace/redactor.js.map +1 -1
  23. package/dist/cliproxy/auth/oauth-trace/trace-recorder.js +2 -2
  24. package/dist/cliproxy/auth/oauth-trace/trace-recorder.js.map +1 -1
  25. package/dist/cliproxy/binary/version-checker.d.ts +4 -2
  26. package/dist/cliproxy/binary/version-checker.d.ts.map +1 -1
  27. package/dist/cliproxy/binary/version-checker.js +30 -20
  28. package/dist/cliproxy/binary/version-checker.js.map +1 -1
  29. package/dist/cliproxy/executor/arg-parser.d.ts +8 -5
  30. package/dist/cliproxy/executor/arg-parser.d.ts.map +1 -1
  31. package/dist/cliproxy/executor/arg-parser.js +21 -10
  32. package/dist/cliproxy/executor/arg-parser.js.map +1 -1
  33. package/dist/cliproxy/executor/browser-launch-setup.d.ts +1 -0
  34. package/dist/cliproxy/executor/browser-launch-setup.d.ts.map +1 -1
  35. package/dist/cliproxy/executor/browser-launch-setup.js +4 -3
  36. package/dist/cliproxy/executor/browser-launch-setup.js.map +1 -1
  37. package/dist/cliproxy/executor/index.d.ts.map +1 -1
  38. package/dist/cliproxy/executor/index.js +15 -6
  39. package/dist/cliproxy/executor/index.js.map +1 -1
  40. package/dist/cliproxy/executor/proxy-resolver.d.ts +15 -9
  41. package/dist/cliproxy/executor/proxy-resolver.d.ts.map +1 -1
  42. package/dist/cliproxy/executor/proxy-resolver.js +14 -5
  43. package/dist/cliproxy/executor/proxy-resolver.js.map +1 -1
  44. package/dist/cliproxy/model-catalog.d.ts.map +1 -1
  45. package/dist/cliproxy/model-catalog.js +79 -2
  46. package/dist/cliproxy/model-catalog.js.map +1 -1
  47. package/dist/cliproxy/provider-capabilities.d.ts.map +1 -1
  48. package/dist/cliproxy/provider-capabilities.js +12 -0
  49. package/dist/cliproxy/provider-capabilities.js.map +1 -1
  50. package/dist/cliproxy/proxy/proxy-config-resolver.d.ts.map +1 -1
  51. package/dist/cliproxy/proxy/proxy-config-resolver.js +11 -1
  52. package/dist/cliproxy/proxy/proxy-config-resolver.js.map +1 -1
  53. package/dist/cliproxy/proxy/tool-sanitization-proxy.d.ts.map +1 -1
  54. package/dist/cliproxy/proxy/tool-sanitization-proxy.js +160 -8
  55. package/dist/cliproxy/proxy/tool-sanitization-proxy.js.map +1 -1
  56. package/dist/cliproxy/proxy/upstream-response-timeout.d.ts +14 -0
  57. package/dist/cliproxy/proxy/upstream-response-timeout.d.ts.map +1 -0
  58. package/dist/cliproxy/proxy/upstream-response-timeout.js +72 -0
  59. package/dist/cliproxy/proxy/upstream-response-timeout.js.map +1 -0
  60. package/dist/cliproxy/quota/quota-fetcher-claude.d.ts +9 -0
  61. package/dist/cliproxy/quota/quota-fetcher-claude.d.ts.map +1 -1
  62. package/dist/cliproxy/quota/quota-fetcher-claude.js +53 -16
  63. package/dist/cliproxy/quota/quota-fetcher-claude.js.map +1 -1
  64. package/dist/cliproxy/quota/quota-fetcher-codex.d.ts +2 -2
  65. package/dist/cliproxy/quota/quota-fetcher-codex.d.ts.map +1 -1
  66. package/dist/cliproxy/quota/quota-fetcher-codex.js +2 -4
  67. package/dist/cliproxy/quota/quota-fetcher-codex.js.map +1 -1
  68. package/dist/cliproxy/quota/quota-fetcher.d.ts.map +1 -1
  69. package/dist/cliproxy/quota/quota-fetcher.js +4 -0
  70. package/dist/cliproxy/quota/quota-fetcher.js.map +1 -1
  71. package/dist/cliproxy/quota/quota-label-sanitizer.d.ts +10 -0
  72. package/dist/cliproxy/quota/quota-label-sanitizer.d.ts.map +1 -0
  73. package/dist/cliproxy/quota/quota-label-sanitizer.js +31 -0
  74. package/dist/cliproxy/quota/quota-label-sanitizer.js.map +1 -0
  75. package/dist/cliproxy/quota/quota-manager.d.ts.map +1 -1
  76. package/dist/cliproxy/quota/quota-manager.js +32 -1
  77. package/dist/cliproxy/quota/quota-manager.js.map +1 -1
  78. package/dist/cliproxy/routing/routing-strategy-http.d.ts.map +1 -1
  79. package/dist/cliproxy/routing/routing-strategy-http.js +35 -26
  80. package/dist/cliproxy/routing/routing-strategy-http.js.map +1 -1
  81. package/dist/cliproxy/services/catalog-cache.d.ts.map +1 -1
  82. package/dist/cliproxy/services/catalog-cache.js +5 -3
  83. package/dist/cliproxy/services/catalog-cache.js.map +1 -1
  84. package/dist/cliproxy/services/stats-fetcher.d.ts +13 -0
  85. package/dist/cliproxy/services/stats-fetcher.d.ts.map +1 -1
  86. package/dist/cliproxy/services/stats-fetcher.js +25 -1
  87. package/dist/cliproxy/services/stats-fetcher.js.map +1 -1
  88. package/dist/cliproxy/types/provider-types.d.ts +1 -1
  89. package/dist/cliproxy/types/provider-types.d.ts.map +1 -1
  90. package/dist/cliproxy/types/provider-types.js +1 -0
  91. package/dist/cliproxy/types/provider-types.js.map +1 -1
  92. package/dist/codex-auth/codex-config-symlink.js +21 -4
  93. package/dist/codex-auth/codex-config-symlink.js.map +1 -1
  94. package/dist/codex-auth/commands/import-default-command.d.ts +1 -1
  95. package/dist/codex-auth/commands/import-default-command.d.ts.map +1 -1
  96. package/dist/codex-auth/commands/import-default-command.js +12 -25
  97. package/dist/codex-auth/commands/import-default-command.js.map +1 -1
  98. package/dist/commands/api-command/help.js +1 -1
  99. package/dist/commands/api-command/help.js.map +1 -1
  100. package/dist/commands/bar/index.d.ts +8 -0
  101. package/dist/commands/bar/index.d.ts.map +1 -0
  102. package/dist/commands/bar/index.js +69 -0
  103. package/dist/commands/bar/index.js.map +1 -0
  104. package/dist/commands/bar/install-subcommand.d.ts +50 -0
  105. package/dist/commands/bar/install-subcommand.d.ts.map +1 -0
  106. package/dist/commands/bar/install-subcommand.js +383 -0
  107. package/dist/commands/bar/install-subcommand.js.map +1 -0
  108. package/dist/commands/bar/launch-subcommand.d.ts +38 -0
  109. package/dist/commands/bar/launch-subcommand.d.ts.map +1 -0
  110. package/dist/commands/bar/launch-subcommand.js +144 -0
  111. package/dist/commands/bar/launch-subcommand.js.map +1 -0
  112. package/dist/commands/bar/uninstall-subcommand.d.ts +13 -0
  113. package/dist/commands/bar/uninstall-subcommand.d.ts.map +1 -0
  114. package/dist/commands/bar/uninstall-subcommand.js +78 -0
  115. package/dist/commands/bar/uninstall-subcommand.js.map +1 -0
  116. package/dist/commands/bar/version-subcommand.d.ts +8 -0
  117. package/dist/commands/bar/version-subcommand.d.ts.map +1 -0
  118. package/dist/commands/bar/version-subcommand.js +62 -0
  119. package/dist/commands/bar/version-subcommand.js.map +1 -0
  120. package/dist/commands/cleanup-command.d.ts.map +1 -1
  121. package/dist/commands/cleanup-command.js +99 -51
  122. package/dist/commands/cleanup-command.js.map +1 -1
  123. package/dist/commands/cliproxy/quota-subcommand.d.ts +10 -1
  124. package/dist/commands/cliproxy/quota-subcommand.d.ts.map +1 -1
  125. package/dist/commands/cliproxy/quota-subcommand.js +15 -6
  126. package/dist/commands/cliproxy/quota-subcommand.js.map +1 -1
  127. package/dist/commands/command-catalog.d.ts.map +1 -1
  128. package/dist/commands/command-catalog.js +7 -0
  129. package/dist/commands/command-catalog.js.map +1 -1
  130. package/dist/commands/config-channels-command.d.ts +1 -4
  131. package/dist/commands/config-channels-command.d.ts.map +1 -1
  132. package/dist/commands/config-channels-command.js +20 -24
  133. package/dist/commands/config-channels-command.js.map +1 -1
  134. package/dist/commands/root-command-router.d.ts.map +1 -1
  135. package/dist/commands/root-command-router.js +7 -0
  136. package/dist/commands/root-command-router.js.map +1 -1
  137. package/dist/config/loader/yaml-serializer.d.ts.map +1 -1
  138. package/dist/config/loader/yaml-serializer.js +13 -0
  139. package/dist/config/loader/yaml-serializer.js.map +1 -1
  140. package/dist/config/reserved-names.d.ts +1 -1
  141. package/dist/config/reserved-names.d.ts.map +1 -1
  142. package/dist/config/reserved-names.js +1 -0
  143. package/dist/config/reserved-names.js.map +1 -1
  144. package/dist/config/schemas/proxy-server.js +1 -1
  145. package/dist/config/schemas/quota.d.ts +26 -2
  146. package/dist/config/schemas/quota.d.ts.map +1 -1
  147. package/dist/config/schemas/quota.js +20 -1
  148. package/dist/config/schemas/quota.js.map +1 -1
  149. package/dist/cursor/cursor-daemon-auth.d.ts +2 -0
  150. package/dist/cursor/cursor-daemon-auth.d.ts.map +1 -0
  151. package/dist/cursor/cursor-daemon-auth.js +49 -0
  152. package/dist/cursor/cursor-daemon-auth.js.map +1 -0
  153. package/dist/cursor/cursor-daemon-entry.d.ts.map +1 -1
  154. package/dist/cursor/cursor-daemon-entry.js +44 -0
  155. package/dist/cursor/cursor-daemon-entry.js.map +1 -1
  156. package/dist/cursor/cursor-daemon.d.ts +2 -1
  157. package/dist/cursor/cursor-daemon.d.ts.map +1 -1
  158. package/dist/cursor/cursor-daemon.js +21 -5
  159. package/dist/cursor/cursor-daemon.js.map +1 -1
  160. package/dist/cursor/cursor-models.d.ts.map +1 -1
  161. package/dist/cursor/cursor-models.js +2 -1
  162. package/dist/cursor/cursor-models.js.map +1 -1
  163. package/dist/cursor/cursor-profile-executor.d.ts +1 -1
  164. package/dist/cursor/cursor-profile-executor.d.ts.map +1 -1
  165. package/dist/cursor/cursor-profile-executor.js +7 -4
  166. package/dist/cursor/cursor-profile-executor.js.map +1 -1
  167. package/dist/cursor/cursor-runtime-probe.d.ts.map +1 -1
  168. package/dist/cursor/cursor-runtime-probe.js +4 -2
  169. package/dist/cursor/cursor-runtime-probe.js.map +1 -1
  170. package/dist/cursor/types.d.ts +1 -0
  171. package/dist/cursor/types.d.ts.map +1 -1
  172. package/dist/dispatcher/profile-resolver.d.ts +16 -0
  173. package/dist/dispatcher/profile-resolver.d.ts.map +1 -1
  174. package/dist/dispatcher/profile-resolver.js +49 -3
  175. package/dist/dispatcher/profile-resolver.js.map +1 -1
  176. package/dist/docker/docker-key-rotation.d.ts +2 -0
  177. package/dist/docker/docker-key-rotation.d.ts.map +1 -1
  178. package/dist/docker/docker-key-rotation.js +9 -1
  179. package/dist/docker/docker-key-rotation.js.map +1 -1
  180. package/dist/glmt/sse-parser.d.ts +1 -0
  181. package/dist/glmt/sse-parser.d.ts.map +1 -1
  182. package/dist/glmt/sse-parser.js +13 -1
  183. package/dist/glmt/sse-parser.js.map +1 -1
  184. package/dist/management/shared-manager.d.ts.map +1 -1
  185. package/dist/management/shared-manager.js +9 -1
  186. package/dist/management/shared-manager.js.map +1 -1
  187. package/dist/proxy/profile-router.d.ts +2 -0
  188. package/dist/proxy/profile-router.d.ts.map +1 -1
  189. package/dist/proxy/profile-router.js +6 -2
  190. package/dist/proxy/profile-router.js.map +1 -1
  191. package/dist/proxy/proxy-daemon.js +1 -1
  192. package/dist/proxy/proxy-daemon.js.map +1 -1
  193. package/dist/proxy/server/messages-route.d.ts.map +1 -1
  194. package/dist/proxy/server/messages-route.js +79 -7
  195. package/dist/proxy/server/messages-route.js.map +1 -1
  196. package/dist/proxy/transformers/request-transformer.d.ts.map +1 -1
  197. package/dist/proxy/transformers/request-transformer.js +9 -2
  198. package/dist/proxy/transformers/request-transformer.js.map +1 -1
  199. package/dist/shared/claude-extension-setup.d.ts.map +1 -1
  200. package/dist/shared/claude-extension-setup.js +2 -1
  201. package/dist/shared/claude-extension-setup.js.map +1 -1
  202. package/dist/shared/cliproxy-model-routing.d.ts.map +1 -1
  203. package/dist/shared/cliproxy-model-routing.js +1 -0
  204. package/dist/shared/cliproxy-model-routing.js.map +1 -1
  205. package/dist/shared/stale-codex-translator-settings.d.ts.map +1 -1
  206. package/dist/shared/stale-codex-translator-settings.js +48 -9
  207. package/dist/shared/stale-codex-translator-settings.js.map +1 -1
  208. package/dist/targets/codex-adapter.d.ts.map +1 -1
  209. package/dist/targets/codex-adapter.js +10 -8
  210. package/dist/targets/codex-adapter.js.map +1 -1
  211. package/dist/targets/target-metadata.js +1 -1
  212. package/dist/targets/target-metadata.js.map +1 -1
  213. package/dist/ui/assets/{Trans-DyZQZ3e2.js → Trans-BkttMZOY.js} +1 -1
  214. package/dist/ui/assets/accounts-CMnafyvZ.js +1 -0
  215. package/dist/ui/assets/{alert-dialog-DWHL-dqd.js → alert-dialog-Dgbg5gJ1.js} +1 -1
  216. package/dist/ui/assets/api-VhuWZte1.js +4 -0
  217. package/dist/ui/assets/{auth-section-B4o90dwz.js → auth-section-DV1ImDLn.js} +1 -1
  218. package/dist/ui/assets/{backups-section-1AsdSIJO.js → backups-section-D7r-Huo_.js} +1 -1
  219. package/dist/ui/assets/{channels-CU4Zdsc_.js → channels-CKUk3W1L.js} +1 -1
  220. package/dist/ui/assets/{checkbox-CbCKGH8I.js → checkbox-B6j6PA4N.js} +1 -1
  221. package/dist/ui/assets/claude-extension-B9phgEGW.js +1 -0
  222. package/dist/ui/assets/cliproxy-CjZiufaQ.js +4 -0
  223. package/dist/ui/assets/{cliproxy-ai-providers-Dr4L5NRY.js → cliproxy-ai-providers-J_8Tg44E.js} +6 -6
  224. package/dist/ui/assets/cliproxy-control-panel-DOxGnabX.js +1 -0
  225. package/dist/ui/assets/codex-BJuDLXfe.js +30 -0
  226. package/dist/ui/assets/{confirm-dialog-b5Dahgnk.js → confirm-dialog-CjwyQ3AU.js} +1 -1
  227. package/dist/ui/assets/{copilot-B1Ojakbt.js → copilot-Nhs4PdOq.js} +2 -2
  228. package/dist/ui/assets/{cursor-PUtNVPx1.js → cursor-DqFROSqy.js} +1 -1
  229. package/dist/ui/assets/{droid-S2gclncb.js → droid-CBwAiZcv.js} +1 -1
  230. package/dist/ui/assets/{globalenv-section-7wKSmNSG.js → globalenv-section-D9WhcK3S.js} +1 -1
  231. package/dist/ui/assets/{health-hMLN_gyw.js → health-CE3lFqFV.js} +1 -1
  232. package/dist/ui/assets/icons-gI6odJjU.js +1 -0
  233. package/dist/ui/assets/{index-Cx0dmbiQ.js → index-Bssd99Pa.js} +1 -1
  234. package/dist/ui/assets/index-C6D81JHk.js +1 -0
  235. package/dist/ui/assets/{index-BWboJia4.js → index-D--xE6Kq.js} +1 -1
  236. package/dist/ui/assets/index-DFYK4jw3.js +56 -0
  237. package/dist/ui/assets/{index-DkR2KVhF.js → index-DGsfFqiO.js} +1 -1
  238. package/dist/ui/assets/index-UEdhhar4.css +1 -0
  239. package/dist/ui/assets/{index-Coc3_ABK.js → index-bJvDY0e2.js} +1 -1
  240. package/dist/ui/assets/{index-CxvNNHgE.js → index-vK0cF4_0.js} +1 -1
  241. package/dist/ui/assets/logs-BUA9GCN2.js +1 -0
  242. package/dist/ui/assets/{masked-input-4L9CIZGb.js → masked-input-BZdCgWmH.js} +1 -1
  243. package/dist/ui/assets/providers/qoder.svg +1 -0
  244. package/dist/ui/assets/proxy-status-widget-I35xB9u9.js +1 -0
  245. package/dist/ui/assets/{raw-json-settings-editor-panel-DXh8c8rA.js → raw-json-settings-editor-panel-DuL_4ncA.js} +1 -1
  246. package/dist/ui/assets/{searchable-select-CtvEQrMo.js → searchable-select-BleLprBy.js} +1 -1
  247. package/dist/ui/assets/{separator-E0ISp1SN.js → separator-De5-VTtx.js} +1 -1
  248. package/dist/ui/assets/{shared-BeYwHeNS.js → shared-Bu81YVUK.js} +2 -2
  249. package/dist/ui/assets/{table-BBslZvNP.js → table-DsXaM2jg.js} +1 -1
  250. package/dist/ui/assets/updates-C2bOO3Fo.js +1 -0
  251. package/dist/ui/assets/{use-accounts-BdalFsdY.js → use-accounts-C2OmaTJU.js} +1 -1
  252. package/dist/ui/index.html +3 -3
  253. package/dist/utils/browser/browser-settings.d.ts.map +1 -1
  254. package/dist/utils/browser/browser-settings.js +13 -3
  255. package/dist/utils/browser/browser-settings.js.map +1 -1
  256. package/dist/utils/glmt-deprecation.d.ts.map +1 -1
  257. package/dist/utils/glmt-deprecation.js +1 -3
  258. package/dist/utils/glmt-deprecation.js.map +1 -1
  259. package/dist/utils/retry-strategy.js +1 -1
  260. package/dist/utils/retry-strategy.js.map +1 -1
  261. package/dist/web-server/index.d.ts.map +1 -1
  262. package/dist/web-server/index.js +0 -9
  263. package/dist/web-server/index.js.map +1 -1
  264. package/dist/web-server/middleware/auth-middleware.d.ts.map +1 -1
  265. package/dist/web-server/middleware/auth-middleware.js +26 -4
  266. package/dist/web-server/middleware/auth-middleware.js.map +1 -1
  267. package/dist/web-server/model-pricing.d.ts +18 -2
  268. package/dist/web-server/model-pricing.d.ts.map +1 -1
  269. package/dist/web-server/model-pricing.js +79 -3
  270. package/dist/web-server/model-pricing.js.map +1 -1
  271. package/dist/web-server/models-dev/pricing-resolver.js +14 -14
  272. package/dist/web-server/models-dev/pricing-resolver.js.map +1 -1
  273. package/dist/web-server/routes/account-routes.d.ts.map +1 -1
  274. package/dist/web-server/routes/account-routes.js +116 -0
  275. package/dist/web-server/routes/account-routes.js.map +1 -1
  276. package/dist/web-server/routes/bar-routes.d.ts +149 -0
  277. package/dist/web-server/routes/bar-routes.d.ts.map +1 -0
  278. package/dist/web-server/routes/bar-routes.js +415 -0
  279. package/dist/web-server/routes/bar-routes.js.map +1 -0
  280. package/dist/web-server/routes/cliproxy-auth-routes.d.ts +10 -0
  281. package/dist/web-server/routes/cliproxy-auth-routes.d.ts.map +1 -1
  282. package/dist/web-server/routes/cliproxy-auth-routes.js +45 -13
  283. package/dist/web-server/routes/cliproxy-auth-routes.js.map +1 -1
  284. package/dist/web-server/routes/cliproxy-local-proxy.d.ts.map +1 -1
  285. package/dist/web-server/routes/cliproxy-local-proxy.js +25 -8
  286. package/dist/web-server/routes/cliproxy-local-proxy.js.map +1 -1
  287. package/dist/web-server/routes/cursor-routes.d.ts.map +1 -1
  288. package/dist/web-server/routes/cursor-routes.js +6 -1
  289. package/dist/web-server/routes/cursor-routes.js.map +1 -1
  290. package/dist/web-server/routes/image-analysis-routes.d.ts.map +1 -1
  291. package/dist/web-server/routes/image-analysis-routes.js +7 -0
  292. package/dist/web-server/routes/image-analysis-routes.js.map +1 -1
  293. package/dist/web-server/routes/index.d.ts.map +1 -1
  294. package/dist/web-server/routes/index.js +18 -0
  295. package/dist/web-server/routes/index.js.map +1 -1
  296. package/dist/web-server/routes/profile-routes.d.ts.map +1 -1
  297. package/dist/web-server/routes/profile-routes.js +6 -1
  298. package/dist/web-server/routes/profile-routes.js.map +1 -1
  299. package/dist/web-server/routes/settings-routes.d.ts.map +1 -1
  300. package/dist/web-server/routes/settings-routes.js +10 -1
  301. package/dist/web-server/routes/settings-routes.js.map +1 -1
  302. package/dist/web-server/services/claude-extension-settings-service.d.ts.map +1 -1
  303. package/dist/web-server/services/claude-extension-settings-service.js +5 -1
  304. package/dist/web-server/services/claude-extension-settings-service.js.map +1 -1
  305. package/dist/web-server/usage/bar-analytics.d.ts +101 -0
  306. package/dist/web-server/usage/bar-analytics.d.ts.map +1 -0
  307. package/dist/web-server/usage/bar-analytics.js +315 -0
  308. package/dist/web-server/usage/bar-analytics.js.map +1 -0
  309. package/dist/web-server/usage/claude-native-credentials.d.ts +56 -0
  310. package/dist/web-server/usage/claude-native-credentials.d.ts.map +1 -0
  311. package/dist/web-server/usage/claude-native-credentials.js +140 -0
  312. package/dist/web-server/usage/claude-native-credentials.js.map +1 -0
  313. package/dist/web-server/usage/cliproxy-snapshot-reader.d.ts +24 -0
  314. package/dist/web-server/usage/cliproxy-snapshot-reader.d.ts.map +1 -0
  315. package/dist/web-server/usage/cliproxy-snapshot-reader.js +82 -0
  316. package/dist/web-server/usage/cliproxy-snapshot-reader.js.map +1 -0
  317. package/dist/web-server/usage/cliproxy-usage-syncer.d.ts +3 -2
  318. package/dist/web-server/usage/cliproxy-usage-syncer.d.ts.map +1 -1
  319. package/dist/web-server/usage/cliproxy-usage-syncer.js +46 -13
  320. package/dist/web-server/usage/cliproxy-usage-syncer.js.map +1 -1
  321. package/dist/web-server/usage/cliproxy-usage-transformer.d.ts +9 -3
  322. package/dist/web-server/usage/cliproxy-usage-transformer.d.ts.map +1 -1
  323. package/dist/web-server/usage/cliproxy-usage-transformer.js +133 -19
  324. package/dist/web-server/usage/cliproxy-usage-transformer.js.map +1 -1
  325. package/dist/web-server/usage/codex-local-quota-collector.d.ts +74 -0
  326. package/dist/web-server/usage/codex-local-quota-collector.d.ts.map +1 -0
  327. package/dist/web-server/usage/codex-local-quota-collector.js +250 -0
  328. package/dist/web-server/usage/codex-local-quota-collector.js.map +1 -0
  329. package/dist/web-server/usage/codex-native-usage-collector.d.ts.map +1 -1
  330. package/dist/web-server/usage/codex-native-usage-collector.js +18 -2
  331. package/dist/web-server/usage/codex-native-usage-collector.js.map +1 -1
  332. package/dist/web-server/usage/data-aggregator.d.ts +11 -0
  333. package/dist/web-server/usage/data-aggregator.d.ts.map +1 -1
  334. package/dist/web-server/usage/data-aggregator.js +29 -1
  335. package/dist/web-server/usage/data-aggregator.js.map +1 -1
  336. package/dist/web-server/usage/native-quota-collector.d.ts +44 -0
  337. package/dist/web-server/usage/native-quota-collector.d.ts.map +1 -0
  338. package/dist/web-server/usage/native-quota-collector.js +378 -0
  339. package/dist/web-server/usage/native-quota-collector.js.map +1 -0
  340. package/dist/web-server/usage/profile-filter.d.ts +1 -1
  341. package/dist/web-server/usage/profile-filter.d.ts.map +1 -1
  342. package/dist/web-server/usage/profile-filter.js +6 -1
  343. package/dist/web-server/usage/profile-filter.js.map +1 -1
  344. package/dist/web-server/usage/types.d.ts +2 -0
  345. package/dist/web-server/usage/types.d.ts.map +1 -1
  346. package/lib/mcp/ccs-browser-server.cjs +31 -15
  347. package/package.json +1 -1
  348. package/scripts/completion/ccs.bash +0 -12
  349. package/scripts/completion/ccs.fish +0 -11
  350. package/scripts/completion/ccs.ps1 +0 -10
  351. package/scripts/completion/ccs.zsh +0 -13
  352. package/scripts/github/stable-release-issue-cleanup-lib.mjs +115 -0
  353. package/scripts/github/stable-release-issue-cleanup.mjs +134 -0
  354. package/dist/ui/assets/accounts-BPJltru3.js +0 -1
  355. package/dist/ui/assets/api-BxPN-zy4.js +0 -4
  356. package/dist/ui/assets/claude-extension-CWpjmIGt.js +0 -1
  357. package/dist/ui/assets/cliproxy-K6eBb5VO.js +0 -4
  358. package/dist/ui/assets/cliproxy-control-panel-Cz5r7kHP.js +0 -1
  359. package/dist/ui/assets/codex-0HdbW8NR.js +0 -30
  360. package/dist/ui/assets/icons-DzKUh8vG.js +0 -1
  361. package/dist/ui/assets/index-BMoGhs28.css +0 -1
  362. package/dist/ui/assets/index-COt1pbk-.js +0 -1
  363. package/dist/ui/assets/index-CcGVqYOy.js +0 -56
  364. package/dist/ui/assets/logs-BRFVfyLc.js +0 -1
  365. package/dist/ui/assets/proxy-status-widget-s1UWOE23.js +0 -1
  366. package/dist/ui/assets/updates-CDrm903n.js +0 -1
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ /**
3
+ * `ccs bar uninstall` — remove CCS Bar.app from ~/Applications
4
+ * and clear the version pin at ~/.ccs/bar/.version.
5
+ *
6
+ * No-op (and no error) when neither the app nor the pin exists.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __importStar = (this && this.__importStar) || function (mod) {
25
+ if (mod && mod.__esModule) return mod;
26
+ var result = {};
27
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
+ __setModuleDefault(result, mod);
29
+ return result;
30
+ };
31
+ Object.defineProperty(exports, "__esModule", { value: true });
32
+ exports.handleBarUninstall = void 0;
33
+ const fs = __importStar(require("fs"));
34
+ const os = __importStar(require("os"));
35
+ const path = __importStar(require("path"));
36
+ const config_loader_facade_1 = require("../../config/config-loader-facade");
37
+ // ---------------------------------------------------------------------------
38
+ // Implementation
39
+ // ---------------------------------------------------------------------------
40
+ async function handleBarUninstall(_args, deps = {}) {
41
+ const ccsDir = (deps.getCcsDir ?? (() => (0, config_loader_facade_1.getCcsDir)()))();
42
+ const appsDir = (deps.getAppsDir ?? (() => path.join(os.homedir(), 'Applications')))();
43
+ const appName = deps.appName ?? 'CCS Bar.app';
44
+ const appPath = path.join(appsDir, appName);
45
+ const versionPin = path.join(ccsDir, 'bar', '.version');
46
+ let removed = false;
47
+ // Remove the .app bundle (a directory on macOS).
48
+ if (fs.existsSync(appPath)) {
49
+ try {
50
+ fs.rmSync(appPath, { recursive: true, force: true });
51
+ console.log(`[OK] Removed ${appPath}`);
52
+ removed = true;
53
+ }
54
+ catch (err) {
55
+ const msg = err instanceof Error ? err.message : String(err);
56
+ console.error(`[X] Failed to remove ${appPath}: ${msg}`);
57
+ }
58
+ }
59
+ // Clear the version pin.
60
+ if (fs.existsSync(versionPin)) {
61
+ try {
62
+ fs.unlinkSync(versionPin);
63
+ removed = true;
64
+ }
65
+ catch {
66
+ // Non-fatal — pin may already be gone.
67
+ }
68
+ }
69
+ if (!removed) {
70
+ console.log('[i] CCS Bar is not installed — nothing to remove.');
71
+ }
72
+ else {
73
+ console.log('[OK] CCS Bar uninstalled.');
74
+ console.log('[i] Run `ccs bar install` to reinstall.');
75
+ }
76
+ }
77
+ exports.handleBarUninstall = handleBarUninstall;
78
+ //# sourceMappingURL=uninstall-subcommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstall-subcommand.js","sourceRoot":"","sources":["../../../src/commands/bar/uninstall-subcommand.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,uCAAyB;AACzB,2CAA6B;AAC7B,4EAA8D;AAY9D,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAEvE,KAAK,UAAU,kBAAkB,CACtC,KAAe,EACf,OAA+B,EAAE;IAEjC,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,CAAC,IAAA,gCAAS,GAAE,CAAC,CAAC,EAAE,CAAC;IACzD,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IACvF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,aAAa,CAAC;IAE9C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAExD,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,iDAAiD;IACjD,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,gBAAgB,OAAO,EAAE,CAAC,CAAC;YACvC,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,KAAK,CAAC,wBAAwB,OAAO,KAAK,GAAG,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC1B,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,uCAAuC;QACzC,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;IACnE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAzCD,gDAyCC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * `ccs bar --version` / `ccs bar version`
3
+ *
4
+ * Prints the CCS CLI version alongside the installed CCS Bar app version
5
+ * (read from ~/.ccs/bar/.version, if present).
6
+ */
7
+ export declare function handleBarVersion(): Promise<void>;
8
+ //# sourceMappingURL=version-subcommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-subcommand.d.ts","sourceRoot":"","sources":["../../../src/commands/bar/version-subcommand.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiBH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CActD"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ /**
3
+ * `ccs bar --version` / `ccs bar version`
4
+ *
5
+ * Prints the CCS CLI version alongside the installed CCS Bar app version
6
+ * (read from ~/.ccs/bar/.version, if present).
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __importStar = (this && this.__importStar) || function (mod) {
25
+ if (mod && mod.__esModule) return mod;
26
+ var result = {};
27
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
+ __setModuleDefault(result, mod);
29
+ return result;
30
+ };
31
+ Object.defineProperty(exports, "__esModule", { value: true });
32
+ exports.handleBarVersion = void 0;
33
+ const fs = __importStar(require("fs"));
34
+ const path = __importStar(require("path"));
35
+ const version_1 = require("../../utils/version");
36
+ const config_loader_facade_1 = require("../../config/config-loader-facade");
37
+ function readInstalledBarVersion(ccsDir) {
38
+ const versionFile = path.join(ccsDir, 'bar', '.version');
39
+ try {
40
+ const content = fs.readFileSync(versionFile, 'utf8').trim();
41
+ return content || null;
42
+ }
43
+ catch {
44
+ return null;
45
+ }
46
+ }
47
+ async function handleBarVersion() {
48
+ const cliVersion = (0, version_1.getVersion)();
49
+ const ccsDir = (0, config_loader_facade_1.getCcsDir)();
50
+ const barVersion = readInstalledBarVersion(ccsDir);
51
+ // Finding #13: label each line unambiguously — CLI version vs installed Bar app version.
52
+ console.log(`[i] CCS CLI v${cliVersion}`);
53
+ if (barVersion) {
54
+ console.log(`[i] CCS Bar app: v${barVersion}`);
55
+ }
56
+ else {
57
+ console.log('[i] CCS Bar app: not installed (run `ccs bar install`)');
58
+ }
59
+ process.exit(0);
60
+ }
61
+ exports.handleBarVersion = handleBarVersion;
62
+ //# sourceMappingURL=version-subcommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-subcommand.js","sourceRoot":"","sources":["../../../src/commands/bar/version-subcommand.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAC7B,iDAAiD;AACjD,4EAA8D;AAE9D,SAAS,uBAAuB,CAAC,MAAc;IAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IACzD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5D,OAAO,OAAO,IAAI,IAAI,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,gBAAgB;IACpC,MAAM,UAAU,GAAG,IAAA,oBAAU,GAAE,CAAC;IAChC,MAAM,MAAM,GAAG,IAAA,gCAAS,GAAE,CAAC;IAC3B,MAAM,UAAU,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAEnD,yFAAyF;IACzF,OAAO,CAAC,GAAG,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC;IAC1C,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,qBAAqB,UAAU,EAAE,CAAC,CAAC;IACjD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAdD,4CAcC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cleanup-command.d.ts","sourceRoot":"","sources":["../../src/commands/cleanup-command.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAmMH;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsCxE"}
1
+ {"version":3,"file":"cleanup-command.d.ts","sourceRoot":"","sources":["../../src/commands/cleanup-command.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAoNH;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsCxE"}
@@ -56,53 +56,65 @@ function formatBytes(bytes) {
56
56
  const i = Math.floor(Math.log(bytes) / Math.log(1024));
57
57
  return `${(bytes / Math.pow(1024, i)).toFixed(2)} ${units[i]}`;
58
58
  }
59
- /** Calculate total size of regular top-level files in a directory */
60
- function getDirSize(dirPath) {
61
- if (!fs.existsSync(dirPath))
62
- return 0;
63
- let totalSize = 0;
64
- const entries = fs.readdirSync(dirPath);
65
- for (const entry of entries) {
66
- const filePath = path.join(dirPath, entry);
67
- try {
68
- const stats = fs.lstatSync(filePath);
69
- if (stats.isFile() && !stats.isSymbolicLink()) {
70
- totalSize += stats.size;
71
- }
72
- }
73
- catch {
74
- // File may have been deleted between readdir and stat - skip
75
- }
59
+ function getErrorMessage(error) {
60
+ return error instanceof Error ? error.message : String(error);
61
+ }
62
+ function isMissingPathError(error) {
63
+ return (typeof error === 'object' &&
64
+ error !== null &&
65
+ 'code' in error &&
66
+ error.code === 'ENOENT');
67
+ }
68
+ function pathExistsForCleanup(dirPath) {
69
+ try {
70
+ fs.lstatSync(dirPath);
71
+ return true;
72
+ }
73
+ catch (error) {
74
+ if (isMissingPathError(error))
75
+ return false;
76
+ throw error;
77
+ }
78
+ }
79
+ /** Return entries for a real directory, rejecting symlinked directory targets. */
80
+ function readRealDirectory(dirPath) {
81
+ let stats;
82
+ try {
83
+ stats = fs.lstatSync(dirPath);
76
84
  }
77
- return totalSize;
85
+ catch (error) {
86
+ if (isMissingPathError(error))
87
+ return [];
88
+ throw error;
89
+ }
90
+ if (!stats.isDirectory() || stats.isSymbolicLink())
91
+ return [];
92
+ return fs.readdirSync(dirPath);
78
93
  }
79
- /** Count files in a directory */
80
- function countFiles(dirPath) {
81
- if (!fs.existsSync(dirPath))
82
- return 0;
83
- let count = 0;
84
- const entries = fs.readdirSync(dirPath);
94
+ /** Summarize regular top-level files in a real directory */
95
+ function summarizeDirectory(dirPath) {
96
+ const summary = { fileCount: 0, size: 0 };
97
+ const entries = readRealDirectory(dirPath);
85
98
  for (const entry of entries) {
86
99
  const filePath = path.join(dirPath, entry);
87
100
  try {
88
101
  const stats = fs.lstatSync(filePath);
89
102
  if (stats.isFile() && !stats.isSymbolicLink()) {
90
- count++;
103
+ summary.fileCount++;
104
+ summary.size += stats.size;
91
105
  }
92
106
  }
93
107
  catch {
94
- // File may have been deleted - skip
108
+ // File may have been deleted between readdir and stat - skip
95
109
  }
96
110
  }
97
- return count;
111
+ return summary;
98
112
  }
99
- /** Delete all regular files in a directory (skips symlinks for safety) */
113
+ /** Delete all regular files in a real directory (skips symlinks for safety) */
100
114
  function cleanDirectory(dirPath) {
101
- if (!fs.existsSync(dirPath))
102
- return { deleted: 0, freedBytes: 0 };
103
115
  let deleted = 0;
104
116
  let freedBytes = 0;
105
- const files = fs.readdirSync(dirPath);
117
+ const files = readRealDirectory(dirPath);
106
118
  for (const file of files) {
107
119
  const filePath = path.join(dirPath, file);
108
120
  try {
@@ -122,11 +134,9 @@ function cleanDirectory(dirPath) {
122
134
  }
123
135
  /** Get error log files with metadata */
124
136
  function getErrorLogFiles(logsDir) {
125
- if (!fs.existsSync(logsDir))
126
- return [];
127
137
  const now = Date.now();
128
138
  const files = [];
129
- const entries = fs.readdirSync(logsDir);
139
+ const entries = readRealDirectory(logsDir);
130
140
  for (const entry of entries) {
131
141
  // Only process error-*.log files
132
142
  if (!entry.startsWith('error-') || !entry.endsWith('.log'))
@@ -153,8 +163,7 @@ function getErrorLogFiles(logsDir) {
153
163
  return files.sort((a, b) => b.ageInDays - a.ageInDays);
154
164
  }
155
165
  /** Delete error logs older than specified days */
156
- function cleanErrorLogs(logsDir, maxAgeDays) {
157
- const files = getErrorLogFiles(logsDir);
166
+ function cleanErrorLogs(files, maxAgeDays) {
158
167
  let deleted = 0;
159
168
  let freedBytes = 0;
160
169
  let kept = 0;
@@ -243,13 +252,24 @@ exports.handleCleanupCommand = handleCleanupCommand;
243
252
  * Handle error log cleanup (error-*.log files)
244
253
  */
245
254
  async function handleErrorLogCleanup(logsDir, maxAgeDays, dryRun, force) {
246
- // Check if logs directory exists
247
- if (!fs.existsSync(logsDir)) {
248
- console.log((0, ui_1.info)('No CLIProxy logs directory found.'));
255
+ try {
256
+ if (!pathExistsForCleanup(logsDir)) {
257
+ console.log((0, ui_1.info)('No CLIProxy logs directory found.'));
258
+ return;
259
+ }
260
+ }
261
+ catch (error) {
262
+ console.log((0, ui_1.warn)(`Could not inspect CLIProxy logs: ${getErrorMessage(error)}`));
263
+ return;
264
+ }
265
+ let errorLogs;
266
+ try {
267
+ errorLogs = getErrorLogFiles(logsDir);
268
+ }
269
+ catch (error) {
270
+ console.log((0, ui_1.warn)(`Could not read CLIProxy logs: ${getErrorMessage(error)}`));
249
271
  return;
250
272
  }
251
- // Get error log files
252
- const errorLogs = getErrorLogFiles(logsDir);
253
273
  if (errorLogs.length === 0) {
254
274
  console.log((0, ui_1.info)('No error logs found.'));
255
275
  return;
@@ -300,7 +320,15 @@ async function handleErrorLogCleanup(logsDir, maxAgeDays, dryRun, force) {
300
320
  }
301
321
  }
302
322
  // Perform cleanup
303
- const { deleted, freedBytes, kept } = cleanErrorLogs(logsDir, maxAgeDays);
323
+ let result;
324
+ try {
325
+ result = cleanErrorLogs(errorLogs, maxAgeDays);
326
+ }
327
+ catch (error) {
328
+ console.log((0, ui_1.warn)(`Could not clean CLIProxy logs: ${getErrorMessage(error)}`));
329
+ return;
330
+ }
331
+ const { deleted, freedBytes, kept } = result;
304
332
  console.log((0, ui_1.ok)(`Deleted ${deleted} error logs, freed ${formatBytes(freedBytes)}`));
305
333
  if (kept > 0) {
306
334
  console.log((0, ui_1.info)(`Kept ${kept} recent error logs (less than ${maxAgeDays} days old)`));
@@ -310,15 +338,30 @@ async function handleErrorLogCleanup(logsDir, maxAgeDays, dryRun, force) {
310
338
  * Handle main log cleanup (main.log and rotated files)
311
339
  */
312
340
  async function handleMainLogCleanup(options) {
313
- const targets = [
341
+ const targets = [];
342
+ const unreadableTargets = [];
343
+ for (const target of [
314
344
  { label: 'CCS Logs', dir: options.ccsLogsDir },
315
345
  { label: 'CCS Log Archives', dir: options.ccsArchiveDir },
316
346
  { label: 'CLIProxy Logs', dir: options.cliproxyLogsDir },
317
- ].map((target) => ({
318
- ...target,
319
- fileCount: countFiles(target.dir),
320
- size: getDirSize(target.dir),
321
- }));
347
+ ]) {
348
+ try {
349
+ targets.push({
350
+ ...target,
351
+ ...summarizeDirectory(target.dir),
352
+ });
353
+ }
354
+ catch (error) {
355
+ unreadableTargets.push({ ...target, error });
356
+ }
357
+ }
358
+ if (unreadableTargets.length > 0) {
359
+ for (const target of unreadableTargets) {
360
+ console.log((0, ui_1.warn)(`Could not read ${target.label}: ${getErrorMessage(target.error)}`));
361
+ console.log(` ${target.dir}`);
362
+ }
363
+ return;
364
+ }
322
365
  const activeTargets = targets.filter((target) => target.fileCount > 0);
323
366
  if (activeTargets.length === 0) {
324
367
  console.log((0, ui_1.info)('No CCS or CLIProxy logs found.'));
@@ -358,9 +401,14 @@ async function handleMainLogCleanup(options) {
358
401
  let deleted = 0;
359
402
  let freedBytes = 0;
360
403
  for (const target of activeTargets) {
361
- const result = cleanDirectory(target.dir);
362
- deleted += result.deleted;
363
- freedBytes += result.freedBytes;
404
+ try {
405
+ const result = cleanDirectory(target.dir);
406
+ deleted += result.deleted;
407
+ freedBytes += result.freedBytes;
408
+ }
409
+ catch (error) {
410
+ console.log((0, ui_1.warn)(`Could not clean ${target.label}: ${getErrorMessage(error)}`));
411
+ }
364
412
  }
365
413
  console.log((0, ui_1.ok)(`Deleted ${deleted} files, freed ${formatBytes(freedBytes)}`));
366
414
  // Suggest disabling logging if it was enabled
@@ -1 +1 @@
1
- {"version":3,"file":"cleanup-command.js","sourceRoot":"","sources":["../../src/commands/cleanup-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cleanup-command.js","sourceRoot":"","sources":["../../src/commands/cleanup-command.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  * - ccs cliproxy resume <account>
9
9
  * - ccs cliproxy doctor
10
10
  */
11
- import type { QuotaErrorMetadata } from '../../cliproxy/quota/quota-types';
11
+ import type { CodexQuotaResult, QuotaErrorMetadata } from '../../cliproxy/quota/quota-types';
12
12
  import { type QuotaSupportedProvider } from '../../cliproxy/provider-capabilities';
13
13
  declare function resolveDisplayedTier(accountTier: string | undefined, liveTier: string | undefined): string;
14
14
  interface QuotaFailureDisplayEntry {
@@ -18,8 +18,17 @@ interface QuotaFailureDisplayEntry {
18
18
  declare function getQuotaFailureDisplayEntries(quota: QuotaErrorMetadata & {
19
19
  error?: string;
20
20
  }): QuotaFailureDisplayEntry[];
21
+ type CodexWindowSummary = Pick<CodexQuotaResult['windows'][number], 'label' | 'resetAfterSeconds' | 'category' | 'cadence' | 'featureLabel'>;
22
+ /**
23
+ * Strip a leading "GPT-X.Y-Codex-" prefix from a feature label and turn the
24
+ * remainder into a Codex-prefixed display name. Other labels pass through unchanged.
25
+ */
26
+ declare function prettifyCodexFeatureLabel(featureLabel: unknown, fallbackLabel?: unknown): string;
27
+ declare function getCodexWindowDisplayLabel(window: CodexWindowSummary, allWindows?: CodexWindowSummary[]): string;
21
28
  export declare const __testExports: {
29
+ getCodexWindowDisplayLabel: typeof getCodexWindowDisplayLabel;
22
30
  getQuotaFailureDisplayEntries: typeof getQuotaFailureDisplayEntries;
31
+ prettifyCodexFeatureLabel: typeof prettifyCodexFeatureLabel;
23
32
  resolveDisplayedTier: typeof resolveDisplayedTier;
24
33
  };
25
34
  export declare function handleQuotaStatus(verbose?: boolean, providerFilter?: QuotaSupportedProvider | 'all'): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"quota-subcommand.d.ts","sourceRoot":"","sources":["../../../src/commands/cliproxy/quota-subcommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAeH,OAAO,KAAK,EAKV,kBAAkB,EACnB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,sCAAsC,CAAC;AAqE9C,iBAAS,oBAAoB,CAC3B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,MAAM,CAER;AAED,UAAU,wBAAwB;IAChC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,iBAAS,6BAA6B,CACpC,KAAK,EAAE,kBAAkB,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,wBAAwB,EAAE,CA0C5B;AAgrBD,eAAO,MAAM,aAAa;;;CAGzB,CAAC;AAEF,wBAAsB,iBAAiB,CACrC,OAAO,UAAQ,EACf,cAAc,GAAE,sBAAsB,GAAG,KAAa,GACrD,OAAO,CAAC,IAAI,CAAC,CA2Cf;AAED,wBAAsB,YAAY,CAAC,OAAO,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAwFjE;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CpE;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCtE;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCvE"}
1
+ {"version":3,"file":"quota-subcommand.d.ts","sourceRoot":"","sources":["../../../src/commands/cliproxy/quota-subcommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAmBH,OAAO,KAAK,EACV,gBAAgB,EAIhB,kBAAkB,EACnB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,sCAAsC,CAAC;AAqE9C,iBAAS,oBAAoB,CAC3B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,MAAM,CAER;AAED,UAAU,wBAAwB;IAChC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,iBAAS,6BAA6B,CACpC,KAAK,EAAE,kBAAkB,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,wBAAwB,EAAE,CA0C5B;AA6ED,KAAK,kBAAkB,GAAG,IAAI,CAC5B,gBAAgB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EACnC,OAAO,GAAG,mBAAmB,GAAG,UAAU,GAAG,SAAS,GAAG,cAAc,CACxE,CAAC;AAkCF;;;GAGG;AACH,iBAAS,yBAAyB,CAAC,YAAY,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAWzF;AAED,iBAAS,0BAA0B,CACjC,MAAM,EAAE,kBAAkB,EAC1B,UAAU,GAAE,kBAAkB,EAAO,GACpC,MAAM,CAuCR;AAsgBD,eAAO,MAAM,aAAa;;;;;CAKzB,CAAC;AAEF,wBAAsB,iBAAiB,CACrC,OAAO,UAAQ,EACf,cAAc,GAAE,sBAAsB,GAAG,KAAa,GACrD,OAAO,CAAC,IAAI,CAAC,CA2Cf;AAED,wBAAsB,YAAY,CAAC,OAAO,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAwFjE;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CpE;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuCtE;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCvE"}
@@ -14,6 +14,7 @@ exports.handleResumeAccount = exports.handlePauseAccount = exports.handleSetDefa
14
14
  const account_manager_1 = require("../../cliproxy/accounts/account-manager");
15
15
  const quota_fetcher_1 = require("../../cliproxy/quota/quota-fetcher");
16
16
  const quota_fetcher_codex_1 = require("../../cliproxy/quota/quota-fetcher-codex");
17
+ const quota_label_sanitizer_1 = require("../../cliproxy/quota/quota-label-sanitizer");
17
18
  const quota_fetcher_claude_1 = require("../../cliproxy/quota/quota-fetcher-claude");
18
19
  const quota_fetcher_claude_normalizer_1 = require("../../cliproxy/quota/quota-fetcher-claude-normalizer");
19
20
  const quota_fetcher_gemini_cli_1 = require("../../cliproxy/quota/quota-fetcher-gemini-cli");
@@ -210,10 +211,11 @@ function inferCodeReviewCadence(window, allWindows) {
210
211
  * Strip a leading "GPT-X.Y-Codex-" prefix from a feature label and turn the
211
212
  * remainder into a Codex-prefixed display name. Other labels pass through unchanged.
212
213
  */
213
- function prettifyCodexFeatureLabel(featureLabel) {
214
- const trimmed = featureLabel.trim();
215
- if (!trimmed)
216
- return 'Additional';
214
+ function prettifyCodexFeatureLabel(featureLabel, fallbackLabel) {
215
+ const trimmed = (0, quota_label_sanitizer_1.sanitizeCodexFeatureLabelOrNull)(featureLabel) ??
216
+ (fallbackLabel === undefined
217
+ ? (0, quota_label_sanitizer_1.sanitizeCodexFeatureLabel)(featureLabel)
218
+ : (0, quota_label_sanitizer_1.sanitizeCodexFeatureLabel)(fallbackLabel));
217
219
  const stripped = trimmed.replace(/^GPT-[\d.]+-Codex-/i, '');
218
220
  if (stripped !== trimmed && stripped.length > 0) {
219
221
  return `Codex ${stripped}`;
@@ -230,7 +232,7 @@ function getCodexWindowDisplayLabel(window, allWindows = []) {
230
232
  return 'Weekly usage limit';
231
233
  }
232
234
  if (window.category === 'additional') {
233
- const pretty = prettifyCodexFeatureLabel(window.featureLabel || window.label || 'Additional');
235
+ const pretty = prettifyCodexFeatureLabel(window.featureLabel, window.label);
234
236
  if (window.cadence === '5h')
235
237
  return `${pretty} (5h)`;
236
238
  if (window.cadence === 'weekly')
@@ -653,7 +655,9 @@ const QUOTA_PROVIDER_RUNTIME = {
653
655
  },
654
656
  };
655
657
  exports.__testExports = {
658
+ getCodexWindowDisplayLabel,
656
659
  getQuotaFailureDisplayEntries,
660
+ prettifyCodexFeatureLabel,
657
661
  resolveDisplayedTier,
658
662
  };
659
663
  async function handleQuotaStatus(verbose = false, providerFilter = 'all') {
@@ -814,8 +818,13 @@ async function handlePauseAccount(args) {
814
818
  process.exit(1);
815
819
  }
816
820
  if (account.paused) {
821
+ const refreshed = (0, account_manager_1.pauseAccount)(provider, account.id);
822
+ const refreshedAccount = refreshed ? (0, account_manager_1.findAccountByQuery)(provider, account.id) : account;
817
823
  console.log((0, ui_1.warn)(`Account already paused: ${formatCliAccountLabel(account)}`));
818
- console.log((0, ui_1.info)(`Paused at: ${account.pausedAt || 'unknown'}`));
824
+ if (refreshed) {
825
+ console.log((0, ui_1.info)('Manual pause refreshed; account will stay out of quota rotation'));
826
+ }
827
+ console.log((0, ui_1.info)(`Paused at: ${refreshedAccount?.pausedAt || account.pausedAt || 'unknown'}`));
819
828
  return;
820
829
  }
821
830
  const success = (0, account_manager_1.pauseAccount)(provider, account.id);