@kaitranntt/ccs 8.1.4 → 8.2.0-dev.10

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 (493) hide show
  1. package/README.md +12 -0
  2. package/config/base-claude.settings.json +1 -5
  3. package/config/base-kiro.settings.json +4 -4
  4. package/config/base-qoder.settings.json +10 -0
  5. package/dist/api/services/cliproxy-profile-bridge.d.ts.map +1 -1
  6. package/dist/api/services/cliproxy-profile-bridge.js +6 -0
  7. package/dist/api/services/cliproxy-profile-bridge.js.map +1 -1
  8. package/dist/api/services/profile-writer.d.ts.map +1 -1
  9. package/dist/api/services/profile-writer.js +18 -8
  10. package/dist/api/services/profile-writer.js.map +1 -1
  11. package/dist/auth/commands/create-command.d.ts.map +1 -1
  12. package/dist/auth/commands/create-command.js +11 -0
  13. package/dist/auth/commands/create-command.js.map +1 -1
  14. package/dist/channels/official-channels-runtime.js +1 -1
  15. package/dist/channels/official-channels-runtime.js.map +1 -1
  16. package/dist/cliproxy/accounts/account-safety-cross-lane.d.ts +41 -0
  17. package/dist/cliproxy/accounts/account-safety-cross-lane.d.ts.map +1 -0
  18. package/dist/cliproxy/accounts/account-safety-cross-lane.js +177 -0
  19. package/dist/cliproxy/accounts/account-safety-cross-lane.js.map +1 -0
  20. package/dist/cliproxy/accounts/account-safety.d.ts +29 -1
  21. package/dist/cliproxy/accounts/account-safety.d.ts.map +1 -1
  22. package/dist/cliproxy/accounts/account-safety.js +41 -7
  23. package/dist/cliproxy/accounts/account-safety.js.map +1 -1
  24. package/dist/cliproxy/accounts/drain-order.d.ts +277 -0
  25. package/dist/cliproxy/accounts/drain-order.d.ts.map +1 -0
  26. package/dist/cliproxy/accounts/drain-order.js +575 -0
  27. package/dist/cliproxy/accounts/drain-order.js.map +1 -0
  28. package/dist/cliproxy/accounts/pool-state.d.ts +132 -0
  29. package/dist/cliproxy/accounts/pool-state.d.ts.map +1 -0
  30. package/dist/cliproxy/accounts/pool-state.js +201 -0
  31. package/dist/cliproxy/accounts/pool-state.js.map +1 -0
  32. package/dist/cliproxy/accounts/registry.d.ts +17 -1
  33. package/dist/cliproxy/accounts/registry.d.ts.map +1 -1
  34. package/dist/cliproxy/accounts/registry.js +58 -5
  35. package/dist/cliproxy/accounts/registry.js.map +1 -1
  36. package/dist/cliproxy/accounts/types.d.ts +20 -0
  37. package/dist/cliproxy/accounts/types.d.ts.map +1 -1
  38. package/dist/cliproxy/ai-providers/codex-plan-compatibility.js +1 -1
  39. package/dist/cliproxy/ai-providers/codex-plan-compatibility.js.map +1 -1
  40. package/dist/cliproxy/ai-providers/codex-reasoning-proxy.d.ts.map +1 -1
  41. package/dist/cliproxy/ai-providers/codex-reasoning-proxy.js +88 -11
  42. package/dist/cliproxy/ai-providers/codex-reasoning-proxy.js.map +1 -1
  43. package/dist/cliproxy/auth/auth-types.d.ts +2 -0
  44. package/dist/cliproxy/auth/auth-types.d.ts.map +1 -1
  45. package/dist/cliproxy/auth/auth-types.js +7 -0
  46. package/dist/cliproxy/auth/auth-types.js.map +1 -1
  47. package/dist/cliproxy/auth/oauth-handler.d.ts.map +1 -1
  48. package/dist/cliproxy/auth/oauth-handler.js +48 -10
  49. package/dist/cliproxy/auth/oauth-handler.js.map +1 -1
  50. package/dist/cliproxy/auth/oauth-trace/redactor.d.ts.map +1 -1
  51. package/dist/cliproxy/auth/oauth-trace/redactor.js +1 -0
  52. package/dist/cliproxy/auth/oauth-trace/redactor.js.map +1 -1
  53. package/dist/cliproxy/auth/oauth-trace/trace-recorder.js +2 -2
  54. package/dist/cliproxy/auth/oauth-trace/trace-recorder.js.map +1 -1
  55. package/dist/cliproxy/binary/version-checker.d.ts +4 -2
  56. package/dist/cliproxy/binary/version-checker.d.ts.map +1 -1
  57. package/dist/cliproxy/binary/version-checker.js +30 -20
  58. package/dist/cliproxy/binary/version-checker.js.map +1 -1
  59. package/dist/cliproxy/claude-shadow-warning.d.ts +39 -0
  60. package/dist/cliproxy/claude-shadow-warning.d.ts.map +1 -0
  61. package/dist/cliproxy/claude-shadow-warning.js +187 -0
  62. package/dist/cliproxy/claude-shadow-warning.js.map +1 -0
  63. package/dist/cliproxy/config/base-config-loader.d.ts +6 -5
  64. package/dist/cliproxy/config/base-config-loader.d.ts.map +1 -1
  65. package/dist/cliproxy/config/base-config-loader.js +19 -12
  66. package/dist/cliproxy/config/base-config-loader.js.map +1 -1
  67. package/dist/cliproxy/config/env-builder.d.ts +3 -0
  68. package/dist/cliproxy/config/env-builder.d.ts.map +1 -1
  69. package/dist/cliproxy/config/env-builder.js +158 -20
  70. package/dist/cliproxy/config/env-builder.js.map +1 -1
  71. package/dist/cliproxy/config/generator.d.ts +2 -1
  72. package/dist/cliproxy/config/generator.d.ts.map +1 -1
  73. package/dist/cliproxy/config/generator.js +66 -9
  74. package/dist/cliproxy/config/generator.js.map +1 -1
  75. package/dist/cliproxy/config/thinking-config.d.ts.map +1 -1
  76. package/dist/cliproxy/config/thinking-config.js +2 -0
  77. package/dist/cliproxy/config/thinking-config.js.map +1 -1
  78. package/dist/cliproxy/executor/arg-parser.d.ts +8 -5
  79. package/dist/cliproxy/executor/arg-parser.d.ts.map +1 -1
  80. package/dist/cliproxy/executor/arg-parser.js +21 -10
  81. package/dist/cliproxy/executor/arg-parser.js.map +1 -1
  82. package/dist/cliproxy/executor/auth-coordinator.d.ts +4 -0
  83. package/dist/cliproxy/executor/auth-coordinator.d.ts.map +1 -1
  84. package/dist/cliproxy/executor/auth-coordinator.js +5 -1
  85. package/dist/cliproxy/executor/auth-coordinator.js.map +1 -1
  86. package/dist/cliproxy/executor/browser-launch-setup.d.ts +1 -0
  87. package/dist/cliproxy/executor/browser-launch-setup.d.ts.map +1 -1
  88. package/dist/cliproxy/executor/browser-launch-setup.js +4 -3
  89. package/dist/cliproxy/executor/browser-launch-setup.js.map +1 -1
  90. package/dist/cliproxy/executor/index.d.ts.map +1 -1
  91. package/dist/cliproxy/executor/index.js +35 -6
  92. package/dist/cliproxy/executor/index.js.map +1 -1
  93. package/dist/cliproxy/executor/proxy-resolver.d.ts +15 -9
  94. package/dist/cliproxy/executor/proxy-resolver.d.ts.map +1 -1
  95. package/dist/cliproxy/executor/proxy-resolver.js +14 -5
  96. package/dist/cliproxy/executor/proxy-resolver.js.map +1 -1
  97. package/dist/cliproxy/model-catalog.d.ts.map +1 -1
  98. package/dist/cliproxy/model-catalog.js +94 -2
  99. package/dist/cliproxy/model-catalog.js.map +1 -1
  100. package/dist/cliproxy/provider-capabilities.d.ts.map +1 -1
  101. package/dist/cliproxy/provider-capabilities.js +12 -0
  102. package/dist/cliproxy/provider-capabilities.js.map +1 -1
  103. package/dist/cliproxy/proxy/proxy-config-resolver.d.ts.map +1 -1
  104. package/dist/cliproxy/proxy/proxy-config-resolver.js +11 -1
  105. package/dist/cliproxy/proxy/proxy-config-resolver.js.map +1 -1
  106. package/dist/cliproxy/proxy/tool-sanitization-proxy.d.ts.map +1 -1
  107. package/dist/cliproxy/proxy/tool-sanitization-proxy.js +160 -8
  108. package/dist/cliproxy/proxy/tool-sanitization-proxy.js.map +1 -1
  109. package/dist/cliproxy/proxy/upstream-response-timeout.d.ts +14 -0
  110. package/dist/cliproxy/proxy/upstream-response-timeout.d.ts.map +1 -0
  111. package/dist/cliproxy/proxy/upstream-response-timeout.js +79 -0
  112. package/dist/cliproxy/proxy/upstream-response-timeout.js.map +1 -0
  113. package/dist/cliproxy/quota/quota-fetcher-claude.d.ts +9 -0
  114. package/dist/cliproxy/quota/quota-fetcher-claude.d.ts.map +1 -1
  115. package/dist/cliproxy/quota/quota-fetcher-claude.js +53 -16
  116. package/dist/cliproxy/quota/quota-fetcher-claude.js.map +1 -1
  117. package/dist/cliproxy/quota/quota-fetcher-codex.d.ts +2 -2
  118. package/dist/cliproxy/quota/quota-fetcher-codex.d.ts.map +1 -1
  119. package/dist/cliproxy/quota/quota-fetcher-codex.js +2 -4
  120. package/dist/cliproxy/quota/quota-fetcher-codex.js.map +1 -1
  121. package/dist/cliproxy/quota/quota-fetcher.d.ts.map +1 -1
  122. package/dist/cliproxy/quota/quota-fetcher.js +4 -0
  123. package/dist/cliproxy/quota/quota-fetcher.js.map +1 -1
  124. package/dist/cliproxy/quota/quota-label-sanitizer.d.ts +10 -0
  125. package/dist/cliproxy/quota/quota-label-sanitizer.d.ts.map +1 -0
  126. package/dist/cliproxy/quota/quota-label-sanitizer.js +31 -0
  127. package/dist/cliproxy/quota/quota-label-sanitizer.js.map +1 -0
  128. package/dist/cliproxy/quota/quota-manager.d.ts +7 -0
  129. package/dist/cliproxy/quota/quota-manager.d.ts.map +1 -1
  130. package/dist/cliproxy/quota/quota-manager.js +51 -2
  131. package/dist/cliproxy/quota/quota-manager.js.map +1 -1
  132. package/dist/cliproxy/routing/pool-onboarding-hint.d.ts +95 -0
  133. package/dist/cliproxy/routing/pool-onboarding-hint.d.ts.map +1 -0
  134. package/dist/cliproxy/routing/pool-onboarding-hint.js +172 -0
  135. package/dist/cliproxy/routing/pool-onboarding-hint.js.map +1 -0
  136. package/dist/cliproxy/routing/pool-opt-in-prompt.d.ts +50 -0
  137. package/dist/cliproxy/routing/pool-opt-in-prompt.d.ts.map +1 -0
  138. package/dist/cliproxy/routing/pool-opt-in-prompt.js +232 -0
  139. package/dist/cliproxy/routing/pool-opt-in-prompt.js.map +1 -0
  140. package/dist/cliproxy/routing/routing-strategy-http.d.ts.map +1 -1
  141. package/dist/cliproxy/routing/routing-strategy-http.js +35 -26
  142. package/dist/cliproxy/routing/routing-strategy-http.js.map +1 -1
  143. package/dist/cliproxy/routing/routing-strategy.d.ts +132 -0
  144. package/dist/cliproxy/routing/routing-strategy.d.ts.map +1 -1
  145. package/dist/cliproxy/routing/routing-strategy.js +342 -5
  146. package/dist/cliproxy/routing/routing-strategy.js.map +1 -1
  147. package/dist/cliproxy/services/catalog-cache.d.ts.map +1 -1
  148. package/dist/cliproxy/services/catalog-cache.js +5 -3
  149. package/dist/cliproxy/services/catalog-cache.js.map +1 -1
  150. package/dist/cliproxy/services/stats-fetcher.d.ts +13 -0
  151. package/dist/cliproxy/services/stats-fetcher.d.ts.map +1 -1
  152. package/dist/cliproxy/services/stats-fetcher.js +25 -1
  153. package/dist/cliproxy/services/stats-fetcher.js.map +1 -1
  154. package/dist/cliproxy/types/provider-types.d.ts +1 -1
  155. package/dist/cliproxy/types/provider-types.d.ts.map +1 -1
  156. package/dist/cliproxy/types/provider-types.js +1 -0
  157. package/dist/cliproxy/types/provider-types.js.map +1 -1
  158. package/dist/codex-auth/codex-config-symlink.js +21 -4
  159. package/dist/codex-auth/codex-config-symlink.js.map +1 -1
  160. package/dist/codex-auth/commands/import-default-command.d.ts +1 -1
  161. package/dist/codex-auth/commands/import-default-command.d.ts.map +1 -1
  162. package/dist/codex-auth/commands/import-default-command.js +12 -25
  163. package/dist/codex-auth/commands/import-default-command.js.map +1 -1
  164. package/dist/commands/api-command/help.js +1 -1
  165. package/dist/commands/api-command/help.js.map +1 -1
  166. package/dist/commands/bar/help-subcommand.d.ts +2 -0
  167. package/dist/commands/bar/help-subcommand.d.ts.map +1 -0
  168. package/dist/commands/bar/help-subcommand.js +63 -0
  169. package/dist/commands/bar/help-subcommand.js.map +1 -0
  170. package/dist/commands/bar/index.d.ts +8 -0
  171. package/dist/commands/bar/index.d.ts.map +1 -0
  172. package/dist/commands/bar/index.js +78 -0
  173. package/dist/commands/bar/index.js.map +1 -0
  174. package/dist/commands/bar/install-subcommand.d.ts +92 -0
  175. package/dist/commands/bar/install-subcommand.d.ts.map +1 -0
  176. package/dist/commands/bar/install-subcommand.js +605 -0
  177. package/dist/commands/bar/install-subcommand.js.map +1 -0
  178. package/dist/commands/bar/launch-subcommand.d.ts +64 -0
  179. package/dist/commands/bar/launch-subcommand.d.ts.map +1 -0
  180. package/dist/commands/bar/launch-subcommand.js +236 -0
  181. package/dist/commands/bar/launch-subcommand.js.map +1 -0
  182. package/dist/commands/bar/uninstall-subcommand.d.ts +13 -0
  183. package/dist/commands/bar/uninstall-subcommand.d.ts.map +1 -0
  184. package/dist/commands/bar/uninstall-subcommand.js +78 -0
  185. package/dist/commands/bar/uninstall-subcommand.js.map +1 -0
  186. package/dist/commands/bar/version-subcommand.d.ts +8 -0
  187. package/dist/commands/bar/version-subcommand.d.ts.map +1 -0
  188. package/dist/commands/bar/version-subcommand.js +62 -0
  189. package/dist/commands/bar/version-subcommand.js.map +1 -0
  190. package/dist/commands/cleanup-command.d.ts.map +1 -1
  191. package/dist/commands/cleanup-command.js +99 -51
  192. package/dist/commands/cleanup-command.js.map +1 -1
  193. package/dist/commands/cliproxy/help-subcommand.d.ts.map +1 -1
  194. package/dist/commands/cliproxy/help-subcommand.js +20 -1
  195. package/dist/commands/cliproxy/help-subcommand.js.map +1 -1
  196. package/dist/commands/cliproxy/index.d.ts.map +1 -1
  197. package/dist/commands/cliproxy/index.js +20 -0
  198. package/dist/commands/cliproxy/index.js.map +1 -1
  199. package/dist/commands/cliproxy/order-subcommand.d.ts +16 -0
  200. package/dist/commands/cliproxy/order-subcommand.d.ts.map +1 -0
  201. package/dist/commands/cliproxy/order-subcommand.js +520 -0
  202. package/dist/commands/cliproxy/order-subcommand.js.map +1 -0
  203. package/dist/commands/cliproxy/pool-state-renderer.d.ts +40 -0
  204. package/dist/commands/cliproxy/pool-state-renderer.d.ts.map +1 -0
  205. package/dist/commands/cliproxy/pool-state-renderer.js +220 -0
  206. package/dist/commands/cliproxy/pool-state-renderer.js.map +1 -0
  207. package/dist/commands/cliproxy/pool-subcommand.d.ts +10 -0
  208. package/dist/commands/cliproxy/pool-subcommand.d.ts.map +1 -0
  209. package/dist/commands/cliproxy/pool-subcommand.js +112 -0
  210. package/dist/commands/cliproxy/pool-subcommand.js.map +1 -0
  211. package/dist/commands/cliproxy/quota-subcommand.d.ts +10 -1
  212. package/dist/commands/cliproxy/quota-subcommand.d.ts.map +1 -1
  213. package/dist/commands/cliproxy/quota-subcommand.js +22 -6
  214. package/dist/commands/cliproxy/quota-subcommand.js.map +1 -1
  215. package/dist/commands/cliproxy/routing-subcommand.d.ts.map +1 -1
  216. package/dist/commands/cliproxy/routing-subcommand.js +19 -0
  217. package/dist/commands/cliproxy/routing-subcommand.js.map +1 -1
  218. package/dist/commands/command-catalog.d.ts.map +1 -1
  219. package/dist/commands/command-catalog.js +8 -0
  220. package/dist/commands/command-catalog.js.map +1 -1
  221. package/dist/commands/config-channels-command.d.ts +1 -4
  222. package/dist/commands/config-channels-command.d.ts.map +1 -1
  223. package/dist/commands/config-channels-command.js +20 -24
  224. package/dist/commands/config-channels-command.js.map +1 -1
  225. package/dist/commands/help-command.d.ts.map +1 -1
  226. package/dist/commands/help-command.js +6 -1
  227. package/dist/commands/help-command.js.map +1 -1
  228. package/dist/commands/root-command-router.d.ts.map +1 -1
  229. package/dist/commands/root-command-router.js +7 -0
  230. package/dist/commands/root-command-router.js.map +1 -1
  231. package/dist/config/loader/yaml-serializer.d.ts.map +1 -1
  232. package/dist/config/loader/yaml-serializer.js +13 -0
  233. package/dist/config/loader/yaml-serializer.js.map +1 -1
  234. package/dist/config/reserved-names.d.ts +1 -1
  235. package/dist/config/reserved-names.d.ts.map +1 -1
  236. package/dist/config/reserved-names.js +1 -0
  237. package/dist/config/reserved-names.js.map +1 -1
  238. package/dist/config/schemas/cliproxy.d.ts +37 -0
  239. package/dist/config/schemas/cliproxy.d.ts.map +1 -1
  240. package/dist/config/schemas/proxy-server.js +1 -1
  241. package/dist/config/schemas/quota.d.ts +26 -2
  242. package/dist/config/schemas/quota.d.ts.map +1 -1
  243. package/dist/config/schemas/quota.js +20 -1
  244. package/dist/config/schemas/quota.js.map +1 -1
  245. package/dist/config/unified-config-loader.d.ts.map +1 -1
  246. package/dist/config/unified-config-loader.js +3 -0
  247. package/dist/config/unified-config-loader.js.map +1 -1
  248. package/dist/cursor/cursor-daemon-auth.d.ts +2 -0
  249. package/dist/cursor/cursor-daemon-auth.d.ts.map +1 -0
  250. package/dist/cursor/cursor-daemon-auth.js +49 -0
  251. package/dist/cursor/cursor-daemon-auth.js.map +1 -0
  252. package/dist/cursor/cursor-daemon-entry.d.ts.map +1 -1
  253. package/dist/cursor/cursor-daemon-entry.js +44 -0
  254. package/dist/cursor/cursor-daemon-entry.js.map +1 -1
  255. package/dist/cursor/cursor-daemon.d.ts +2 -1
  256. package/dist/cursor/cursor-daemon.d.ts.map +1 -1
  257. package/dist/cursor/cursor-daemon.js +21 -5
  258. package/dist/cursor/cursor-daemon.js.map +1 -1
  259. package/dist/cursor/cursor-models.d.ts.map +1 -1
  260. package/dist/cursor/cursor-models.js +2 -1
  261. package/dist/cursor/cursor-models.js.map +1 -1
  262. package/dist/cursor/cursor-profile-executor.d.ts +1 -1
  263. package/dist/cursor/cursor-profile-executor.d.ts.map +1 -1
  264. package/dist/cursor/cursor-profile-executor.js +7 -4
  265. package/dist/cursor/cursor-profile-executor.js.map +1 -1
  266. package/dist/cursor/cursor-runtime-probe.d.ts.map +1 -1
  267. package/dist/cursor/cursor-runtime-probe.js +4 -2
  268. package/dist/cursor/cursor-runtime-probe.js.map +1 -1
  269. package/dist/cursor/types.d.ts +1 -0
  270. package/dist/cursor/types.d.ts.map +1 -1
  271. package/dist/dispatcher/flows/account-flow.d.ts.map +1 -1
  272. package/dist/dispatcher/flows/account-flow.js +9 -0
  273. package/dist/dispatcher/flows/account-flow.js.map +1 -1
  274. package/dist/dispatcher/profile-resolver.d.ts +16 -0
  275. package/dist/dispatcher/profile-resolver.d.ts.map +1 -1
  276. package/dist/dispatcher/profile-resolver.js +49 -3
  277. package/dist/dispatcher/profile-resolver.js.map +1 -1
  278. package/dist/docker/docker-key-rotation.d.ts +2 -0
  279. package/dist/docker/docker-key-rotation.d.ts.map +1 -1
  280. package/dist/docker/docker-key-rotation.js +9 -1
  281. package/dist/docker/docker-key-rotation.js.map +1 -1
  282. package/dist/glmt/sse-parser.d.ts +1 -0
  283. package/dist/glmt/sse-parser.d.ts.map +1 -1
  284. package/dist/glmt/sse-parser.js +13 -1
  285. package/dist/glmt/sse-parser.js.map +1 -1
  286. package/dist/management/doctor.d.ts.map +1 -1
  287. package/dist/management/doctor.js +10 -0
  288. package/dist/management/doctor.js.map +1 -1
  289. package/dist/management/shared-manager.d.ts.map +1 -1
  290. package/dist/management/shared-manager.js +9 -1
  291. package/dist/management/shared-manager.js.map +1 -1
  292. package/dist/proxy/profile-router.d.ts +16 -0
  293. package/dist/proxy/profile-router.d.ts.map +1 -1
  294. package/dist/proxy/profile-router.js +7 -2
  295. package/dist/proxy/profile-router.js.map +1 -1
  296. package/dist/proxy/proxy-daemon.js +1 -1
  297. package/dist/proxy/proxy-daemon.js.map +1 -1
  298. package/dist/proxy/server/http-helpers.d.ts +5 -0
  299. package/dist/proxy/server/http-helpers.d.ts.map +1 -1
  300. package/dist/proxy/server/http-helpers.js +40 -1
  301. package/dist/proxy/server/http-helpers.js.map +1 -1
  302. package/dist/proxy/server/messages-route.d.ts.map +1 -1
  303. package/dist/proxy/server/messages-route.js +252 -17
  304. package/dist/proxy/server/messages-route.js.map +1 -1
  305. package/dist/proxy/transformers/request-transformer.d.ts.map +1 -1
  306. package/dist/proxy/transformers/request-transformer.js +9 -2
  307. package/dist/proxy/transformers/request-transformer.js.map +1 -1
  308. package/dist/proxy/upstream-url.d.ts +42 -2
  309. package/dist/proxy/upstream-url.d.ts.map +1 -1
  310. package/dist/proxy/upstream-url.js +83 -4
  311. package/dist/proxy/upstream-url.js.map +1 -1
  312. package/dist/shared/claude-extension-setup.d.ts.map +1 -1
  313. package/dist/shared/claude-extension-setup.js +2 -1
  314. package/dist/shared/claude-extension-setup.js.map +1 -1
  315. package/dist/shared/cliproxy-model-routing.d.ts.map +1 -1
  316. package/dist/shared/cliproxy-model-routing.js +1 -0
  317. package/dist/shared/cliproxy-model-routing.js.map +1 -1
  318. package/dist/shared/stale-codex-translator-settings.d.ts.map +1 -1
  319. package/dist/shared/stale-codex-translator-settings.js +48 -9
  320. package/dist/shared/stale-codex-translator-settings.js.map +1 -1
  321. package/dist/targets/codex-adapter.d.ts.map +1 -1
  322. package/dist/targets/codex-adapter.js +10 -8
  323. package/dist/targets/codex-adapter.js.map +1 -1
  324. package/dist/targets/target-metadata.js +1 -1
  325. package/dist/targets/target-metadata.js.map +1 -1
  326. package/dist/ui/assets/{Trans-DyZQZ3e2.js → Trans-RG_sMDEu.js} +1 -1
  327. package/dist/ui/assets/accounts-yTXURc-q.js +1 -0
  328. package/dist/ui/assets/{alert-dialog-DWHL-dqd.js → alert-dialog-DjvPgzFs.js} +1 -1
  329. package/dist/ui/assets/api-Ck1dtNEM.js +4 -0
  330. package/dist/ui/assets/{auth-section-B4o90dwz.js → auth-section-DBnY_LPz.js} +1 -1
  331. package/dist/ui/assets/{backups-section-1AsdSIJO.js → backups-section-Ci-uL4Of.js} +1 -1
  332. package/dist/ui/assets/{channels-CU4Zdsc_.js → channels-BeS9O5q0.js} +1 -1
  333. package/dist/ui/assets/{checkbox-CbCKGH8I.js → checkbox-DFeFDZBp.js} +1 -1
  334. package/dist/ui/assets/claude-extension-DS5qN19Z.js +1 -0
  335. package/dist/ui/assets/cliproxy-D7HJH4mZ.js +4 -0
  336. package/dist/ui/assets/{cliproxy-ai-providers-Dr4L5NRY.js → cliproxy-ai-providers-oJQZXrtc.js} +6 -6
  337. package/dist/ui/assets/cliproxy-control-panel-2mRPEcRj.js +1 -0
  338. package/dist/ui/assets/{codex-0HdbW8NR.js → codex-D0AUQ6jA.js} +4 -4
  339. package/dist/ui/assets/{confirm-dialog-b5Dahgnk.js → confirm-dialog-B37-CVuq.js} +1 -1
  340. package/dist/ui/assets/{copilot-B1Ojakbt.js → copilot-KaaW-mko.js} +2 -2
  341. package/dist/ui/assets/{cursor-PUtNVPx1.js → cursor-BKiTgYi5.js} +1 -1
  342. package/dist/ui/assets/{droid-S2gclncb.js → droid-DHdqGnFw.js} +2 -2
  343. package/dist/ui/assets/{globalenv-section-7wKSmNSG.js → globalenv-section-SfZO97nU.js} +1 -1
  344. package/dist/ui/assets/health-CSRS9O0D.js +1 -0
  345. package/dist/ui/assets/icons-DSLG1YsC.js +1 -0
  346. package/dist/ui/assets/index-CGgavq2X.js +56 -0
  347. package/dist/ui/assets/{index-BWboJia4.js → index-ChTYEBCZ.js} +1 -1
  348. package/dist/ui/assets/index-Cu_F55_O.js +1 -0
  349. package/dist/ui/assets/{index-Coc3_ABK.js → index-DJ66NrBH.js} +1 -1
  350. package/dist/ui/assets/index-DWUuSBUe.js +1 -0
  351. package/dist/ui/assets/{index-CxvNNHgE.js → index-DycwEe96.js} +1 -1
  352. package/dist/ui/assets/index-DzFlVVV3.css +1 -0
  353. package/dist/ui/assets/{index-Cx0dmbiQ.js → index-iQuEEGbH.js} +1 -1
  354. package/dist/ui/assets/logs-tiZ_51mo.js +1 -0
  355. package/dist/ui/assets/{masked-input-4L9CIZGb.js → masked-input-D9FVoeMA.js} +1 -1
  356. package/dist/ui/assets/providers/qoder.svg +1 -0
  357. package/dist/ui/assets/proxy-status-widget-2k26d8pS.js +1 -0
  358. package/dist/ui/assets/{raw-json-settings-editor-panel-DXh8c8rA.js → raw-json-settings-editor-panel-CguBh93H.js} +1 -1
  359. package/dist/ui/assets/{searchable-select-CtvEQrMo.js → searchable-select-C4wShshD.js} +1 -1
  360. package/dist/ui/assets/{separator-E0ISp1SN.js → separator-mvGlDdEW.js} +1 -1
  361. package/dist/ui/assets/{shared-BeYwHeNS.js → shared-Ck0yAwbs.js} +2 -2
  362. package/dist/ui/assets/{table-BBslZvNP.js → table-DrUJOxKL.js} +1 -1
  363. package/dist/ui/assets/updates-BVHBFcq8.js +1 -0
  364. package/dist/ui/assets/{use-accounts-BdalFsdY.js → use-accounts-DLtuaniS.js} +1 -1
  365. package/dist/ui/index.html +3 -3
  366. package/dist/utils/browser/browser-settings.d.ts.map +1 -1
  367. package/dist/utils/browser/browser-settings.js +13 -3
  368. package/dist/utils/browser/browser-settings.js.map +1 -1
  369. package/dist/utils/browser/mcp-installer.d.ts.map +1 -1
  370. package/dist/utils/browser/mcp-installer.js +5 -34
  371. package/dist/utils/browser/mcp-installer.js.map +1 -1
  372. package/dist/utils/claude-user-config-lock.d.ts +9 -0
  373. package/dist/utils/claude-user-config-lock.d.ts.map +1 -0
  374. package/dist/utils/claude-user-config-lock.js +96 -0
  375. package/dist/utils/claude-user-config-lock.js.map +1 -0
  376. package/dist/utils/glmt-deprecation.d.ts.map +1 -1
  377. package/dist/utils/glmt-deprecation.js +1 -3
  378. package/dist/utils/glmt-deprecation.js.map +1 -1
  379. package/dist/utils/image-analysis/mcp-installer.d.ts.map +1 -1
  380. package/dist/utils/image-analysis/mcp-installer.js +5 -34
  381. package/dist/utils/image-analysis/mcp-installer.js.map +1 -1
  382. package/dist/utils/retry-strategy.js +1 -1
  383. package/dist/utils/retry-strategy.js.map +1 -1
  384. package/dist/utils/websearch/mcp-installer.d.ts.map +1 -1
  385. package/dist/utils/websearch/mcp-installer.js +112 -78
  386. package/dist/utils/websearch/mcp-installer.js.map +1 -1
  387. package/dist/web-server/index.d.ts.map +1 -1
  388. package/dist/web-server/index.js +0 -9
  389. package/dist/web-server/index.js.map +1 -1
  390. package/dist/web-server/middleware/auth-middleware.d.ts.map +1 -1
  391. package/dist/web-server/middleware/auth-middleware.js +26 -4
  392. package/dist/web-server/middleware/auth-middleware.js.map +1 -1
  393. package/dist/web-server/model-pricing.d.ts +18 -2
  394. package/dist/web-server/model-pricing.d.ts.map +1 -1
  395. package/dist/web-server/model-pricing.js +86 -3
  396. package/dist/web-server/model-pricing.js.map +1 -1
  397. package/dist/web-server/models-dev/pricing-resolver.js +14 -14
  398. package/dist/web-server/models-dev/pricing-resolver.js.map +1 -1
  399. package/dist/web-server/routes/account-routes.d.ts.map +1 -1
  400. package/dist/web-server/routes/account-routes.js +116 -0
  401. package/dist/web-server/routes/account-routes.js.map +1 -1
  402. package/dist/web-server/routes/bar-routes.d.ts +149 -0
  403. package/dist/web-server/routes/bar-routes.d.ts.map +1 -0
  404. package/dist/web-server/routes/bar-routes.js +415 -0
  405. package/dist/web-server/routes/bar-routes.js.map +1 -0
  406. package/dist/web-server/routes/cliproxy-auth-routes.d.ts +10 -0
  407. package/dist/web-server/routes/cliproxy-auth-routes.d.ts.map +1 -1
  408. package/dist/web-server/routes/cliproxy-auth-routes.js +45 -13
  409. package/dist/web-server/routes/cliproxy-auth-routes.js.map +1 -1
  410. package/dist/web-server/routes/cliproxy-local-proxy.d.ts.map +1 -1
  411. package/dist/web-server/routes/cliproxy-local-proxy.js +25 -8
  412. package/dist/web-server/routes/cliproxy-local-proxy.js.map +1 -1
  413. package/dist/web-server/routes/cursor-routes.d.ts.map +1 -1
  414. package/dist/web-server/routes/cursor-routes.js +6 -1
  415. package/dist/web-server/routes/cursor-routes.js.map +1 -1
  416. package/dist/web-server/routes/image-analysis-routes.d.ts.map +1 -1
  417. package/dist/web-server/routes/image-analysis-routes.js +7 -0
  418. package/dist/web-server/routes/image-analysis-routes.js.map +1 -1
  419. package/dist/web-server/routes/index.d.ts.map +1 -1
  420. package/dist/web-server/routes/index.js +18 -0
  421. package/dist/web-server/routes/index.js.map +1 -1
  422. package/dist/web-server/routes/profile-routes.d.ts.map +1 -1
  423. package/dist/web-server/routes/profile-routes.js +6 -1
  424. package/dist/web-server/routes/profile-routes.js.map +1 -1
  425. package/dist/web-server/routes/settings-routes.d.ts.map +1 -1
  426. package/dist/web-server/routes/settings-routes.js +10 -1
  427. package/dist/web-server/routes/settings-routes.js.map +1 -1
  428. package/dist/web-server/services/claude-extension-settings-service.d.ts.map +1 -1
  429. package/dist/web-server/services/claude-extension-settings-service.js +5 -1
  430. package/dist/web-server/services/claude-extension-settings-service.js.map +1 -1
  431. package/dist/web-server/usage/bar-analytics.d.ts +101 -0
  432. package/dist/web-server/usage/bar-analytics.d.ts.map +1 -0
  433. package/dist/web-server/usage/bar-analytics.js +315 -0
  434. package/dist/web-server/usage/bar-analytics.js.map +1 -0
  435. package/dist/web-server/usage/claude-native-credentials.d.ts +56 -0
  436. package/dist/web-server/usage/claude-native-credentials.d.ts.map +1 -0
  437. package/dist/web-server/usage/claude-native-credentials.js +140 -0
  438. package/dist/web-server/usage/claude-native-credentials.js.map +1 -0
  439. package/dist/web-server/usage/cliproxy-snapshot-reader.d.ts +24 -0
  440. package/dist/web-server/usage/cliproxy-snapshot-reader.d.ts.map +1 -0
  441. package/dist/web-server/usage/cliproxy-snapshot-reader.js +82 -0
  442. package/dist/web-server/usage/cliproxy-snapshot-reader.js.map +1 -0
  443. package/dist/web-server/usage/cliproxy-usage-syncer.d.ts +3 -2
  444. package/dist/web-server/usage/cliproxy-usage-syncer.d.ts.map +1 -1
  445. package/dist/web-server/usage/cliproxy-usage-syncer.js +46 -13
  446. package/dist/web-server/usage/cliproxy-usage-syncer.js.map +1 -1
  447. package/dist/web-server/usage/cliproxy-usage-transformer.d.ts +9 -3
  448. package/dist/web-server/usage/cliproxy-usage-transformer.d.ts.map +1 -1
  449. package/dist/web-server/usage/cliproxy-usage-transformer.js +133 -19
  450. package/dist/web-server/usage/cliproxy-usage-transformer.js.map +1 -1
  451. package/dist/web-server/usage/codex-local-quota-collector.d.ts +74 -0
  452. package/dist/web-server/usage/codex-local-quota-collector.d.ts.map +1 -0
  453. package/dist/web-server/usage/codex-local-quota-collector.js +250 -0
  454. package/dist/web-server/usage/codex-local-quota-collector.js.map +1 -0
  455. package/dist/web-server/usage/codex-native-usage-collector.d.ts.map +1 -1
  456. package/dist/web-server/usage/codex-native-usage-collector.js +18 -2
  457. package/dist/web-server/usage/codex-native-usage-collector.js.map +1 -1
  458. package/dist/web-server/usage/data-aggregator.d.ts +11 -0
  459. package/dist/web-server/usage/data-aggregator.d.ts.map +1 -1
  460. package/dist/web-server/usage/data-aggregator.js +29 -1
  461. package/dist/web-server/usage/data-aggregator.js.map +1 -1
  462. package/dist/web-server/usage/native-quota-collector.d.ts +44 -0
  463. package/dist/web-server/usage/native-quota-collector.d.ts.map +1 -0
  464. package/dist/web-server/usage/native-quota-collector.js +378 -0
  465. package/dist/web-server/usage/native-quota-collector.js.map +1 -0
  466. package/dist/web-server/usage/profile-filter.d.ts +1 -1
  467. package/dist/web-server/usage/profile-filter.d.ts.map +1 -1
  468. package/dist/web-server/usage/profile-filter.js +6 -1
  469. package/dist/web-server/usage/profile-filter.js.map +1 -1
  470. package/dist/web-server/usage/types.d.ts +2 -0
  471. package/dist/web-server/usage/types.d.ts.map +1 -1
  472. package/lib/mcp/ccs-browser-server.cjs +31 -15
  473. package/package.json +1 -1
  474. package/scripts/completion/ccs.bash +0 -12
  475. package/scripts/completion/ccs.fish +0 -11
  476. package/scripts/completion/ccs.ps1 +0 -10
  477. package/scripts/completion/ccs.zsh +0 -13
  478. package/scripts/github/stable-release-issue-cleanup-lib.mjs +115 -0
  479. package/scripts/github/stable-release-issue-cleanup.mjs +134 -0
  480. package/dist/ui/assets/accounts-BPJltru3.js +0 -1
  481. package/dist/ui/assets/api-BxPN-zy4.js +0 -4
  482. package/dist/ui/assets/claude-extension-CWpjmIGt.js +0 -1
  483. package/dist/ui/assets/cliproxy-K6eBb5VO.js +0 -4
  484. package/dist/ui/assets/cliproxy-control-panel-Cz5r7kHP.js +0 -1
  485. package/dist/ui/assets/health-hMLN_gyw.js +0 -1
  486. package/dist/ui/assets/icons-DzKUh8vG.js +0 -1
  487. package/dist/ui/assets/index-BMoGhs28.css +0 -1
  488. package/dist/ui/assets/index-COt1pbk-.js +0 -1
  489. package/dist/ui/assets/index-CcGVqYOy.js +0 -56
  490. package/dist/ui/assets/index-DkR2KVhF.js +0 -1
  491. package/dist/ui/assets/logs-BRFVfyLc.js +0 -1
  492. package/dist/ui/assets/proxy-status-widget-s1UWOE23.js +0 -1
  493. package/dist/ui/assets/updates-CDrm903n.js +0 -1
@@ -50,6 +50,7 @@ async function fetchCliproxyRoutingResponse(target, method, body) {
50
50
  clearTimeout(timeoutId);
51
51
  }
52
52
  }
53
+ const requestUrl = new URL(url);
53
54
  return new Promise((resolve, reject) => {
54
55
  const agent = new https.Agent({ rejectUnauthorized: false });
55
56
  let settled = false;
@@ -60,44 +61,52 @@ async function fetchCliproxyRoutingResponse(target, method, body) {
60
61
  clearTimeout(timeoutId);
61
62
  callback();
62
63
  };
64
+ let req;
63
65
  const timeoutId = setTimeout(() => {
64
66
  const error = new Error('Request timeout');
65
- req.destroy(error);
67
+ req?.destroy(error);
66
68
  settle(() => reject(error));
67
69
  }, ROUTING_TIMEOUT_MS);
68
- const req = https.request(url, {
69
- method,
70
- headers,
71
- agent,
72
- timeout: ROUTING_TIMEOUT_MS,
73
- }, (res) => {
74
- let payload = '';
75
- res.setEncoding('utf8');
76
- res.on('data', (chunk) => {
77
- payload += chunk;
78
- });
79
- res.on('end', () => {
80
- settle(() => resolve(new Response(payload, {
81
- status: res.statusCode || 500,
82
- statusText: res.statusMessage ?? '',
83
- headers: typeof res.headers['content-type'] === 'string'
84
- ? { 'Content-Type': res.headers['content-type'] }
85
- : undefined,
86
- })));
70
+ try {
71
+ req = https.request(requestUrl, {
72
+ method,
73
+ headers,
74
+ agent,
75
+ timeout: ROUTING_TIMEOUT_MS,
76
+ }, (res) => {
77
+ let payload = '';
78
+ res.setEncoding('utf8');
79
+ res.on('data', (chunk) => {
80
+ payload += chunk;
81
+ });
82
+ res.on('end', () => {
83
+ settle(() => resolve(new Response(payload, {
84
+ status: res.statusCode || 500,
85
+ statusText: res.statusMessage ?? '',
86
+ headers: typeof res.headers['content-type'] === 'string'
87
+ ? { 'Content-Type': res.headers['content-type'] }
88
+ : undefined,
89
+ })));
90
+ });
87
91
  });
88
- });
89
- req.on('error', (error) => {
92
+ }
93
+ catch (error) {
94
+ settle(() => reject(error));
95
+ return;
96
+ }
97
+ const request = req;
98
+ request.on('error', (error) => {
90
99
  settle(() => reject(error));
91
100
  });
92
- req.on('timeout', () => {
101
+ request.on('timeout', () => {
93
102
  const error = new Error('Request timeout');
94
- req.destroy(error);
103
+ request.destroy(error);
95
104
  settle(() => reject(error));
96
105
  });
97
106
  if (body) {
98
- req.write(JSON.stringify(body));
107
+ request.write(JSON.stringify(body));
99
108
  }
100
- req.end();
109
+ request.end();
101
110
  });
102
111
  }
103
112
  exports.fetchCliproxyRoutingResponse = fetchCliproxyRoutingResponse;
@@ -1 +1 @@
1
- {"version":3,"file":"routing-strategy-http.js","sourceRoot":"","sources":["../../../src/cliproxy/routing/routing-strategy-http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routing-strategy-http.js","sourceRoot":"","sources":["../../../src/cliproxy/routing/routing-strategy-http.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,138 @@ import type { CliproxyRoutingStrategy } from '../types';
2
2
  export declare const DEFAULT_CLIPROXY_ROUTING_STRATEGY: CliproxyRoutingStrategy;
3
3
  export declare const DEFAULT_CLIPROXY_SESSION_AFFINITY_ENABLED = false;
4
4
  export declare const DEFAULT_CLIPROXY_SESSION_AFFINITY_TTL = "1h";
5
+ /**
6
+ * Pool routing defaults written to config when pool routing is enabled.
7
+ * fill-first + session affinity drains one account before using another,
8
+ * maximising per-account context depth while honouring cooldown windows.
9
+ */
10
+ export declare const POOL_ROUTING_STRATEGY: CliproxyRoutingStrategy;
11
+ export declare const POOL_SESSION_AFFINITY_ENABLED = true;
12
+ export declare const POOL_SESSION_AFFINITY_TTL = "1h";
13
+ export declare const POOL_MAX_RETRY_CREDENTIALS = 3;
14
+ /**
15
+ * Providers for which pool routing is available and the opt-in prompt
16
+ * shows the full cooling/routing disclosure. Others (codex, gemini)
17
+ * have failover behaviour that is unverified for pool routing; they get
18
+ * a softened prompt variant or no prompt until spike Test D confirms.
19
+ */
20
+ export declare const POOL_ROUTING_VERIFIED_PROVIDERS: Set<string>;
21
+ /**
22
+ * Minimum CLIProxy version that supports pool routing keys:
23
+ * max-retry-credentials and the cooling flip.
24
+ * Older binaries silently ignore unknown keys — pool rails would appear active
25
+ * but have no effect. Warn the user at enable time if below this version.
26
+ *
27
+ * NOTE: Update this constant when upstream first ships these keys.
28
+ * Current best estimate based on spec; adjust after spike Test D confirms.
29
+ */
30
+ export declare const POOL_ROUTING_MIN_VERSION = "6.9.45";
31
+ export interface EnablePoolRoutingResult {
32
+ /** Whether the pool routing state actually changed */
33
+ changed: boolean;
34
+ /** Whether an existing explicit user routing setting was preserved */
35
+ preservedExplicitSetting: boolean;
36
+ /**
37
+ * True when the config could not be regenerated and the pool flag was rolled
38
+ * back. Pool routing is NOT active; the message carries recovery guidance.
39
+ */
40
+ failed?: boolean;
41
+ message: string;
42
+ }
43
+ export interface DisablePoolRoutingResult {
44
+ changed: boolean;
45
+ /** True when the config could not be regenerated and the flag was rolled back. */
46
+ failed?: boolean;
47
+ message: string;
48
+ }
49
+ /**
50
+ * Detect whether the user has set a routing strategy that differs from the
51
+ * injected default (round-robin).
52
+ *
53
+ * Background: loadOrCreateUnifiedConfig persists injected defaults to disk on
54
+ * first load, so `strategy: round-robin` may appear in the raw YAML even on a
55
+ * pristine config — it was injected by CCS, not written by the user. A stored
56
+ * value EQUAL to the default is therefore treated as NOT explicit so that
57
+ * enablePoolRouting does not falsely claim to be "preserving a custom strategy".
58
+ *
59
+ * A value that DIFFERS from the default (e.g. fill-first) is treated as
60
+ * user-managed: preserve it and warn.
61
+ */
62
+ export declare function hasExplicitRoutingStrategy(): boolean;
63
+ /**
64
+ * Detect whether the user has set session-affinity to a value that differs
65
+ * from the injected default (false).
66
+ *
67
+ * Same rationale as hasExplicitRoutingStrategy: loadOrCreateUnifiedConfig may
68
+ * persist `session_affinity: false` as a default, so presence alone is not
69
+ * sufficient — only a value that differs from the default counts as explicit.
70
+ */
71
+ export declare function hasExplicitSessionAffinity(): boolean;
72
+ /**
73
+ * Enable pool routing: write pool_routing.enabled = true and the canonical
74
+ * pool defaults (fill-first, session affinity 1h, max-retry-credentials: 3)
75
+ * to the CCS unified config. Regenerates the CLIProxy config.yaml so the
76
+ * cooling flip and routing block take effect immediately (CLIProxy hot-reloads).
77
+ *
78
+ * Explicit user routing settings are preserved and a warning is emitted.
79
+ * The pool flag is written regardless — the generator uses fill-first/affinity
80
+ * from the pool defaults when pool is enabled, bypassing any stored routing.
81
+ *
82
+ * Idempotent: calling when already enabled is a no-op.
83
+ */
84
+ export declare function enablePoolRouting(port: number, options?: {
85
+ configPath?: string;
86
+ authDir?: string;
87
+ }): EnablePoolRoutingResult;
88
+ /**
89
+ * Disable pool routing: clear pool_routing.enabled and restore the non-pool
90
+ * config defaults (disable-cooling: true, round-robin, no affinity).
91
+ * Regenerates the CLIProxy config.yaml.
92
+ *
93
+ * IMPORTANT: disablePoolRouting MUST explicitly restore routing to round-robin
94
+ * and session_affinity to false. Simply clearing pool_routing.enabled is not
95
+ * sufficient because the upstream CLIProxy default for disable-cooling is false
96
+ * (cooling ON) when the key is absent. Leaving cooling ON for a user who has
97
+ * disabled pool routing would reintroduce the single-account blackout that v5
98
+ * (commit fb77d72a) fixed.
99
+ *
100
+ * Idempotent: calling when already disabled is a no-op.
101
+ */
102
+ export declare function disablePoolRouting(port: number, options?: {
103
+ configPath?: string;
104
+ authDir?: string;
105
+ }): DisablePoolRoutingResult;
106
+ /**
107
+ * Pool routing mode summary surfaced alongside routing state for the dashboard.
108
+ * When pool routing is enabled the generator forces fill-first + session affinity
109
+ * + cooling, regardless of stored routing values.
110
+ */
111
+ export interface CliproxyPoolRoutingState {
112
+ enabled: boolean;
113
+ maxRetryCredentials?: number;
114
+ /**
115
+ * Whether CCS can manage pool routing for this target. enablePoolRouting only
116
+ * writes LOCAL config files, so a remote proxy is never affected by the local
117
+ * pool flag. For remote targets this is false and `enabled` reflects the local
118
+ * config only (not the remote proxy's behaviour). Omitted (treated as true)
119
+ * for local targets. Mirrors CliproxySessionAffinityState.manageable.
120
+ */
121
+ manageable?: boolean;
122
+ /** Explanation surfaced when manageable is false (remote target). */
123
+ message?: string;
124
+ }
5
125
  export interface CliproxyRoutingState {
6
126
  strategy: CliproxyRoutingStrategy;
7
127
  source: 'live' | 'config';
8
128
  target: 'local' | 'remote';
9
129
  reachable: boolean;
10
130
  message?: string;
131
+ /**
132
+ * Pool routing mode. For local targets `enabled` reflects the active proxy
133
+ * config. For remote targets `manageable` is false and `enabled` reflects only
134
+ * the local config (the remote proxy is not affected by it).
135
+ */
136
+ poolRouting?: CliproxyPoolRoutingState;
11
137
  }
12
138
  export interface CliproxyRoutingApplyResult extends CliproxyRoutingState {
13
139
  applied: 'live' | 'live-and-config' | 'config-only';
@@ -34,6 +160,12 @@ export declare function normalizeCliproxySessionAffinityTtl(value: unknown): str
34
160
  export declare function getConfiguredCliproxyRoutingStrategy(): CliproxyRoutingStrategy;
35
161
  export declare function getConfiguredCliproxySessionAffinitySettings(): Required<CliproxySessionAffinitySettings>;
36
162
  export declare function fetchLiveCliproxyRoutingStrategy(): Promise<CliproxyRoutingStrategy>;
163
+ /**
164
+ * Read the pool routing mode from the unified config.
165
+ * Pool routing is proxy-wide opt-in; this reflects the persisted flag, not a
166
+ * live selector probe.
167
+ */
168
+ export declare function getCliproxyPoolRoutingState(): CliproxyPoolRoutingState;
37
169
  export declare function readCliproxyRoutingState(): Promise<CliproxyRoutingState>;
38
170
  export declare function readCliproxySessionAffinityState(): Promise<CliproxySessionAffinityState>;
39
171
  export declare function applyCliproxyRoutingStrategy(strategy: CliproxyRoutingStrategy): Promise<CliproxyRoutingApplyResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"routing-strategy.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/routing/routing-strategy.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAGxD,eAAO,MAAM,iCAAiC,EAAE,uBAAuC,CAAC;AACxF,eAAO,MAAM,yCAAyC,QAAQ,CAAC;AAC/D,eAAO,MAAM,qCAAqC,OAAO,CAAC;AAK1D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,uBAAuB,CAAC;IAClC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC1B,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA2B,SAAQ,oBAAoB;IACtE,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,aAAa,CAAC;CACrD;AAED,MAAM,WAAW,+BAA+B;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,aAAa,CAAC;IACjC,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kCAAmC,SAAQ,4BAA4B;IACtF,OAAO,EAAE,aAAa,GAAG,aAAa,CAAC;CACxC;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,OAAO,GAAG,uBAAuB,GAAG,IAAI,CAiB/F;AAED,wBAAgB,uCAAuC,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CA0BtF;AAED,wBAAgB,mCAAmC,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAWjF;AAED,wBAAgB,oCAAoC,IAAI,uBAAuB,CAK9E;AAED,wBAAgB,4CAA4C,IAAI,QAAQ,CAAC,+BAA+B,CAAC,CAUxG;AAED,wBAAsB,gCAAgC,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAezF;AAED,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,oBAAoB,CAAC,CA4B9E;AAED,wBAAsB,gCAAgC,IAAI,OAAO,CAAC,4BAA4B,CAAC,CA8B9F;AAED,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,uBAAuB,GAChC,OAAO,CAAC,0BAA0B,CAAC,CA4CrC;AAED,wBAAsB,oCAAoC,CACxD,QAAQ,EAAE,+BAA+B,GACxC,OAAO,CAAC,kCAAkC,CAAC,CAgD7C"}
1
+ {"version":3,"file":"routing-strategy.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/routing/routing-strategy.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAMxD,eAAO,MAAM,iCAAiC,EAAE,uBAAuC,CAAC;AACxF,eAAO,MAAM,yCAAyC,QAAQ,CAAC;AAC/D,eAAO,MAAM,qCAAqC,OAAO,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,uBAAsC,CAAC;AAC3E,eAAO,MAAM,6BAA6B,OAAO,CAAC;AAClD,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAC9C,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,aAA6B,CAAC;AAE1E;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,WAAW,CAAC;AAsBjD,MAAM,WAAW,uBAAuB;IACtC,sDAAsD;IACtD,OAAO,EAAE,OAAO,CAAC;IACjB,sEAAsE;IACtE,wBAAwB,EAAE,OAAO,CAAC;IAClC;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,kFAAkF;IAClF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAmCD;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,IAAI,OAAO,CAKpD;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,IAAI,OAAO,CAKpD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GACtD,uBAAuB,CAwFzB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GACtD,wBAAwB,CA8C1B;AAKD;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,uBAAuB,CAAC;IAClC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC1B,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,WAAW,CAAC,EAAE,wBAAwB,CAAC;CACxC;AAED,MAAM,WAAW,0BAA2B,SAAQ,oBAAoB;IACtE,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,aAAa,CAAC;CACrD;AAED,MAAM,WAAW,+BAA+B;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,aAAa,CAAC;IACjC,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kCAAmC,SAAQ,4BAA4B;IACtF,OAAO,EAAE,aAAa,GAAG,aAAa,CAAC;CACxC;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,OAAO,GAAG,uBAAuB,GAAG,IAAI,CAiB/F;AAED,wBAAgB,uCAAuC,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CA0BtF;AAED,wBAAgB,mCAAmC,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAWjF;AAED,wBAAgB,oCAAoC,IAAI,uBAAuB,CAK9E;AAED,wBAAgB,4CAA4C,IAAI,QAAQ,CAAC,+BAA+B,CAAC,CAUxG;AAED,wBAAsB,gCAAgC,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAezF;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,IAAI,wBAAwB,CAYtE;AAED,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,oBAAoB,CAAC,CA4C9E;AAED,wBAAsB,gCAAgC,IAAI,OAAO,CAAC,4BAA4B,CAAC,CA8B9F;AAED,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,uBAAuB,GAChC,OAAO,CAAC,0BAA0B,CAAC,CAkDrC;AAED,wBAAsB,oCAAoC,CACxD,QAAQ,EAAE,+BAA+B,GACxC,OAAO,CAAC,kCAAkC,CAAC,CAsD7C"}