@kaitranntt/ccs 8.2.0 → 8.3.0-dev.1

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 (311) hide show
  1. package/README.md +12 -0
  2. package/config/base-claude.settings.json +1 -5
  3. package/dist/api/services/cliproxy-profile-bridge.d.ts.map +1 -1
  4. package/dist/api/services/cliproxy-profile-bridge.js +6 -0
  5. package/dist/api/services/cliproxy-profile-bridge.js.map +1 -1
  6. package/dist/api/services/profile-writer.d.ts.map +1 -1
  7. package/dist/api/services/profile-writer.js +18 -8
  8. package/dist/api/services/profile-writer.js.map +1 -1
  9. package/dist/auth/commands/create-command.d.ts.map +1 -1
  10. package/dist/auth/commands/create-command.js +11 -0
  11. package/dist/auth/commands/create-command.js.map +1 -1
  12. package/dist/cliproxy/accounts/account-safety-cross-lane.d.ts +41 -0
  13. package/dist/cliproxy/accounts/account-safety-cross-lane.d.ts.map +1 -0
  14. package/dist/cliproxy/accounts/account-safety-cross-lane.js +177 -0
  15. package/dist/cliproxy/accounts/account-safety-cross-lane.js.map +1 -0
  16. package/dist/cliproxy/accounts/account-safety.d.ts +29 -1
  17. package/dist/cliproxy/accounts/account-safety.d.ts.map +1 -1
  18. package/dist/cliproxy/accounts/account-safety.js +41 -7
  19. package/dist/cliproxy/accounts/account-safety.js.map +1 -1
  20. package/dist/cliproxy/accounts/drain-order.d.ts +277 -0
  21. package/dist/cliproxy/accounts/drain-order.d.ts.map +1 -0
  22. package/dist/cliproxy/accounts/drain-order.js +575 -0
  23. package/dist/cliproxy/accounts/drain-order.js.map +1 -0
  24. package/dist/cliproxy/accounts/pool-state.d.ts +132 -0
  25. package/dist/cliproxy/accounts/pool-state.d.ts.map +1 -0
  26. package/dist/cliproxy/accounts/pool-state.js +201 -0
  27. package/dist/cliproxy/accounts/pool-state.js.map +1 -0
  28. package/dist/cliproxy/accounts/registry.d.ts +17 -1
  29. package/dist/cliproxy/accounts/registry.d.ts.map +1 -1
  30. package/dist/cliproxy/accounts/registry.js +47 -1
  31. package/dist/cliproxy/accounts/registry.js.map +1 -1
  32. package/dist/cliproxy/accounts/types.d.ts +20 -0
  33. package/dist/cliproxy/accounts/types.d.ts.map +1 -1
  34. package/dist/cliproxy/auth/oauth-handler.d.ts.map +1 -1
  35. package/dist/cliproxy/auth/oauth-handler.js +29 -0
  36. package/dist/cliproxy/auth/oauth-handler.js.map +1 -1
  37. package/dist/cliproxy/binary/platform-detector.d.ts.map +1 -1
  38. package/dist/cliproxy/binary/platform-detector.js +34 -1
  39. package/dist/cliproxy/binary/platform-detector.js.map +1 -1
  40. package/dist/cliproxy/binary/types.d.ts +3 -0
  41. package/dist/cliproxy/binary/types.d.ts.map +1 -1
  42. package/dist/cliproxy/binary/types.js +7 -2
  43. package/dist/cliproxy/binary/types.js.map +1 -1
  44. package/dist/cliproxy/binary/version-cache.d.ts.map +1 -1
  45. package/dist/cliproxy/binary/version-cache.js +4 -0
  46. package/dist/cliproxy/binary/version-cache.js.map +1 -1
  47. package/dist/cliproxy/claude-shadow-warning.d.ts +39 -0
  48. package/dist/cliproxy/claude-shadow-warning.d.ts.map +1 -0
  49. package/dist/cliproxy/claude-shadow-warning.js +187 -0
  50. package/dist/cliproxy/claude-shadow-warning.js.map +1 -0
  51. package/dist/cliproxy/config/base-config-loader.d.ts +6 -5
  52. package/dist/cliproxy/config/base-config-loader.d.ts.map +1 -1
  53. package/dist/cliproxy/config/base-config-loader.js +19 -12
  54. package/dist/cliproxy/config/base-config-loader.js.map +1 -1
  55. package/dist/cliproxy/config/env-builder.d.ts +3 -0
  56. package/dist/cliproxy/config/env-builder.d.ts.map +1 -1
  57. package/dist/cliproxy/config/env-builder.js +158 -20
  58. package/dist/cliproxy/config/env-builder.js.map +1 -1
  59. package/dist/cliproxy/config/generator.d.ts +2 -1
  60. package/dist/cliproxy/config/generator.d.ts.map +1 -1
  61. package/dist/cliproxy/config/generator.js +66 -9
  62. package/dist/cliproxy/config/generator.js.map +1 -1
  63. package/dist/cliproxy/config/thinking-config.d.ts.map +1 -1
  64. package/dist/cliproxy/config/thinking-config.js +2 -0
  65. package/dist/cliproxy/config/thinking-config.js.map +1 -1
  66. package/dist/cliproxy/executor/account-resolution.d.ts.map +1 -1
  67. package/dist/cliproxy/executor/account-resolution.js +5 -0
  68. package/dist/cliproxy/executor/account-resolution.js.map +1 -1
  69. package/dist/cliproxy/executor/auth-coordinator.d.ts +4 -0
  70. package/dist/cliproxy/executor/auth-coordinator.d.ts.map +1 -1
  71. package/dist/cliproxy/executor/auth-coordinator.js +5 -1
  72. package/dist/cliproxy/executor/auth-coordinator.js.map +1 -1
  73. package/dist/cliproxy/executor/index.d.ts.map +1 -1
  74. package/dist/cliproxy/executor/index.js +20 -0
  75. package/dist/cliproxy/executor/index.js.map +1 -1
  76. package/dist/cliproxy/model-catalog.d.ts.map +1 -1
  77. package/dist/cliproxy/model-catalog.js +15 -0
  78. package/dist/cliproxy/model-catalog.js.map +1 -1
  79. package/dist/cliproxy/proxy/upstream-response-timeout.d.ts.map +1 -1
  80. package/dist/cliproxy/proxy/upstream-response-timeout.js +8 -1
  81. package/dist/cliproxy/proxy/upstream-response-timeout.js.map +1 -1
  82. package/dist/cliproxy/quota/quota-fetcher-claude.d.ts +9 -0
  83. package/dist/cliproxy/quota/quota-fetcher-claude.d.ts.map +1 -1
  84. package/dist/cliproxy/quota/quota-fetcher-claude.js +53 -16
  85. package/dist/cliproxy/quota/quota-fetcher-claude.js.map +1 -1
  86. package/dist/cliproxy/quota/quota-fetcher.d.ts.map +1 -1
  87. package/dist/cliproxy/quota/quota-fetcher.js +4 -0
  88. package/dist/cliproxy/quota/quota-fetcher.js.map +1 -1
  89. package/dist/cliproxy/quota/quota-manager.d.ts +7 -0
  90. package/dist/cliproxy/quota/quota-manager.d.ts.map +1 -1
  91. package/dist/cliproxy/quota/quota-manager.js +51 -2
  92. package/dist/cliproxy/quota/quota-manager.js.map +1 -1
  93. package/dist/cliproxy/routing/pool-onboarding-hint.d.ts +95 -0
  94. package/dist/cliproxy/routing/pool-onboarding-hint.d.ts.map +1 -0
  95. package/dist/cliproxy/routing/pool-onboarding-hint.js +172 -0
  96. package/dist/cliproxy/routing/pool-onboarding-hint.js.map +1 -0
  97. package/dist/cliproxy/routing/pool-opt-in-prompt.d.ts +50 -0
  98. package/dist/cliproxy/routing/pool-opt-in-prompt.d.ts.map +1 -0
  99. package/dist/cliproxy/routing/pool-opt-in-prompt.js +232 -0
  100. package/dist/cliproxy/routing/pool-opt-in-prompt.js.map +1 -0
  101. package/dist/cliproxy/routing/routing-strategy.d.ts +132 -0
  102. package/dist/cliproxy/routing/routing-strategy.d.ts.map +1 -1
  103. package/dist/cliproxy/routing/routing-strategy.js +342 -5
  104. package/dist/cliproxy/routing/routing-strategy.js.map +1 -1
  105. package/dist/cliproxy/services/stats-fetcher.d.ts +13 -0
  106. package/dist/cliproxy/services/stats-fetcher.d.ts.map +1 -1
  107. package/dist/cliproxy/services/stats-fetcher.js +25 -1
  108. package/dist/cliproxy/services/stats-fetcher.js.map +1 -1
  109. package/dist/commands/bar/help-subcommand.d.ts +2 -0
  110. package/dist/commands/bar/help-subcommand.d.ts.map +1 -0
  111. package/dist/commands/bar/help-subcommand.js +63 -0
  112. package/dist/commands/bar/help-subcommand.js.map +1 -0
  113. package/dist/commands/bar/index.d.ts +8 -0
  114. package/dist/commands/bar/index.d.ts.map +1 -0
  115. package/dist/commands/bar/index.js +78 -0
  116. package/dist/commands/bar/index.js.map +1 -0
  117. package/dist/commands/bar/install-subcommand.d.ts +92 -0
  118. package/dist/commands/bar/install-subcommand.d.ts.map +1 -0
  119. package/dist/commands/bar/install-subcommand.js +605 -0
  120. package/dist/commands/bar/install-subcommand.js.map +1 -0
  121. package/dist/commands/bar/launch-subcommand.d.ts +64 -0
  122. package/dist/commands/bar/launch-subcommand.d.ts.map +1 -0
  123. package/dist/commands/bar/launch-subcommand.js +236 -0
  124. package/dist/commands/bar/launch-subcommand.js.map +1 -0
  125. package/dist/commands/bar/uninstall-subcommand.d.ts +13 -0
  126. package/dist/commands/bar/uninstall-subcommand.d.ts.map +1 -0
  127. package/dist/commands/bar/uninstall-subcommand.js +78 -0
  128. package/dist/commands/bar/uninstall-subcommand.js.map +1 -0
  129. package/dist/commands/bar/version-subcommand.d.ts +8 -0
  130. package/dist/commands/bar/version-subcommand.d.ts.map +1 -0
  131. package/dist/commands/bar/version-subcommand.js +62 -0
  132. package/dist/commands/bar/version-subcommand.js.map +1 -0
  133. package/dist/commands/cliproxy/help-subcommand.d.ts.map +1 -1
  134. package/dist/commands/cliproxy/help-subcommand.js +20 -1
  135. package/dist/commands/cliproxy/help-subcommand.js.map +1 -1
  136. package/dist/commands/cliproxy/index.d.ts.map +1 -1
  137. package/dist/commands/cliproxy/index.js +20 -0
  138. package/dist/commands/cliproxy/index.js.map +1 -1
  139. package/dist/commands/cliproxy/order-subcommand.d.ts +16 -0
  140. package/dist/commands/cliproxy/order-subcommand.d.ts.map +1 -0
  141. package/dist/commands/cliproxy/order-subcommand.js +520 -0
  142. package/dist/commands/cliproxy/order-subcommand.js.map +1 -0
  143. package/dist/commands/cliproxy/pool-state-renderer.d.ts +40 -0
  144. package/dist/commands/cliproxy/pool-state-renderer.d.ts.map +1 -0
  145. package/dist/commands/cliproxy/pool-state-renderer.js +220 -0
  146. package/dist/commands/cliproxy/pool-state-renderer.js.map +1 -0
  147. package/dist/commands/cliproxy/pool-subcommand.d.ts +10 -0
  148. package/dist/commands/cliproxy/pool-subcommand.d.ts.map +1 -0
  149. package/dist/commands/cliproxy/pool-subcommand.js +112 -0
  150. package/dist/commands/cliproxy/pool-subcommand.js.map +1 -0
  151. package/dist/commands/cliproxy/quota-subcommand.d.ts.map +1 -1
  152. package/dist/commands/cliproxy/quota-subcommand.js +7 -0
  153. package/dist/commands/cliproxy/quota-subcommand.js.map +1 -1
  154. package/dist/commands/cliproxy/routing-subcommand.d.ts.map +1 -1
  155. package/dist/commands/cliproxy/routing-subcommand.js +19 -0
  156. package/dist/commands/cliproxy/routing-subcommand.js.map +1 -1
  157. package/dist/commands/command-catalog.d.ts.map +1 -1
  158. package/dist/commands/command-catalog.js +7 -0
  159. package/dist/commands/command-catalog.js.map +1 -1
  160. package/dist/commands/help-command.d.ts.map +1 -1
  161. package/dist/commands/help-command.js +6 -1
  162. package/dist/commands/help-command.js.map +1 -1
  163. package/dist/commands/root-command-router.d.ts.map +1 -1
  164. package/dist/commands/root-command-router.js +7 -0
  165. package/dist/commands/root-command-router.js.map +1 -1
  166. package/dist/config/loader/yaml-serializer.d.ts.map +1 -1
  167. package/dist/config/loader/yaml-serializer.js +13 -0
  168. package/dist/config/loader/yaml-serializer.js.map +1 -1
  169. package/dist/config/schemas/cliproxy.d.ts +37 -0
  170. package/dist/config/schemas/cliproxy.d.ts.map +1 -1
  171. package/dist/config/schemas/quota.d.ts +26 -2
  172. package/dist/config/schemas/quota.d.ts.map +1 -1
  173. package/dist/config/schemas/quota.js +20 -1
  174. package/dist/config/schemas/quota.js.map +1 -1
  175. package/dist/config/unified-config-loader.d.ts.map +1 -1
  176. package/dist/config/unified-config-loader.js +3 -0
  177. package/dist/config/unified-config-loader.js.map +1 -1
  178. package/dist/dispatcher/flows/account-flow.d.ts.map +1 -1
  179. package/dist/dispatcher/flows/account-flow.js +9 -0
  180. package/dist/dispatcher/flows/account-flow.js.map +1 -1
  181. package/dist/glmt/delta-accumulator.d.ts.map +1 -1
  182. package/dist/glmt/delta-accumulator.js +1 -0
  183. package/dist/glmt/delta-accumulator.js.map +1 -1
  184. package/dist/management/doctor.d.ts.map +1 -1
  185. package/dist/management/doctor.js +10 -0
  186. package/dist/management/doctor.js.map +1 -1
  187. package/dist/proxy/profile-router.d.ts +14 -0
  188. package/dist/proxy/profile-router.d.ts.map +1 -1
  189. package/dist/proxy/profile-router.js +1 -0
  190. package/dist/proxy/profile-router.js.map +1 -1
  191. package/dist/proxy/server/http-helpers.d.ts +5 -0
  192. package/dist/proxy/server/http-helpers.d.ts.map +1 -1
  193. package/dist/proxy/server/http-helpers.js +40 -1
  194. package/dist/proxy/server/http-helpers.js.map +1 -1
  195. package/dist/proxy/server/messages-route.d.ts.map +1 -1
  196. package/dist/proxy/server/messages-route.js +173 -10
  197. package/dist/proxy/server/messages-route.js.map +1 -1
  198. package/dist/proxy/upstream-url.d.ts +42 -2
  199. package/dist/proxy/upstream-url.d.ts.map +1 -1
  200. package/dist/proxy/upstream-url.js +83 -4
  201. package/dist/proxy/upstream-url.js.map +1 -1
  202. package/dist/ui/assets/{Trans-DsGR5Bhb.js → Trans-RG_sMDEu.js} +1 -1
  203. package/dist/ui/assets/accounts-yTXURc-q.js +1 -0
  204. package/dist/ui/assets/{alert-dialog-Do0XfN46.js → alert-dialog-DjvPgzFs.js} +1 -1
  205. package/dist/ui/assets/{api-B7OYas_V.js → api-Ck1dtNEM.js} +3 -3
  206. package/dist/ui/assets/{auth-section-BmTeNetL.js → auth-section-DBnY_LPz.js} +1 -1
  207. package/dist/ui/assets/{backups-section-COawLfTr.js → backups-section-Ci-uL4Of.js} +1 -1
  208. package/dist/ui/assets/{channels-C9LVYmNJ.js → channels-BeS9O5q0.js} +1 -1
  209. package/dist/ui/assets/{checkbox-BkFzg8C-.js → checkbox-DFeFDZBp.js} +1 -1
  210. package/dist/ui/assets/{claude-extension-Ch7L4lTF.js → claude-extension-DS5qN19Z.js} +1 -1
  211. package/dist/ui/assets/{cliproxy-B3uWt6gn.js → cliproxy-D7HJH4mZ.js} +1 -1
  212. package/dist/ui/assets/{cliproxy-ai-providers-Bn1_AdKD.js → cliproxy-ai-providers-oJQZXrtc.js} +1 -1
  213. package/dist/ui/assets/{cliproxy-control-panel-DC4pOOfY.js → cliproxy-control-panel-2mRPEcRj.js} +1 -1
  214. package/dist/ui/assets/codex-D0AUQ6jA.js +30 -0
  215. package/dist/ui/assets/{confirm-dialog-4rb-E8-R.js → confirm-dialog-B37-CVuq.js} +1 -1
  216. package/dist/ui/assets/{copilot-zgPXNkMw.js → copilot-KaaW-mko.js} +2 -2
  217. package/dist/ui/assets/{cursor-lRPpppk-.js → cursor-BKiTgYi5.js} +1 -1
  218. package/dist/ui/assets/{droid-koOj34SB.js → droid-DHdqGnFw.js} +2 -2
  219. package/dist/ui/assets/{globalenv-section-jOkPVwvN.js → globalenv-section-SfZO97nU.js} +1 -1
  220. package/dist/ui/assets/health-CSRS9O0D.js +1 -0
  221. package/dist/ui/assets/icons-DSLG1YsC.js +1 -0
  222. package/dist/ui/assets/{index-D7crOfea.js → index-CGgavq2X.js} +37 -37
  223. package/dist/ui/assets/{index-BLC5PyZn.js → index-ChTYEBCZ.js} +1 -1
  224. package/dist/ui/assets/index-Cu_F55_O.js +1 -0
  225. package/dist/ui/assets/{index-CRhKyfnS.js → index-DJ66NrBH.js} +1 -1
  226. package/dist/ui/assets/index-DWUuSBUe.js +1 -0
  227. package/dist/ui/assets/{index-BK-PSsqi.js → index-DycwEe96.js} +1 -1
  228. package/dist/ui/assets/index-DzFlVVV3.css +1 -0
  229. package/dist/ui/assets/{index-De3yNJ94.js → index-iQuEEGbH.js} +1 -1
  230. package/dist/ui/assets/{logs-BplpQHRb.js → logs-tiZ_51mo.js} +1 -1
  231. package/dist/ui/assets/{masked-input-DuLL3EwS.js → masked-input-D9FVoeMA.js} +1 -1
  232. package/dist/ui/assets/proxy-status-widget-2k26d8pS.js +1 -0
  233. package/dist/ui/assets/{raw-json-settings-editor-panel-ClPqZ6iZ.js → raw-json-settings-editor-panel-CguBh93H.js} +1 -1
  234. package/dist/ui/assets/{searchable-select-BH1b065u.js → searchable-select-C4wShshD.js} +1 -1
  235. package/dist/ui/assets/{separator-BOiJ0l4s.js → separator-mvGlDdEW.js} +1 -1
  236. package/dist/ui/assets/{shared-CunXigZu.js → shared-Ck0yAwbs.js} +1 -1
  237. package/dist/ui/assets/{table-C7ysR1Xz.js → table-DrUJOxKL.js} +1 -1
  238. package/dist/ui/assets/updates-BVHBFcq8.js +1 -0
  239. package/dist/ui/assets/{use-accounts-CwRU3ln9.js → use-accounts-DLtuaniS.js} +1 -1
  240. package/dist/ui/index.html +3 -3
  241. package/dist/utils/browser/mcp-installer.d.ts.map +1 -1
  242. package/dist/utils/browser/mcp-installer.js +5 -34
  243. package/dist/utils/browser/mcp-installer.js.map +1 -1
  244. package/dist/utils/claude-user-config-lock.d.ts +9 -0
  245. package/dist/utils/claude-user-config-lock.d.ts.map +1 -0
  246. package/dist/utils/claude-user-config-lock.js +96 -0
  247. package/dist/utils/claude-user-config-lock.js.map +1 -0
  248. package/dist/utils/image-analysis/mcp-installer.d.ts.map +1 -1
  249. package/dist/utils/image-analysis/mcp-installer.js +5 -34
  250. package/dist/utils/image-analysis/mcp-installer.js.map +1 -1
  251. package/dist/utils/websearch/mcp-installer.d.ts.map +1 -1
  252. package/dist/utils/websearch/mcp-installer.js +112 -78
  253. package/dist/utils/websearch/mcp-installer.js.map +1 -1
  254. package/dist/web-server/model-pricing.d.ts.map +1 -1
  255. package/dist/web-server/model-pricing.js +7 -0
  256. package/dist/web-server/model-pricing.js.map +1 -1
  257. package/dist/web-server/routes/account-routes.d.ts.map +1 -1
  258. package/dist/web-server/routes/account-routes.js +116 -0
  259. package/dist/web-server/routes/account-routes.js.map +1 -1
  260. package/dist/web-server/routes/bar-routes.d.ts +149 -0
  261. package/dist/web-server/routes/bar-routes.d.ts.map +1 -0
  262. package/dist/web-server/routes/bar-routes.js +415 -0
  263. package/dist/web-server/routes/bar-routes.js.map +1 -0
  264. package/dist/web-server/routes/index.d.ts.map +1 -1
  265. package/dist/web-server/routes/index.js +18 -0
  266. package/dist/web-server/routes/index.js.map +1 -1
  267. package/dist/web-server/usage/bar-analytics.d.ts +101 -0
  268. package/dist/web-server/usage/bar-analytics.d.ts.map +1 -0
  269. package/dist/web-server/usage/bar-analytics.js +315 -0
  270. package/dist/web-server/usage/bar-analytics.js.map +1 -0
  271. package/dist/web-server/usage/claude-native-credentials.d.ts +56 -0
  272. package/dist/web-server/usage/claude-native-credentials.d.ts.map +1 -0
  273. package/dist/web-server/usage/claude-native-credentials.js +140 -0
  274. package/dist/web-server/usage/claude-native-credentials.js.map +1 -0
  275. package/dist/web-server/usage/cliproxy-snapshot-reader.d.ts +24 -0
  276. package/dist/web-server/usage/cliproxy-snapshot-reader.d.ts.map +1 -0
  277. package/dist/web-server/usage/cliproxy-snapshot-reader.js +82 -0
  278. package/dist/web-server/usage/cliproxy-snapshot-reader.js.map +1 -0
  279. package/dist/web-server/usage/cliproxy-usage-syncer.d.ts +3 -2
  280. package/dist/web-server/usage/cliproxy-usage-syncer.d.ts.map +1 -1
  281. package/dist/web-server/usage/cliproxy-usage-syncer.js +14 -2
  282. package/dist/web-server/usage/cliproxy-usage-syncer.js.map +1 -1
  283. package/dist/web-server/usage/cliproxy-usage-transformer.d.ts +8 -1
  284. package/dist/web-server/usage/cliproxy-usage-transformer.d.ts.map +1 -1
  285. package/dist/web-server/usage/cliproxy-usage-transformer.js +31 -4
  286. package/dist/web-server/usage/cliproxy-usage-transformer.js.map +1 -1
  287. package/dist/web-server/usage/codex-local-quota-collector.d.ts +74 -0
  288. package/dist/web-server/usage/codex-local-quota-collector.d.ts.map +1 -0
  289. package/dist/web-server/usage/codex-local-quota-collector.js +250 -0
  290. package/dist/web-server/usage/codex-local-quota-collector.js.map +1 -0
  291. package/dist/web-server/usage/data-aggregator.d.ts +11 -0
  292. package/dist/web-server/usage/data-aggregator.d.ts.map +1 -1
  293. package/dist/web-server/usage/data-aggregator.js +29 -1
  294. package/dist/web-server/usage/data-aggregator.js.map +1 -1
  295. package/dist/web-server/usage/native-quota-collector.d.ts +44 -0
  296. package/dist/web-server/usage/native-quota-collector.d.ts.map +1 -0
  297. package/dist/web-server/usage/native-quota-collector.js +378 -0
  298. package/dist/web-server/usage/native-quota-collector.js.map +1 -0
  299. package/dist/web-server/usage/types.d.ts +2 -0
  300. package/dist/web-server/usage/types.d.ts.map +1 -1
  301. package/package.json +1 -1
  302. package/scripts/run-test-bucket.js +183 -17
  303. package/dist/ui/assets/accounts-DHBmHeH-.js +0 -1
  304. package/dist/ui/assets/codex-CcODhykP.js +0 -30
  305. package/dist/ui/assets/health-CxHauE3Y.js +0 -1
  306. package/dist/ui/assets/icons-DzKUh8vG.js +0 -1
  307. package/dist/ui/assets/index-DOfPoKe_.css +0 -1
  308. package/dist/ui/assets/index-DUGnoURR.js +0 -1
  309. package/dist/ui/assets/index-I_ek1xyD.js +0 -1
  310. package/dist/ui/assets/proxy-status-widget-BruRPTSl.js +0 -1
  311. package/dist/ui/assets/updates-BtBCV2xk.js +0 -1
@@ -0,0 +1,64 @@
1
+ /**
2
+ * `ccs bar launch` — ensure web-server is up, write ~/.ccs/bar.json, open the app.
3
+ *
4
+ * bar.json shape (v1):
5
+ * { baseUrl: string, port: number, authMode: "loopback" }
6
+ *
7
+ * authMode is always "loopback" for v1 (auth-enabled unsupported until v1.1).
8
+ *
9
+ * Reuse-first behavior: before starting a new server, launch probes the candidate
10
+ * ports (bar.json port first, then 3000, 3001, 3002, 8000, 8080) for a live CCS
11
+ * server at GET /api/bar/summary. A 200 response means the server is already
12
+ * running; launch reuses it without attempting to bind a new one.
13
+ */
14
+ export interface BarDiscoveryJson {
15
+ baseUrl: string;
16
+ port: number;
17
+ authMode: 'loopback';
18
+ }
19
+ export interface DashboardInfo {
20
+ port: number;
21
+ baseUrl: string;
22
+ }
23
+ export interface LaunchDeps {
24
+ /**
25
+ * Probe candidate ports for a running CCS server.
26
+ * Returns { port, baseUrl } of the first live server found, or null if none.
27
+ * Never throws — any error is treated as "not found".
28
+ */
29
+ findRunningServer: () => Promise<DashboardInfo | null>;
30
+ /**
31
+ * Ensure the CCS web-server / dashboard is running.
32
+ * Returns { port, baseUrl } of the running server.
33
+ * Throws if the server cannot be started (degraded path).
34
+ */
35
+ ensureDashboard: () => Promise<DashboardInfo>;
36
+ /** Open the installed .app bundle. Throws if the app is not found. */
37
+ openApp: (appPath: string) => Promise<void>;
38
+ /** Returns path to ~/.ccs (respects CCS_HOME for test isolation). */
39
+ getCcsDir: () => string;
40
+ /** Full path where the .app should be installed, e.g. ~/Applications/CCS Bar.app */
41
+ appInstallPath: string;
42
+ }
43
+ /**
44
+ * Read the port recorded in an existing bar.json.
45
+ * Returns null when the file is absent or malformed.
46
+ */
47
+ export declare function resolveBarPort(ccsDir: string): number | null;
48
+ /**
49
+ * Probe candidate ports for a running CCS server.
50
+ *
51
+ * Both IPv4 (127.0.0.1) and IPv6 (::1) loopback addresses are probed for
52
+ * each port. This is necessary because `ccs config` starts the server with
53
+ * host 'localhost', which macOS resolves to ::1 — an IPv4-only probe would
54
+ * miss that server and start a redundant second instance.
55
+ *
56
+ * All probes are fired concurrently (cheap loopback requests) so worst-case
57
+ * latency is ~1.5 s (one timeout) rather than N × 1.5 s sequentially.
58
+ * Priority selection is still applied after all results are in: the bar.json
59
+ * port is preferred over the defaults (3000, 3001, 3002, 8000, 8080), and
60
+ * within a port 127.0.0.1 is preferred over [::1].
61
+ */
62
+ export declare function defaultFindRunningServer(ccsDir: string): Promise<DashboardInfo | null>;
63
+ export declare function handleBarLaunch(_args: string[], deps?: Partial<LaunchDeps>): Promise<void>;
64
+ //# sourceMappingURL=launch-subcommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launch-subcommand.d.ts","sourceRoot":"","sources":["../../../src/commands/bar/launch-subcommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAWH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,UAAU,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACvD;;;;OAIG;IACH,eAAe,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9C,sEAAsE;IACtE,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,qEAAqE;IACrE,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,oFAAoF;IACpF,cAAc,EAAE,MAAM,CAAC;CACxB;AAMD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS5D;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAiD5F;AA4CD,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,EAAE,EACf,IAAI,GAAE,OAAO,CAAC,UAAU,CAAM,GAC7B,OAAO,CAAC,IAAI,CAAC,CAyEf"}
@@ -0,0 +1,236 @@
1
+ "use strict";
2
+ /**
3
+ * `ccs bar launch` — ensure web-server is up, write ~/.ccs/bar.json, open the app.
4
+ *
5
+ * bar.json shape (v1):
6
+ * { baseUrl: string, port: number, authMode: "loopback" }
7
+ *
8
+ * authMode is always "loopback" for v1 (auth-enabled unsupported until v1.1).
9
+ *
10
+ * Reuse-first behavior: before starting a new server, launch probes the candidate
11
+ * ports (bar.json port first, then 3000, 3001, 3002, 8000, 8080) for a live CCS
12
+ * server at GET /api/bar/summary. A 200 response means the server is already
13
+ * running; launch reuses it without attempting to bind a new one.
14
+ */
15
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ var desc = Object.getOwnPropertyDescriptor(m, k);
18
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
19
+ desc = { enumerable: true, get: function() { return m[k]; } };
20
+ }
21
+ Object.defineProperty(o, k2, desc);
22
+ }) : (function(o, m, k, k2) {
23
+ if (k2 === undefined) k2 = k;
24
+ o[k2] = m[k];
25
+ }));
26
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
27
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
28
+ }) : function(o, v) {
29
+ o["default"] = v;
30
+ });
31
+ var __importStar = (this && this.__importStar) || function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.handleBarLaunch = exports.defaultFindRunningServer = exports.resolveBarPort = void 0;
40
+ const fs = __importStar(require("fs"));
41
+ const os = __importStar(require("os"));
42
+ const path = __importStar(require("path"));
43
+ const config_loader_facade_1 = require("../../config/config-loader-facade");
44
+ // ---------------------------------------------------------------------------
45
+ // Port discovery helpers (exported for unit tests)
46
+ // ---------------------------------------------------------------------------
47
+ /**
48
+ * Read the port recorded in an existing bar.json.
49
+ * Returns null when the file is absent or malformed.
50
+ */
51
+ function resolveBarPort(ccsDir) {
52
+ const barJsonPath = path.join(ccsDir, 'bar.json');
53
+ try {
54
+ const raw = fs.readFileSync(barJsonPath, 'utf8');
55
+ const parsed = JSON.parse(raw);
56
+ return typeof parsed.port === 'number' ? parsed.port : null;
57
+ }
58
+ catch {
59
+ return null;
60
+ }
61
+ }
62
+ exports.resolveBarPort = resolveBarPort;
63
+ // ---------------------------------------------------------------------------
64
+ // Default production dependencies
65
+ // ---------------------------------------------------------------------------
66
+ /**
67
+ * Probe candidate ports for a running CCS server.
68
+ *
69
+ * Both IPv4 (127.0.0.1) and IPv6 (::1) loopback addresses are probed for
70
+ * each port. This is necessary because `ccs config` starts the server with
71
+ * host 'localhost', which macOS resolves to ::1 — an IPv4-only probe would
72
+ * miss that server and start a redundant second instance.
73
+ *
74
+ * All probes are fired concurrently (cheap loopback requests) so worst-case
75
+ * latency is ~1.5 s (one timeout) rather than N × 1.5 s sequentially.
76
+ * Priority selection is still applied after all results are in: the bar.json
77
+ * port is preferred over the defaults (3000, 3001, 3002, 8000, 8080), and
78
+ * within a port 127.0.0.1 is preferred over [::1].
79
+ */
80
+ async function defaultFindRunningServer(ccsDir) {
81
+ const { request } = await Promise.resolve().then(() => __importStar(require('undici')));
82
+ /**
83
+ * Probe a single URL. Resolves to { ok: true } on HTTP 200, { ok: false }
84
+ * on any other status or error (connection refused, timeout, etc.).
85
+ * Never rejects — all errors are absorbed so Promise.all never short-circuits.
86
+ */
87
+ async function probe(url) {
88
+ try {
89
+ const { statusCode, body } = await request(url, {
90
+ method: 'GET',
91
+ headersTimeout: 1500,
92
+ bodyTimeout: 1500,
93
+ });
94
+ // Drain the body to avoid hanging sockets regardless of status.
95
+ // body.dump() is not available in Bun's undici shim; body.text() works
96
+ // cross-runtime and fully consumes the response stream.
97
+ await body.text();
98
+ return { ok: statusCode === 200 };
99
+ }
100
+ catch {
101
+ return { ok: false };
102
+ }
103
+ }
104
+ const barJsonPort = resolveBarPort(ccsDir);
105
+ const base = [3000, 3001, 3002, 8000, 8080];
106
+ const candidates = barJsonPort !== null ? [barJsonPort, ...base.filter((p) => p !== barJsonPort)] : base;
107
+ // Build the ordered list of (port, host, baseUrl) tuples. Within each port,
108
+ // IPv4 comes before IPv6 to preserve the existing priority semantics.
109
+ const probeTargets = candidates.flatMap((port) => [
110
+ { port, baseUrl: `http://127.0.0.1:${port}`, url: `http://127.0.0.1:${port}/api/bar/summary` },
111
+ { port, baseUrl: `http://[::1]:${port}`, url: `http://[::1]:${port}/api/bar/summary` },
112
+ ]);
113
+ // Fire all probes concurrently. Each probe resolves (never rejects), so
114
+ // Promise.all collects all results without short-circuiting on failure.
115
+ const results = await Promise.all(probeTargets.map((t) => probe(t.url)));
116
+ // Walk the results in priority order and return the first successful hit.
117
+ for (let i = 0; i < probeTargets.length; i++) {
118
+ if (results[i].ok) {
119
+ const { port, baseUrl } = probeTargets[i];
120
+ return { port, baseUrl };
121
+ }
122
+ }
123
+ return null;
124
+ }
125
+ exports.defaultFindRunningServer = defaultFindRunningServer;
126
+ async function defaultEnsureDashboard() {
127
+ // Reuse the same startup path as `ccs config`:
128
+ // find a free port then start the web-server via startServer().
129
+ const getPort = (await Promise.resolve().then(() => __importStar(require('get-port')))).default;
130
+ const { startServer } = await Promise.resolve().then(() => __importStar(require('../../web-server')));
131
+ // Pass host: '127.0.0.1' so getPort probes the same address that startServer
132
+ // will bind. On macOS, a wildcard bind and a specific 127.0.0.1 bind are
133
+ // independent: getPort without a host can return 3000 "free" while a live
134
+ // CCS server already holds 127.0.0.1:3000, causing EADDRINUSE on startServer.
135
+ const port = await getPort({ port: [3000, 3001, 3002, 8000, 8080], host: '127.0.0.1' });
136
+ // Bind IPv4 loopback explicitly. Without a host, startServer defaults to
137
+ // 'localhost', which on macOS resolves to ::1 (IPv6) — but bar.json's baseUrl
138
+ // (and the Swift app) use 127.0.0.1, so the app could not reach its own server.
139
+ const { server } = await startServer({ port, host: '127.0.0.1' });
140
+ const addr = server.address();
141
+ const resolvedPort = addr && typeof addr === 'object' ? addr.port : port;
142
+ const baseUrl = `http://127.0.0.1:${resolvedPort}`;
143
+ return { port: resolvedPort, baseUrl };
144
+ }
145
+ async function defaultOpenApp(appPath) {
146
+ const { execFile } = await Promise.resolve().then(() => __importStar(require('child_process')));
147
+ const { promisify } = await Promise.resolve().then(() => __importStar(require('util')));
148
+ const execFileAsync = promisify(execFile);
149
+ await execFileAsync('open', ['-a', appPath]);
150
+ }
151
+ function defaultGetCcsDir() {
152
+ return (0, config_loader_facade_1.getCcsDir)();
153
+ }
154
+ // Fix #5: use os.homedir() to match install-subcommand.ts and uninstall-subcommand.ts.
155
+ // process.env.HOME may be unset in restricted environments, and CCS_HOME is the CCS
156
+ // data directory (~/.ccs), not the user's home — neither is a safe fallback here.
157
+ const DEFAULT_APP_INSTALL_PATH = path.join(os.homedir(), 'Applications', 'CCS Bar.app');
158
+ // ---------------------------------------------------------------------------
159
+ // Implementation
160
+ // ---------------------------------------------------------------------------
161
+ async function handleBarLaunch(_args, deps = {}) {
162
+ const ensureDashboard = deps.ensureDashboard ?? defaultEnsureDashboard;
163
+ const openApp = deps.openApp ?? defaultOpenApp;
164
+ const ccsDir = (deps.getCcsDir ?? defaultGetCcsDir)();
165
+ const appInstallPath = deps.appInstallPath ?? DEFAULT_APP_INSTALL_PATH;
166
+ // Wire findRunningServer after ccsDir is resolved so the default impl can
167
+ // read bar.json from the correct directory.
168
+ const findRunningServer = deps.findRunningServer ?? (() => defaultFindRunningServer(ccsDir));
169
+ // 1. Try to reuse an already-running CCS server; fall back to starting one.
170
+ // Probe errors are treated as "not found" — they never abort the launch flow.
171
+ let running = null;
172
+ try {
173
+ running = await findRunningServer();
174
+ }
175
+ catch {
176
+ // Any probe error counts as null; ensureDashboard() is the fallback.
177
+ }
178
+ let dashboardInfo;
179
+ let reused = false;
180
+ if (running !== null) {
181
+ dashboardInfo = running;
182
+ reused = true;
183
+ }
184
+ else {
185
+ try {
186
+ dashboardInfo = await ensureDashboard();
187
+ }
188
+ catch (err) {
189
+ const msg = err instanceof Error ? err.message : String(err);
190
+ console.error(`[X] Could not start CCS web-server: ${msg}`);
191
+ console.error('[i] Run `ccs config` to start the dashboard manually.');
192
+ return;
193
+ }
194
+ }
195
+ // 2. Write bar.json — this is the single source of discovery for the Swift app.
196
+ const barJson = {
197
+ baseUrl: dashboardInfo.baseUrl,
198
+ port: dashboardInfo.port,
199
+ authMode: 'loopback',
200
+ };
201
+ try {
202
+ fs.mkdirSync(ccsDir, { recursive: true });
203
+ fs.writeFileSync(path.join(ccsDir, 'bar.json'), JSON.stringify(barJson, null, 2));
204
+ }
205
+ catch (err) {
206
+ const msg = err instanceof Error ? err.message : String(err);
207
+ console.error(`[X] Failed to write bar.json: ${msg}`);
208
+ return;
209
+ }
210
+ if (reused) {
211
+ console.log(`[OK] Reusing running CCS web-server at ${dashboardInfo.baseUrl}`);
212
+ }
213
+ else {
214
+ console.log(`[OK] CCS web-server running at ${dashboardInfo.baseUrl}`);
215
+ }
216
+ console.log(`[i] Discovery file written: ${path.join(ccsDir, 'bar.json')}`);
217
+ // 3. Open the app.
218
+ try {
219
+ await openApp(appInstallPath);
220
+ console.log('[OK] CCS Bar launched.');
221
+ }
222
+ catch {
223
+ // Degraded path: app not installed or open failed.
224
+ if (!fs.existsSync(appInstallPath)) {
225
+ console.log('[!] CCS Bar app is not installed.');
226
+ console.log('[i] Run `ccs bar install` to install it.');
227
+ }
228
+ else {
229
+ console.log('[!] Could not open CCS Bar. Try right-clicking and selecting Open.');
230
+ console.log('[i] If Gatekeeper blocks the app, run:');
231
+ console.log(` xattr -dr com.apple.quarantine "${appInstallPath}"`);
232
+ }
233
+ }
234
+ }
235
+ exports.handleBarLaunch = handleBarLaunch;
236
+ //# sourceMappingURL=launch-subcommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launch-subcommand.js","sourceRoot":"","sources":["../../../src/commands/bar/launch-subcommand.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * `ccs bar uninstall` — remove CCS Bar.app from ~/Applications
3
+ * and clear the version pin at ~/.ccs/bar/.version.
4
+ *
5
+ * No-op (and no error) when neither the app nor the pin exists.
6
+ */
7
+ export interface UninstallDeps {
8
+ getCcsDir: () => string;
9
+ getAppsDir: () => string;
10
+ appName: string;
11
+ }
12
+ export declare function handleBarUninstall(_args: string[], deps?: Partial<UninstallDeps>): Promise<void>;
13
+ //# sourceMappingURL=uninstall-subcommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstall-subcommand.d.ts","sourceRoot":"","sources":["../../../src/commands/bar/uninstall-subcommand.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,MAAM,EAAE,EACf,IAAI,GAAE,OAAO,CAAC,aAAa,CAAM,GAChC,OAAO,CAAC,IAAI,CAAC,CAsCf"}
@@ -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":"help-subcommand.d.ts","sourceRoot":"","sources":["../../../src/commands/cliproxy/help-subcommand.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAsG9C"}
1
+ {"version":3,"file":"help-subcommand.d.ts","sourceRoot":"","sources":["../../../src/commands/cliproxy/help-subcommand.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAyH9C"}
@@ -52,13 +52,32 @@ async function showHelp() {
52
52
  ['default <account>', 'Set default account for rotation'],
53
53
  ['pause <account>', 'Pause account (skip in rotation)'],
54
54
  ['resume <account>', 'Resume paused account'],
55
- ['quota', 'Show quota status for all providers (Codex/Claude include 5h + weekly reset)'],
55
+ [
56
+ 'quota',
57
+ 'Show quota status + pool context (drain order, per-account available/cooling/paused)',
58
+ ],
56
59
  ['quota --provider <name>', `Filter by provider (${provider_capabilities_1.QUOTA_PROVIDER_HELP_TEXT})`],
57
60
  ['routing', 'Show current routing strategy and manual guidance'],
58
61
  ['routing explain', 'Explain strategy vs session-affinity and how sessions are recognized'],
59
62
  ['routing set <mode>', 'Explicitly set round-robin or fill-first'],
60
63
  ['routing affinity', 'Show local session-affinity status and TTL'],
61
64
  ['routing affinity <on|off> [--ttl <duration>]', 'Toggle local session-affinity settings'],
65
+ ['pool', 'Show pool routing status (fill-first + affinity + 429 cooldown)'],
66
+ ['pool --enable', 'Enable pool routing (writes cooling/affinity/retry-cap to config)'],
67
+ ['pool --disable', 'Disable pool routing and restore non-pool config'],
68
+ [
69
+ 'accounts order <provider>',
70
+ 'Show effective drain order (priority bucket desc, then ID asc)',
71
+ ],
72
+ [
73
+ 'accounts order <provider> --by-tier',
74
+ 'Set drain order from tier metadata (ultra > pro > free)',
75
+ ],
76
+ [
77
+ 'accounts order <provider> --set a,b,c',
78
+ 'Set manual drain order (comma-separated account IDs)',
79
+ ],
80
+ ['accounts order <provider> --reset', 'Revert drain order to stable file order'],
62
81
  ],
63
82
  ],
64
83
  [
@@ -1 +1 @@
1
- {"version":3,"file":"help-subcommand.js","sourceRoot":"","sources":["../../../src/commands/cliproxy/help-subcommand.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,uCAAuE;AACvE,+EAIiD;AACjD,gFAAgF;AAEzE,KAAK,UAAU,QAAQ;IAC5B,MAAM,IAAA,WAAM,GAAE,CAAC;IACf,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,IAAA,WAAM,EAAC,qBAAqB,CAAC,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,IAAA,cAAS,EAAC,QAAQ,CAAC,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAA,UAAK,EAAC,cAAc,EAAE,SAAS,CAAC,sBAAsB,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,MAAM,QAAQ,GAAmC;QAC/C;YACE,mBAAmB;YACnB;gBACE,CAAC,eAAe,EAAE,qCAAqC,CAAC;gBACxD,CAAC,oBAAoB,EAAE,mDAAmD,CAAC;gBAC3E,CAAC,aAAa,EAAE,2CAA2C,CAAC;gBAC5D,CAAC,MAAM,EAAE,oCAAoC,CAAC;gBAC9C,CAAC,eAAe,EAAE,mCAAmC,CAAC;aACvD;SACF;QACD;YACE,mBAAmB;YACnB;gBACE,CAAC,SAAS,EAAE,+DAA+D,CAAC;gBAC5E,CAAC,iBAAiB,EAAE,kCAAkC,CAAC;gBACvD,CAAC,eAAe,EAAE,uCAAuC,CAAC;gBAC1D,CAAC,gBAAgB,EAAE,4CAA4C,CAAC;aACjE;SACF;QACD;YACE,aAAa;YACb;gBACE,CAAC,MAAM,EAAE,4CAA4C,CAAC;gBACtD,CAAC,gBAAgB,EAAE,+BAA+B,CAAC;gBACnD,CAAC,gBAAgB,EAAE,gCAAgC,CAAC;aACrD;SACF;QACD;YACE,mBAAmB;YACnB;gBACE,CAAC,mBAAmB,EAAE,kCAAkC,CAAC;gBACzD,CAAC,iBAAiB,EAAE,kCAAkC,CAAC;gBACvD,CAAC,kBAAkB,EAAE,uBAAuB,CAAC;gBAC7C,CAAC,OAAO,EAAE,8EAA8E,CAAC;gBACzF,CAAC,yBAAyB,EAAE,uBAAuB,gDAAwB,GAAG,CAAC;gBAC/E,CAAC,SAAS,EAAE,mDAAmD,CAAC;gBAChE,CAAC,iBAAiB,EAAE,sEAAsE,CAAC;gBAC3F,CAAC,oBAAoB,EAAE,0CAA0C,CAAC;gBAClE,CAAC,kBAAkB,EAAE,4CAA4C,CAAC;gBAClE,CAAC,8CAA8C,EAAE,wCAAwC,CAAC;aAC3F;SACF;QACD;YACE,kBAAkB;YAClB;gBACE,CAAC,OAAO,EAAE,uCAAuC,CAAC;gBAClD,CAAC,SAAS,EAAE,2BAA2B,CAAC;gBACxC,CAAC,QAAQ,EAAE,8BAA8B,CAAC;gBAC1C,CAAC,MAAM,EAAE,gCAAgC,CAAC;gBAC1C,CAAC,QAAQ,EAAE,gDAAgD,CAAC;aAC7D;SACF;QACD;YACE,kBAAkB;YAClB;gBACE,CAAC,qBAAqB,EAAE,oCAAoC,CAAC;gBAC7D,CAAC,UAAU,EAAE,qCAAqC,CAAC;gBACnD,CAAC,UAAU,EAAE,oCAAoC,CAAC;aACnD;SACF;QACD;YACE,UAAU;YACV;gBACE;oBACE,kBAAkB;oBAClB,qFAAqF;iBACtF;gBACD,CAAC,gBAAgB,EAAE,4DAA4D,CAAC;gBAChF,CAAC,eAAe,EAAE,qEAAqE,CAAC;aACzF;SACF;KACF,CAAC;IAEF,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,IAAA,cAAS,EAAC,KAAK,CAAC,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5D,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,IAAA,UAAK,EAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,IAAA,QAAG,EAAC,oEAAoE,CAAC,CAAC,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,IAAA,QAAG,EAAC,+EAA+E,CAAC,CAAC,CAAC;IAClG,OAAO,CAAC,GAAG,CAAC,IAAA,QAAG,EAAC,6EAA6E,CAAC,CAAC,CAAC;IAChG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,IAAA,cAAS,EAAC,QAAQ,CAAC,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAA,UAAK,EAAC,IAAA,sCAAkB,GAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAClF,OAAO,CAAC,GAAG,CACT,eAAe,IAAA,UAAK,EAAC,sBAAsB,kCAAc,CAAC,mCAAe,CAAC,CAAC,IAAI,WAAW,EAAE,MAAM,CAAC,EAAE,CACtG,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAtGD,4BAsGC"}
1
+ {"version":3,"file":"help-subcommand.js","sourceRoot":"","sources":["../../../src/commands/cliproxy/help-subcommand.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/cliproxy/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EACL,KAAK,sBAAsB,EAI5B,MAAM,sCAAsC,CAAC;AAuE9C;;;;GAIG;AACH,KAAK,mBAAmB,GAAG,sBAAsB,GAAG,KAAK,CAAC;AAe1D,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAChD,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;CAClB,CAwBA;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4HzE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/cliproxy/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EACL,KAAK,sBAAsB,EAI5B,MAAM,sCAAsC,CAAC;AAyE9C;;;;GAIG;AACH,KAAK,mBAAmB,GAAG,sBAAsB,GAAG,KAAK,CAAC;AAe1D,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAChD,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;CAClB,CAwBA;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgJzE"}
@@ -20,6 +20,8 @@ const install_subcommand_1 = require("./install-subcommand");
20
20
  const help_subcommand_1 = require("./help-subcommand");
21
21
  const routing_subcommand_1 = require("./routing-subcommand");
22
22
  const catalog_subcommand_1 = require("./catalog-subcommand");
23
+ const pool_subcommand_1 = require("./pool-subcommand");
24
+ const order_subcommand_1 = require("./order-subcommand");
23
25
  /**
24
26
  * Parse --backend flag from args
25
27
  * Returns the backend value and remaining args without --backend flag
@@ -125,6 +127,24 @@ async function handleCliproxyCommand(args) {
125
127
  await (0, quota_subcommand_1.handleQuotaStatus)(verbose, providerFilter);
126
128
  return;
127
129
  }
130
+ if (command === 'pool') {
131
+ await (0, pool_subcommand_1.handlePoolSubcommand)(remainingArgs.slice(1));
132
+ return;
133
+ }
134
+ if (command === 'accounts') {
135
+ const subcommand = remainingArgs[1];
136
+ if (subcommand === 'order') {
137
+ await (0, order_subcommand_1.handleOrderSubcommand)(remainingArgs.slice(2));
138
+ return;
139
+ }
140
+ // Unknown (or missing) accounts subcommand: report and show help.
141
+ // 'order' is currently the only accounts subcommand.
142
+ console.error(`[X] Unknown accounts subcommand: ${subcommand ?? '(none)'}`);
143
+ console.error(' Usage: ccs cliproxy accounts order <provider>');
144
+ process.exitCode = 1;
145
+ await (0, help_subcommand_1.showHelp)();
146
+ return;
147
+ }
128
148
  if (command === 'routing') {
129
149
  const subcommand = remainingArgs[1];
130
150
  if (subcommand === 'set') {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/cliproxy/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/cliproxy/index.ts"],"names":[],"mappings":"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"}