@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.
- package/README.md +12 -0
- package/config/base-claude.settings.json +1 -5
- package/dist/api/services/cliproxy-profile-bridge.d.ts.map +1 -1
- package/dist/api/services/cliproxy-profile-bridge.js +6 -0
- package/dist/api/services/cliproxy-profile-bridge.js.map +1 -1
- package/dist/api/services/profile-writer.d.ts.map +1 -1
- package/dist/api/services/profile-writer.js +18 -8
- package/dist/api/services/profile-writer.js.map +1 -1
- package/dist/auth/commands/create-command.d.ts.map +1 -1
- package/dist/auth/commands/create-command.js +11 -0
- package/dist/auth/commands/create-command.js.map +1 -1
- package/dist/cliproxy/accounts/account-safety-cross-lane.d.ts +41 -0
- package/dist/cliproxy/accounts/account-safety-cross-lane.d.ts.map +1 -0
- package/dist/cliproxy/accounts/account-safety-cross-lane.js +177 -0
- package/dist/cliproxy/accounts/account-safety-cross-lane.js.map +1 -0
- package/dist/cliproxy/accounts/account-safety.d.ts +29 -1
- package/dist/cliproxy/accounts/account-safety.d.ts.map +1 -1
- package/dist/cliproxy/accounts/account-safety.js +41 -7
- package/dist/cliproxy/accounts/account-safety.js.map +1 -1
- package/dist/cliproxy/accounts/drain-order.d.ts +277 -0
- package/dist/cliproxy/accounts/drain-order.d.ts.map +1 -0
- package/dist/cliproxy/accounts/drain-order.js +575 -0
- package/dist/cliproxy/accounts/drain-order.js.map +1 -0
- package/dist/cliproxy/accounts/pool-state.d.ts +132 -0
- package/dist/cliproxy/accounts/pool-state.d.ts.map +1 -0
- package/dist/cliproxy/accounts/pool-state.js +201 -0
- package/dist/cliproxy/accounts/pool-state.js.map +1 -0
- package/dist/cliproxy/accounts/registry.d.ts +17 -1
- package/dist/cliproxy/accounts/registry.d.ts.map +1 -1
- package/dist/cliproxy/accounts/registry.js +47 -1
- package/dist/cliproxy/accounts/registry.js.map +1 -1
- package/dist/cliproxy/accounts/types.d.ts +20 -0
- package/dist/cliproxy/accounts/types.d.ts.map +1 -1
- package/dist/cliproxy/auth/oauth-handler.d.ts.map +1 -1
- package/dist/cliproxy/auth/oauth-handler.js +29 -0
- package/dist/cliproxy/auth/oauth-handler.js.map +1 -1
- package/dist/cliproxy/binary/platform-detector.d.ts.map +1 -1
- package/dist/cliproxy/binary/platform-detector.js +34 -1
- package/dist/cliproxy/binary/platform-detector.js.map +1 -1
- package/dist/cliproxy/binary/types.d.ts +3 -0
- package/dist/cliproxy/binary/types.d.ts.map +1 -1
- package/dist/cliproxy/binary/types.js +7 -2
- package/dist/cliproxy/binary/types.js.map +1 -1
- package/dist/cliproxy/binary/version-cache.d.ts.map +1 -1
- package/dist/cliproxy/binary/version-cache.js +4 -0
- package/dist/cliproxy/binary/version-cache.js.map +1 -1
- package/dist/cliproxy/claude-shadow-warning.d.ts +39 -0
- package/dist/cliproxy/claude-shadow-warning.d.ts.map +1 -0
- package/dist/cliproxy/claude-shadow-warning.js +187 -0
- package/dist/cliproxy/claude-shadow-warning.js.map +1 -0
- package/dist/cliproxy/config/base-config-loader.d.ts +6 -5
- package/dist/cliproxy/config/base-config-loader.d.ts.map +1 -1
- package/dist/cliproxy/config/base-config-loader.js +19 -12
- package/dist/cliproxy/config/base-config-loader.js.map +1 -1
- package/dist/cliproxy/config/env-builder.d.ts +3 -0
- package/dist/cliproxy/config/env-builder.d.ts.map +1 -1
- package/dist/cliproxy/config/env-builder.js +158 -20
- package/dist/cliproxy/config/env-builder.js.map +1 -1
- package/dist/cliproxy/config/generator.d.ts +2 -1
- package/dist/cliproxy/config/generator.d.ts.map +1 -1
- package/dist/cliproxy/config/generator.js +66 -9
- package/dist/cliproxy/config/generator.js.map +1 -1
- package/dist/cliproxy/config/thinking-config.d.ts.map +1 -1
- package/dist/cliproxy/config/thinking-config.js +2 -0
- package/dist/cliproxy/config/thinking-config.js.map +1 -1
- package/dist/cliproxy/executor/account-resolution.d.ts.map +1 -1
- package/dist/cliproxy/executor/account-resolution.js +5 -0
- package/dist/cliproxy/executor/account-resolution.js.map +1 -1
- package/dist/cliproxy/executor/auth-coordinator.d.ts +4 -0
- package/dist/cliproxy/executor/auth-coordinator.d.ts.map +1 -1
- package/dist/cliproxy/executor/auth-coordinator.js +5 -1
- package/dist/cliproxy/executor/auth-coordinator.js.map +1 -1
- package/dist/cliproxy/executor/index.d.ts.map +1 -1
- package/dist/cliproxy/executor/index.js +20 -0
- package/dist/cliproxy/executor/index.js.map +1 -1
- package/dist/cliproxy/model-catalog.d.ts.map +1 -1
- package/dist/cliproxy/model-catalog.js +15 -0
- package/dist/cliproxy/model-catalog.js.map +1 -1
- package/dist/cliproxy/proxy/upstream-response-timeout.d.ts.map +1 -1
- package/dist/cliproxy/proxy/upstream-response-timeout.js +8 -1
- package/dist/cliproxy/proxy/upstream-response-timeout.js.map +1 -1
- package/dist/cliproxy/quota/quota-fetcher-claude.d.ts +9 -0
- package/dist/cliproxy/quota/quota-fetcher-claude.d.ts.map +1 -1
- package/dist/cliproxy/quota/quota-fetcher-claude.js +53 -16
- package/dist/cliproxy/quota/quota-fetcher-claude.js.map +1 -1
- package/dist/cliproxy/quota/quota-fetcher.d.ts.map +1 -1
- package/dist/cliproxy/quota/quota-fetcher.js +4 -0
- package/dist/cliproxy/quota/quota-fetcher.js.map +1 -1
- package/dist/cliproxy/quota/quota-manager.d.ts +7 -0
- package/dist/cliproxy/quota/quota-manager.d.ts.map +1 -1
- package/dist/cliproxy/quota/quota-manager.js +51 -2
- package/dist/cliproxy/quota/quota-manager.js.map +1 -1
- package/dist/cliproxy/routing/pool-onboarding-hint.d.ts +95 -0
- package/dist/cliproxy/routing/pool-onboarding-hint.d.ts.map +1 -0
- package/dist/cliproxy/routing/pool-onboarding-hint.js +172 -0
- package/dist/cliproxy/routing/pool-onboarding-hint.js.map +1 -0
- package/dist/cliproxy/routing/pool-opt-in-prompt.d.ts +50 -0
- package/dist/cliproxy/routing/pool-opt-in-prompt.d.ts.map +1 -0
- package/dist/cliproxy/routing/pool-opt-in-prompt.js +232 -0
- package/dist/cliproxy/routing/pool-opt-in-prompt.js.map +1 -0
- package/dist/cliproxy/routing/routing-strategy.d.ts +132 -0
- package/dist/cliproxy/routing/routing-strategy.d.ts.map +1 -1
- package/dist/cliproxy/routing/routing-strategy.js +342 -5
- package/dist/cliproxy/routing/routing-strategy.js.map +1 -1
- package/dist/cliproxy/services/stats-fetcher.d.ts +13 -0
- package/dist/cliproxy/services/stats-fetcher.d.ts.map +1 -1
- package/dist/cliproxy/services/stats-fetcher.js +25 -1
- package/dist/cliproxy/services/stats-fetcher.js.map +1 -1
- package/dist/commands/bar/help-subcommand.d.ts +2 -0
- package/dist/commands/bar/help-subcommand.d.ts.map +1 -0
- package/dist/commands/bar/help-subcommand.js +63 -0
- package/dist/commands/bar/help-subcommand.js.map +1 -0
- package/dist/commands/bar/index.d.ts +8 -0
- package/dist/commands/bar/index.d.ts.map +1 -0
- package/dist/commands/bar/index.js +78 -0
- package/dist/commands/bar/index.js.map +1 -0
- package/dist/commands/bar/install-subcommand.d.ts +92 -0
- package/dist/commands/bar/install-subcommand.d.ts.map +1 -0
- package/dist/commands/bar/install-subcommand.js +605 -0
- package/dist/commands/bar/install-subcommand.js.map +1 -0
- package/dist/commands/bar/launch-subcommand.d.ts +64 -0
- package/dist/commands/bar/launch-subcommand.d.ts.map +1 -0
- package/dist/commands/bar/launch-subcommand.js +236 -0
- package/dist/commands/bar/launch-subcommand.js.map +1 -0
- package/dist/commands/bar/uninstall-subcommand.d.ts +13 -0
- package/dist/commands/bar/uninstall-subcommand.d.ts.map +1 -0
- package/dist/commands/bar/uninstall-subcommand.js +78 -0
- package/dist/commands/bar/uninstall-subcommand.js.map +1 -0
- package/dist/commands/bar/version-subcommand.d.ts +8 -0
- package/dist/commands/bar/version-subcommand.d.ts.map +1 -0
- package/dist/commands/bar/version-subcommand.js +62 -0
- package/dist/commands/bar/version-subcommand.js.map +1 -0
- package/dist/commands/cliproxy/help-subcommand.d.ts.map +1 -1
- package/dist/commands/cliproxy/help-subcommand.js +20 -1
- package/dist/commands/cliproxy/help-subcommand.js.map +1 -1
- package/dist/commands/cliproxy/index.d.ts.map +1 -1
- package/dist/commands/cliproxy/index.js +20 -0
- package/dist/commands/cliproxy/index.js.map +1 -1
- package/dist/commands/cliproxy/order-subcommand.d.ts +16 -0
- package/dist/commands/cliproxy/order-subcommand.d.ts.map +1 -0
- package/dist/commands/cliproxy/order-subcommand.js +520 -0
- package/dist/commands/cliproxy/order-subcommand.js.map +1 -0
- package/dist/commands/cliproxy/pool-state-renderer.d.ts +40 -0
- package/dist/commands/cliproxy/pool-state-renderer.d.ts.map +1 -0
- package/dist/commands/cliproxy/pool-state-renderer.js +220 -0
- package/dist/commands/cliproxy/pool-state-renderer.js.map +1 -0
- package/dist/commands/cliproxy/pool-subcommand.d.ts +10 -0
- package/dist/commands/cliproxy/pool-subcommand.d.ts.map +1 -0
- package/dist/commands/cliproxy/pool-subcommand.js +112 -0
- package/dist/commands/cliproxy/pool-subcommand.js.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand.d.ts.map +1 -1
- package/dist/commands/cliproxy/quota-subcommand.js +7 -0
- package/dist/commands/cliproxy/quota-subcommand.js.map +1 -1
- package/dist/commands/cliproxy/routing-subcommand.d.ts.map +1 -1
- package/dist/commands/cliproxy/routing-subcommand.js +19 -0
- package/dist/commands/cliproxy/routing-subcommand.js.map +1 -1
- package/dist/commands/command-catalog.d.ts.map +1 -1
- package/dist/commands/command-catalog.js +7 -0
- package/dist/commands/command-catalog.js.map +1 -1
- package/dist/commands/help-command.d.ts.map +1 -1
- package/dist/commands/help-command.js +6 -1
- package/dist/commands/help-command.js.map +1 -1
- package/dist/commands/root-command-router.d.ts.map +1 -1
- package/dist/commands/root-command-router.js +7 -0
- package/dist/commands/root-command-router.js.map +1 -1
- package/dist/config/loader/yaml-serializer.d.ts.map +1 -1
- package/dist/config/loader/yaml-serializer.js +13 -0
- package/dist/config/loader/yaml-serializer.js.map +1 -1
- package/dist/config/schemas/cliproxy.d.ts +37 -0
- package/dist/config/schemas/cliproxy.d.ts.map +1 -1
- package/dist/config/schemas/quota.d.ts +26 -2
- package/dist/config/schemas/quota.d.ts.map +1 -1
- package/dist/config/schemas/quota.js +20 -1
- package/dist/config/schemas/quota.js.map +1 -1
- package/dist/config/unified-config-loader.d.ts.map +1 -1
- package/dist/config/unified-config-loader.js +3 -0
- package/dist/config/unified-config-loader.js.map +1 -1
- package/dist/dispatcher/flows/account-flow.d.ts.map +1 -1
- package/dist/dispatcher/flows/account-flow.js +9 -0
- package/dist/dispatcher/flows/account-flow.js.map +1 -1
- package/dist/glmt/delta-accumulator.d.ts.map +1 -1
- package/dist/glmt/delta-accumulator.js +1 -0
- package/dist/glmt/delta-accumulator.js.map +1 -1
- package/dist/management/doctor.d.ts.map +1 -1
- package/dist/management/doctor.js +10 -0
- package/dist/management/doctor.js.map +1 -1
- package/dist/proxy/profile-router.d.ts +14 -0
- package/dist/proxy/profile-router.d.ts.map +1 -1
- package/dist/proxy/profile-router.js +1 -0
- package/dist/proxy/profile-router.js.map +1 -1
- package/dist/proxy/server/http-helpers.d.ts +5 -0
- package/dist/proxy/server/http-helpers.d.ts.map +1 -1
- package/dist/proxy/server/http-helpers.js +40 -1
- package/dist/proxy/server/http-helpers.js.map +1 -1
- package/dist/proxy/server/messages-route.d.ts.map +1 -1
- package/dist/proxy/server/messages-route.js +173 -10
- package/dist/proxy/server/messages-route.js.map +1 -1
- package/dist/proxy/upstream-url.d.ts +42 -2
- package/dist/proxy/upstream-url.d.ts.map +1 -1
- package/dist/proxy/upstream-url.js +83 -4
- package/dist/proxy/upstream-url.js.map +1 -1
- package/dist/ui/assets/{Trans-DsGR5Bhb.js → Trans-RG_sMDEu.js} +1 -1
- package/dist/ui/assets/accounts-yTXURc-q.js +1 -0
- package/dist/ui/assets/{alert-dialog-Do0XfN46.js → alert-dialog-DjvPgzFs.js} +1 -1
- package/dist/ui/assets/{api-B7OYas_V.js → api-Ck1dtNEM.js} +3 -3
- package/dist/ui/assets/{auth-section-BmTeNetL.js → auth-section-DBnY_LPz.js} +1 -1
- package/dist/ui/assets/{backups-section-COawLfTr.js → backups-section-Ci-uL4Of.js} +1 -1
- package/dist/ui/assets/{channels-C9LVYmNJ.js → channels-BeS9O5q0.js} +1 -1
- package/dist/ui/assets/{checkbox-BkFzg8C-.js → checkbox-DFeFDZBp.js} +1 -1
- package/dist/ui/assets/{claude-extension-Ch7L4lTF.js → claude-extension-DS5qN19Z.js} +1 -1
- package/dist/ui/assets/{cliproxy-B3uWt6gn.js → cliproxy-D7HJH4mZ.js} +1 -1
- package/dist/ui/assets/{cliproxy-ai-providers-Bn1_AdKD.js → cliproxy-ai-providers-oJQZXrtc.js} +1 -1
- package/dist/ui/assets/{cliproxy-control-panel-DC4pOOfY.js → cliproxy-control-panel-2mRPEcRj.js} +1 -1
- package/dist/ui/assets/codex-D0AUQ6jA.js +30 -0
- package/dist/ui/assets/{confirm-dialog-4rb-E8-R.js → confirm-dialog-B37-CVuq.js} +1 -1
- package/dist/ui/assets/{copilot-zgPXNkMw.js → copilot-KaaW-mko.js} +2 -2
- package/dist/ui/assets/{cursor-lRPpppk-.js → cursor-BKiTgYi5.js} +1 -1
- package/dist/ui/assets/{droid-koOj34SB.js → droid-DHdqGnFw.js} +2 -2
- package/dist/ui/assets/{globalenv-section-jOkPVwvN.js → globalenv-section-SfZO97nU.js} +1 -1
- package/dist/ui/assets/health-CSRS9O0D.js +1 -0
- package/dist/ui/assets/icons-DSLG1YsC.js +1 -0
- package/dist/ui/assets/{index-D7crOfea.js → index-CGgavq2X.js} +37 -37
- package/dist/ui/assets/{index-BLC5PyZn.js → index-ChTYEBCZ.js} +1 -1
- package/dist/ui/assets/index-Cu_F55_O.js +1 -0
- package/dist/ui/assets/{index-CRhKyfnS.js → index-DJ66NrBH.js} +1 -1
- package/dist/ui/assets/index-DWUuSBUe.js +1 -0
- package/dist/ui/assets/{index-BK-PSsqi.js → index-DycwEe96.js} +1 -1
- package/dist/ui/assets/index-DzFlVVV3.css +1 -0
- package/dist/ui/assets/{index-De3yNJ94.js → index-iQuEEGbH.js} +1 -1
- package/dist/ui/assets/{logs-BplpQHRb.js → logs-tiZ_51mo.js} +1 -1
- package/dist/ui/assets/{masked-input-DuLL3EwS.js → masked-input-D9FVoeMA.js} +1 -1
- package/dist/ui/assets/proxy-status-widget-2k26d8pS.js +1 -0
- package/dist/ui/assets/{raw-json-settings-editor-panel-ClPqZ6iZ.js → raw-json-settings-editor-panel-CguBh93H.js} +1 -1
- package/dist/ui/assets/{searchable-select-BH1b065u.js → searchable-select-C4wShshD.js} +1 -1
- package/dist/ui/assets/{separator-BOiJ0l4s.js → separator-mvGlDdEW.js} +1 -1
- package/dist/ui/assets/{shared-CunXigZu.js → shared-Ck0yAwbs.js} +1 -1
- package/dist/ui/assets/{table-C7ysR1Xz.js → table-DrUJOxKL.js} +1 -1
- package/dist/ui/assets/updates-BVHBFcq8.js +1 -0
- package/dist/ui/assets/{use-accounts-CwRU3ln9.js → use-accounts-DLtuaniS.js} +1 -1
- package/dist/ui/index.html +3 -3
- package/dist/utils/browser/mcp-installer.d.ts.map +1 -1
- package/dist/utils/browser/mcp-installer.js +5 -34
- package/dist/utils/browser/mcp-installer.js.map +1 -1
- package/dist/utils/claude-user-config-lock.d.ts +9 -0
- package/dist/utils/claude-user-config-lock.d.ts.map +1 -0
- package/dist/utils/claude-user-config-lock.js +96 -0
- package/dist/utils/claude-user-config-lock.js.map +1 -0
- package/dist/utils/image-analysis/mcp-installer.d.ts.map +1 -1
- package/dist/utils/image-analysis/mcp-installer.js +5 -34
- package/dist/utils/image-analysis/mcp-installer.js.map +1 -1
- package/dist/utils/websearch/mcp-installer.d.ts.map +1 -1
- package/dist/utils/websearch/mcp-installer.js +112 -78
- package/dist/utils/websearch/mcp-installer.js.map +1 -1
- package/dist/web-server/model-pricing.d.ts.map +1 -1
- package/dist/web-server/model-pricing.js +7 -0
- package/dist/web-server/model-pricing.js.map +1 -1
- package/dist/web-server/routes/account-routes.d.ts.map +1 -1
- package/dist/web-server/routes/account-routes.js +116 -0
- package/dist/web-server/routes/account-routes.js.map +1 -1
- package/dist/web-server/routes/bar-routes.d.ts +149 -0
- package/dist/web-server/routes/bar-routes.d.ts.map +1 -0
- package/dist/web-server/routes/bar-routes.js +415 -0
- package/dist/web-server/routes/bar-routes.js.map +1 -0
- package/dist/web-server/routes/index.d.ts.map +1 -1
- package/dist/web-server/routes/index.js +18 -0
- package/dist/web-server/routes/index.js.map +1 -1
- package/dist/web-server/usage/bar-analytics.d.ts +101 -0
- package/dist/web-server/usage/bar-analytics.d.ts.map +1 -0
- package/dist/web-server/usage/bar-analytics.js +315 -0
- package/dist/web-server/usage/bar-analytics.js.map +1 -0
- package/dist/web-server/usage/claude-native-credentials.d.ts +56 -0
- package/dist/web-server/usage/claude-native-credentials.d.ts.map +1 -0
- package/dist/web-server/usage/claude-native-credentials.js +140 -0
- package/dist/web-server/usage/claude-native-credentials.js.map +1 -0
- package/dist/web-server/usage/cliproxy-snapshot-reader.d.ts +24 -0
- package/dist/web-server/usage/cliproxy-snapshot-reader.d.ts.map +1 -0
- package/dist/web-server/usage/cliproxy-snapshot-reader.js +82 -0
- package/dist/web-server/usage/cliproxy-snapshot-reader.js.map +1 -0
- package/dist/web-server/usage/cliproxy-usage-syncer.d.ts +3 -2
- package/dist/web-server/usage/cliproxy-usage-syncer.d.ts.map +1 -1
- package/dist/web-server/usage/cliproxy-usage-syncer.js +14 -2
- package/dist/web-server/usage/cliproxy-usage-syncer.js.map +1 -1
- package/dist/web-server/usage/cliproxy-usage-transformer.d.ts +8 -1
- package/dist/web-server/usage/cliproxy-usage-transformer.d.ts.map +1 -1
- package/dist/web-server/usage/cliproxy-usage-transformer.js +31 -4
- package/dist/web-server/usage/cliproxy-usage-transformer.js.map +1 -1
- package/dist/web-server/usage/codex-local-quota-collector.d.ts +74 -0
- package/dist/web-server/usage/codex-local-quota-collector.d.ts.map +1 -0
- package/dist/web-server/usage/codex-local-quota-collector.js +250 -0
- package/dist/web-server/usage/codex-local-quota-collector.js.map +1 -0
- package/dist/web-server/usage/data-aggregator.d.ts +11 -0
- package/dist/web-server/usage/data-aggregator.d.ts.map +1 -1
- package/dist/web-server/usage/data-aggregator.js +29 -1
- package/dist/web-server/usage/data-aggregator.js.map +1 -1
- package/dist/web-server/usage/native-quota-collector.d.ts +44 -0
- package/dist/web-server/usage/native-quota-collector.d.ts.map +1 -0
- package/dist/web-server/usage/native-quota-collector.js +378 -0
- package/dist/web-server/usage/native-quota-collector.js.map +1 -0
- package/dist/web-server/usage/types.d.ts +2 -0
- package/dist/web-server/usage/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/scripts/run-test-bucket.js +183 -17
- package/dist/ui/assets/accounts-DHBmHeH-.js +0 -1
- package/dist/ui/assets/codex-CcODhykP.js +0 -30
- package/dist/ui/assets/health-CxHauE3Y.js +0 -1
- package/dist/ui/assets/icons-DzKUh8vG.js +0 -1
- package/dist/ui/assets/index-DOfPoKe_.css +0 -1
- package/dist/ui/assets/index-DUGnoURR.js +0 -1
- package/dist/ui/assets/index-I_ek1xyD.js +0 -1
- package/dist/ui/assets/proxy-status-widget-BruRPTSl.js +0 -1
- package/dist/ui/assets/updates-BtBCV2xk.js +0 -1
|
@@ -36,7 +36,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
36
36
|
return result;
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.stopQuotaMonitor = exports.startQuotaMonitor = exports.getQuotaStatus = exports.preflightCheck = exports.reconcileExhaustedRotationAccounts = exports.findHealthyAccount = exports.clearCooldown = exports.applyCooldown = exports.isOnCooldown = exports.clearQuotaCache = exports.setCachedQuota = exports.getCachedQuota = exports.isManagedQuotaProvider = exports.MANAGED_QUOTA_PROVIDERS = void 0;
|
|
39
|
+
exports.stopQuotaMonitor = exports.startQuotaMonitor = exports.getQuotaStatus = exports.preflightCheck = exports.reconcileExhaustedRotationAccounts = exports.findHealthyAccount = exports.clearCooldown = exports.applyCooldown = exports.getCooldownUntil = exports.isOnCooldown = exports.clearQuotaCache = exports.setCachedQuota = exports.getCachedQuota = exports.isManagedQuotaProvider = exports.MANAGED_QUOTA_PROVIDERS = void 0;
|
|
40
40
|
const quota_fetcher_1 = require("./quota-fetcher");
|
|
41
41
|
const quota_fetcher_claude_1 = require("./quota-fetcher-claude");
|
|
42
42
|
const quota_fetcher_codex_1 = require("./quota-fetcher-codex");
|
|
@@ -44,6 +44,7 @@ const quota_fetcher_gemini_cli_1 = require("./quota-fetcher-gemini-cli");
|
|
|
44
44
|
const quota_fetcher_ghcp_1 = require("./quota-fetcher-ghcp");
|
|
45
45
|
const account_manager_1 = require("../accounts/account-manager");
|
|
46
46
|
const config_loader_facade_1 = require("../../config/config-loader-facade");
|
|
47
|
+
const quota_1 = require("../../config/schemas/quota");
|
|
47
48
|
exports.MANAGED_QUOTA_PROVIDERS = [
|
|
48
49
|
'agy',
|
|
49
50
|
'claude',
|
|
@@ -208,6 +209,24 @@ function isOnCooldown(provider, accountId) {
|
|
|
208
209
|
return true;
|
|
209
210
|
}
|
|
210
211
|
exports.isOnCooldown = isOnCooldown;
|
|
212
|
+
/**
|
|
213
|
+
* Get the epoch-ms timestamp when an account's in-memory cooldown expires.
|
|
214
|
+
* Returns undefined when the account is not on cooldown (or the cooldown has
|
|
215
|
+
* already lapsed). This is the process-local cooldown; for the cross-process
|
|
216
|
+
* source of truth see readQuotaCooldownEntries() in account-safety.
|
|
217
|
+
*/
|
|
218
|
+
function getCooldownUntil(provider, accountId) {
|
|
219
|
+
const key = getCacheKey(provider, accountId);
|
|
220
|
+
const entry = cooldownMap.get(key);
|
|
221
|
+
if (!entry)
|
|
222
|
+
return undefined;
|
|
223
|
+
if (Date.now() > entry.until) {
|
|
224
|
+
cooldownMap.delete(key);
|
|
225
|
+
return undefined;
|
|
226
|
+
}
|
|
227
|
+
return entry.until;
|
|
228
|
+
}
|
|
229
|
+
exports.getCooldownUntil = getCooldownUntil;
|
|
211
230
|
/**
|
|
212
231
|
* Apply cooldown to an exhausted account
|
|
213
232
|
*/
|
|
@@ -326,8 +345,17 @@ async function findHealthyAccount(provider, exclude) {
|
|
|
326
345
|
const tierPriority = config.quota_management?.auto?.tier_priority ?? ['ultra', 'pro', 'free'];
|
|
327
346
|
const threshold = config.quota_management?.auto?.exhaustion_threshold ?? 5;
|
|
328
347
|
const accounts = (0, account_manager_1.getProviderAccounts)(provider);
|
|
348
|
+
// When a tier is locked for this specific provider, restrict candidates to
|
|
349
|
+
// that tier only. Locks are per-provider so locking "agy" to "ultra" does
|
|
350
|
+
// NOT affect failover for "claude", "codex", "gemini", or "ghcp".
|
|
351
|
+
// This is intentionally strict: no cross-tier fallback while a lock is active,
|
|
352
|
+
// so the user's explicit tier choice is always honored.
|
|
353
|
+
const tierLock = (0, quota_1.getTierLockForProvider)(config.quota_management?.manual, provider);
|
|
329
354
|
// Filter available accounts
|
|
330
|
-
const available = accounts.filter((a) => !exclude.includes(a.id) &&
|
|
355
|
+
const available = accounts.filter((a) => !exclude.includes(a.id) &&
|
|
356
|
+
!(0, account_manager_1.isAccountPaused)(provider, a.id) &&
|
|
357
|
+
!isOnCooldown(provider, a.id) &&
|
|
358
|
+
(tierLock === null || (a.tier || 'unknown') === tierLock));
|
|
331
359
|
if (available.length === 0)
|
|
332
360
|
return null;
|
|
333
361
|
// Fetch quota for each available account (batched to prevent connection burst)
|
|
@@ -473,6 +501,27 @@ async function preflightCheck(provider) {
|
|
|
473
501
|
return { proceed: true, accountId: forcedAccount.id, reason: 'Forced default override' };
|
|
474
502
|
}
|
|
475
503
|
}
|
|
504
|
+
// When a tier is locked for this specific provider, the default account must
|
|
505
|
+
// match the locked tier. If it doesn't, route to a healthy account in the
|
|
506
|
+
// locked tier instead. Locks are per-provider: locking "agy" to "ultra"
|
|
507
|
+
// does NOT constrain "claude", "codex", "gemini", or "ghcp".
|
|
508
|
+
// Graceful degradation: if no locked-tier account is available, fall through
|
|
509
|
+
// to the default (don't block the request entirely).
|
|
510
|
+
const tierLock = (0, quota_1.getTierLockForProvider)(quotaConfig.manual, provider);
|
|
511
|
+
if (tierLock !== null && (defaultAccount.tier || 'unknown') !== tierLock) {
|
|
512
|
+
const lockedTierAccount = await findHealthyAccount(provider, []);
|
|
513
|
+
if (lockedTierAccount) {
|
|
514
|
+
(0, account_manager_1.setDefaultAccount)(provider, lockedTierAccount.id);
|
|
515
|
+
(0, account_manager_1.touchAccount)(provider, lockedTierAccount.id);
|
|
516
|
+
return {
|
|
517
|
+
proceed: true,
|
|
518
|
+
accountId: lockedTierAccount.id,
|
|
519
|
+
switchedFrom: defaultAccount.id,
|
|
520
|
+
reason: `Tier lock: selected ${tierLock} account`,
|
|
521
|
+
};
|
|
522
|
+
}
|
|
523
|
+
// No locked-tier account available — fall through and use default
|
|
524
|
+
}
|
|
476
525
|
// Check if default is paused
|
|
477
526
|
if ((0, account_manager_1.isAccountPaused)(provider, defaultAccount.id)) {
|
|
478
527
|
return await findAndSwitch(provider, defaultAccount.id, 'Default account is paused');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota-manager.js","sourceRoot":"","sources":["../../../src/cliproxy/quota/quota-manager.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;;;;;;;;;;;;;;;;;;;;;;;;AAGH,mDAAiE;AACjE,iEAA0D;AAC1D,+DAAwD;AACxD,yEAAiE;AACjE,6DAAsD;AAOtD,iEAOqC;AAGrC,4EAA8E;AAUjE,QAAA,uBAAuB,GAAoC;IACtE,KAAK;IACL,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;CACP,CAAC;AAEF,SAAgB,sBAAsB,CACpC,QAA0B;IAE1B,OAAO,+BAAuB,CAAC,QAAQ,CAAC,QAAgC,CAAC,CAAC;AAC5E,CAAC;AAJD,wDAIC;AAWD,MAAM,YAAY,GAAG,KAAM,CAAC,CAAC,aAAa;AAC1C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAsB,CAAC;AAEjD,6FAA6F;AAC7F,MAAM,cAAc,GAAG,IAAI,GAAG,EAAuC,CAAC;AAEtE,SAAS,WAAW,CAAC,QAA0B,EAAE,SAAiB;IAChE,OAAO,GAAG,QAAQ,IAAI,SAAS,EAAE,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAC5B,QAA0B,EAC1B,SAAiB;IAEjB,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAElC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,YAAY,EAAE,CAAC;QAChD,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,CAAC;AACtB,CAAC;AAfD,wCAeC;AAED;;GAEG;AACH,SAAgB,cAAc,CAC5B,QAA0B,EAC1B,SAAiB,EACjB,MAA0B;IAE1B,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC7C,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACzD,CAAC;AAPD,wCAOC;AAED;;GAEG;AACH,SAAgB,eAAe;IAC7B,UAAU,CAAC,KAAK,EAAE,CAAC;AACrB,CAAC;AAFD,0CAEC;AAED;;;GAGG;AACH,KAAK,UAAU,mBAAmB,CAChC,QAA8B,EAC9B,SAAiB,EACjB,OAAO,GAAG,KAAK;IAEf,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAE7C,qCAAqC;IACrC,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,+BAA+B;IAC/B,MAAM,YAAY,GAAG,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC;SACjE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACf,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAC5C,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;SACD,KAAK,CAAC,GAAuB,EAAE,CAAC,sBAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;SAC5E,OAAO,CAAC,GAAG,EAAE;QACZ,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEL,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACtC,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,QAA8B,EAC9B,SAAiB,EACjB,OAAgB;IAEhB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,KAAK;YACR,OAAO,IAAA,iCAAiB,EAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACzD,KAAK,QAAQ;YACX,OAAO,IAAA,uCAAgB,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC9C,KAAK,OAAO;YACV,OAAO,IAAA,qCAAe,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC7C,KAAK,QAAQ;YACX,OAAO,IAAA,8CAAmB,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACjD,KAAK,MAAM;YACT,OAAO,IAAA,mCAAc,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB;IAC9B,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,CAAC;QACd,SAAS,EAAE,CAAC;QACZ,IAAI,EAAE,CAAC;QACP,gBAAgB,EAAE,CAAC;QACnB,WAAW,EAAE,CAAC;QACd,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,CAAC;QACf,gBAAgB,EAAE,KAAK;QACvB,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,QAA8B,EAC9B,SAAiB;IAEjB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,KAAK;YACR,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC;QAC5E,KAAK,QAAQ;YACX,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,EAAE;gBACX,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;gBAC3C,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;gBACvB,KAAK,EAAE,8BAA8B;gBACrC,SAAS;aACV,CAAC;QACJ,KAAK,OAAO;YACV,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,EAAE;gBACX,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;gBAC3C,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;gBACvB,KAAK,EAAE,6BAA6B;gBACpC,SAAS;aACV,CAAC;QACJ,KAAK,QAAQ;YACX,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,EAAE;gBACX,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;gBACvB,KAAK,EAAE,8BAA8B;gBACrC,SAAS;aACV,CAAC;QACJ,KAAK,MAAM;YACT,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,IAAI;gBACd,cAAc,EAAE,IAAI;gBACpB,SAAS,EAAE;oBACT,mBAAmB,EAAE,uBAAuB,EAAE;oBAC9C,IAAI,EAAE,uBAAuB,EAAE;oBAC/B,WAAW,EAAE,uBAAuB,EAAE;iBACvC;gBACD,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;gBACvB,KAAK,EAAE,sCAAsC;gBAC7C,SAAS;aACV,CAAC;IACN,CAAC;AACH,CAAC;AAUD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAyB,CAAC;AAErD;;GAEG;AACH,SAAgB,YAAY,CAAC,QAA0B,EAAE,SAAiB;IACxE,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEnC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAEzB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC7B,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAZD,oCAYC;AAED;;GAEG;AACH,SAAgB,aAAa,CAC3B,QAA0B,EAC1B,SAAiB,EACjB,OAAe;IAEf,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC7C,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;AACpE,CAAC;AAPD,sCAOC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,QAA0B,EAAE,SAAiB;IACzE,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC7C,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAHD,sCAGC;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;;;GAKG;AACH,KAAK,UAAU,UAAU,CACvB,KAAU,EACV,EAA2B,EAC3B,WAAW,GAAG,EAAE,EAChB,OAAO,GAAG,GAAG;IAEb,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC;QACnD,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAkBD,SAAS,wBAAwB,CAAC,KAAkB;IAClD,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7D,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAC7E,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;AACrC,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAwB;IAC3D,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAEhC,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,MAAM,CAC7E,CAAC,MAAM,EAAwC,EAAE,CAAC,CAAC,CAAC,MAAM,CAC3D,CAAC;IACF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC;IAC1F,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAuB;IACzD,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAEhC,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,MAAM,CAC7E,CAAC,MAAM,EAAwC,EAAE,CAAC,CAAC,CAAC,MAAM,CAC3D,CAAC;IACF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC;IACzF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,2BAA2B,CAAC,KAA2B;IAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9D,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAsB;IACvD,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,WAAW,GAAG;QAClB,KAAK,CAAC,SAAS,CAAC,mBAAmB;QACnC,KAAK,CAAC,SAAS,CAAC,IAAI;QACpB,KAAK,CAAC,SAAS,CAAC,WAAW;KAC5B;SACE,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,KAAK,KAAK,CAAC;SACjD,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;SACzE,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IAEvD,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAClE,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAC5B,QAA8B,EAC9B,KAAyB;IAEzB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,KAAK;YACR,OAAO,wBAAwB,CAAC,KAAoB,CAAC,CAAC;QACxD,KAAK,QAAQ;YACX,OAAO,2BAA2B,CAAC,KAA0B,CAAC,CAAC;QACjE,KAAK,OAAO;YACV,OAAO,0BAA0B,CAAC,KAAyB,CAAC,CAAC;QAC/D,KAAK,QAAQ;YACX,OAAO,2BAA2B,CAAC,KAA6B,CAAC,CAAC;QACpE,KAAK,MAAM;YACT,OAAO,yBAAyB,CAAC,KAAwB,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,kBAAkB,CACtC,QAA0B,EAC1B,OAAiB;IAEjB,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,EAAE,yBAAyB,EAAE,GAAG,wDAAa,4BAA4B,GAAC,CAAC;IACjF,yBAAyB,EAAE,CAAC;IAE5B,MAAM,MAAM,GAAG,IAAA,gDAAyB,GAAE,CAAC;IAC3C,MAAM,YAAY,GAAG,MAAM,CAAC,gBAAgB,EAAE,IAAI,EAAE,aAAa,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9F,MAAM,SAAS,GAAG,MAAM,CAAC,gBAAgB,EAAE,IAAI,EAAE,oBAAoB,IAAI,CAAC,CAAC;IAE3E,MAAM,QAAQ,GAAG,IAAA,qCAAmB,EAAC,QAAQ,CAAC,CAAC;IAE/C,4BAA4B;IAC5B,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAC/B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAA,iCAAe,EAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAC/F,CAAC;IAEF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAExC,+EAA+E;IAC/E,MAAM,UAAU,GAAG,MAAM,UAAU,CACjC,SAAS,EACT,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,IAAI,KAAK,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,QAAQ,GAAG,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAExD,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,SAAS;YAC/B,SAAS,EAAE,QAAQ;SACpB,CAAC;IACJ,CAAC,EACD,EAAE,CACH,CAAC;IAEF,uFAAuF;IACvF,6FAA6F;IAC7F,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC;IAC3F,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;IACjG,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzC,8CAA8C;IAC9C,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACvB,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;QAC9C,MAAM,UAAU,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;QAE9C,IAAI,UAAU,KAAK,UAAU;YAAE,OAAO,UAAU,GAAG,UAAU,CAAC;QAC9D,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC;AA/DD,gDA+DC;AAEM,KAAK,UAAU,kCAAkC,CACtD,QAA0B;IAE1B,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,GAAG,wDAClE,4BAA4B,GAC7B,CAAC;IACF,yBAAyB,EAAE,CAAC;IAE5B,MAAM,MAAM,GAAG,IAAA,gDAAyB,GAAE,CAAC;IAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,gBAAgB,EAAE,IAAI,EAAE,oBAAoB,IAAI,CAAC,CAAC;IAC3E,MAAM,eAAe,GAAG,MAAM,CAAC,gBAAgB,EAAE,IAAI,EAAE,gBAAgB,IAAI,CAAC,CAAC;IAE7E,MAAM,cAAc,GAAG,IAAA,qCAAmB,EAAC,QAAQ,CAAC,CAAC,MAAM,CACzD,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAA,iCAAe,EAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CACpD,CAAC;IACF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,UAAU,CACxC,cAAc,EACd,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,IAAI,KAAK,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO;YACL,OAAO;YACP,YAAY,EAAE,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC;SACrD,CAAC;IACJ,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAC/B,iBAAiB;SACd,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE;QACpC,IAAI,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QACrD,OAAO,YAAY,KAAK,IAAI,IAAI,YAAY,IAAI,SAAS,CAAC;IAC5D,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CACpC,CAAC;IACF,IAAI,iBAAiB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,KAAK,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,iBAAiB,EAAE,CAAC;QAC1D,MAAM,gBAAgB,GAAG,YAAY,KAAK,IAAI,IAAI,YAAY,GAAG,SAAS,CAAC;QAC3E,MAAM,mBAAmB,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,gBAAgB,IAAI,CAAC,mBAAmB;YAAE,SAAS;QAExD,MAAM,sBAAsB,GAAG,CAAC,GAAG,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC;QACtF,IAAI,CAAC,sBAAsB;YAAE,SAAS;QAEtC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;QACrD,IAAI,4BAA4B,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,eAAe,CAAC,EAAE,CAAC;YACxE,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAnED,gFAmEC;AAED;;GAEG;AACH,KAAK,UAAU,aAAa,CAC1B,QAA8B,EAC9B,gBAAwB,EACxB,MAAc;IAEd,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAE3E,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,8DAA8D;QAC9D,OAAO;YACL,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,gBAAgB;YAC3B,MAAM,EAAE,GAAG,MAAM,6BAA6B;SAC/C,CAAC;IACJ,CAAC;IAED,iBAAiB;IACjB,IAAA,mCAAiB,EAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;IAC5C,IAAA,8BAAY,EAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;IAEvC,OAAO;QACL,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,WAAW,CAAC,EAAE;QACzB,YAAY,EAAE,gBAAgB;QAC9B,MAAM;QACN,YAAY,EAAE,WAAW,CAAC,SAAS;KACpC,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,cAAc,CAAC,QAA0B;IAC7D,0EAA0E;IAC1E,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,MAAM,cAAc,GAAG,IAAA,mCAAiB,EAAC,QAAQ,CAAC,CAAC;QACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;IAChE,CAAC;IAED,MAAM,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,GAAG,wDAClE,4BAA4B,GAC7B,CAAC;IACF,yBAAyB,EAAE,CAAC;IAE5B,MAAM,MAAM,GAAG,IAAA,gDAAyB,GAAE,CAAC;IAC3C,MAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAE5C,+CAA+C;IAC/C,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,eAAe,IAAI,WAAW,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC1E,MAAM,cAAc,GAAG,IAAA,mCAAiB,EAAC,QAAQ,CAAC,CAAC;QACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;IAChE,CAAC;IAED,MAAM,cAAc,GAAG,IAAA,mCAAiB,EAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC;IAC7E,CAAC;IAED,MAAM,kCAAkC,CAAC,QAAQ,CAAC,CAAC;IAEnD,8CAA8C;IAC9C,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC;IACzD,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,aAAa,GAAG,IAAA,qCAAmB,EAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,aAAa,CAAC,CAAC;QACxF,IAAI,aAAa,IAAI,CAAC,IAAA,iCAAe,EAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;YAClE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC;QAC3F,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,IAAI,IAAA,iCAAe,EAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;QACjD,OAAO,MAAM,aAAa,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,EAAE,2BAA2B,CAAC,CAAC;IACvF,CAAC;IAED,iBAAiB;IACjB,IAAI,YAAY,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9C,OAAO,MAAM,aAAa,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,EAAE,6BAA6B,CAAC,CAAC;IACzF,CAAC;IAED,6CAA6C;IAC7C,IAAI,KAAK,GAAG,cAAc,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;IACxD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,yCAAyC;IACzC,gGAAgG;IAChG,MAAM,YAAY,GAAG,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5D,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO;YACL,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,cAAc,CAAC,EAAE;YAC5B,MAAM,EAAE,0CAA0C;SACnD,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC;IAC9B,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,EAAE,oBAAoB,IAAI,CAAC,CAAC;IAE9D,IAAI,QAAQ,GAAG,SAAS,EAAE,CAAC;QACzB,aAAa,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,EAAE,WAAW,CAAC,IAAI,EAAE,gBAAgB,IAAI,CAAC,CAAC,CAAC;QAEpF,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,cAAc,CAAC,EAAE;gBAC5B,MAAM,EAAE,oBAAoB,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B;gBAC9E,YAAY;aACb,CAAC;QACJ,CAAC;QAED,IAAI,WAAW,CAAC,SAAS,KAAK,IAAI,IAAI,WAAW,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC;YACzE,4BAA4B,CAC1B,QAAQ,EACR,cAAc,CAAC,EAAE,EACjB,WAAW,CAAC,IAAI,EAAE,gBAAgB,IAAI,CAAC,CACxC,CAAC;QACJ,CAAC;QACD,IAAA,mCAAiB,EAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAA,8BAAY,EAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;QACvC,OAAO;YACL,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,WAAW,CAAC,EAAE;YACzB,YAAY,EAAE,cAAc,CAAC,EAAE;YAC/B,MAAM,EAAE,oBAAoB,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;YACnD,YAAY,EAAE,WAAW,CAAC,SAAS;SACpC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,cAAc,CAAC,EAAE;QAC5B,YAAY;KACb,CAAC;AACJ,CAAC;AAvGD,wCAuGC;AAED;;;GAGG;AACI,KAAK,UAAU,cAAc,CAAC,QAA0B;IAS7D,MAAM,EAAE,yBAAyB,EAAE,GAAG,wDAAa,4BAA4B,GAAC,CAAC;IACjF,yBAAyB,EAAE,CAAC;IAE5B,MAAM,QAAQ,GAAG,IAAA,qCAAmB,EAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,IAAA,mCAAiB,EAAC,QAAQ,CAAC,CAAC;IAEnD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC7B,MAAM,eAAe,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3E,IAAI,KAAK,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC;YAC9B,KAAK,GAAG,MAAM,mBAAmB,CAAC,eAAe,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,QAAQ,GACZ,KAAK,IAAI,eAAe,CAAC,CAAC,CAAC,qBAAqB,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAElF,OAAO;YACL,OAAO;YACP,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,IAAA,iCAAe,EAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;YAC7C,UAAU,EAAE,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;YAC9C,SAAS,EAAE,cAAc,EAAE,EAAE,KAAK,OAAO,CAAC,EAAE;SAC7C,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC/B,CAAC;AArCD,wCAqCC;AAYD,uDAAuD;AACvD,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAA+B,CAAC;AAErE;;;GAGG;AACH,SAAS,gBAAgB,CACvB,QAA8B,EAC9B,SAAiB,EACjB,aAAmC,EACnC,UAAkB,EAClB,KAA0B;IAE1B,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACpD,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;QAClC,oEAAoE;QACpE,IAAI,KAAK,CAAC,OAAO,IAAI,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,KAAK;YAAE,OAAO;QAE7E,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC7D,IAAI,KAAK,CAAC,OAAO,IAAI,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,KAAK;gBAAE,OAAO;YAC7E,MAAM,QAAQ,GAAG,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAExD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtB,uFAAuF;gBACvF,gBAAgB,CACd,QAAQ,EACR,SAAS,EACT,aAAa,EACb,aAAa,CAAC,uBAAuB,GAAG,IAAI,EAC5C,KAAK,CACN,CAAC;gBACF,OAAO;YACT,CAAC;YAED,IAAI,QAAQ,IAAI,aAAa,CAAC,oBAAoB,EAAE,CAAC;gBACnD,0DAA0D;gBAC1D,wEAAwE;gBACxE,sEAAsE;gBACtE,wEAAwE;gBACxE,MAAM,EAAE,qBAAqB,EAAE,GAAG,wDAAa,4BAA4B,GAAC,CAAC;gBAC7E,MAAM,qBAAqB,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;gBACjF,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;gBACrB,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;gBACnB,qBAAqB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACzC,OAAO,CAAC,eAAe;YACzB,CAAC;YAED,IAAI,QAAQ,IAAI,aAAa,CAAC,cAAc,EAAE,CAAC;gBAC7C,kDAAkD;gBAClD,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;oBAChC,MAAM,EAAE,iBAAiB,EAAE,GAAG,wDAAa,4BAA4B,GAAC,CAAC;oBACzE,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;oBACvC,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACpC,CAAC;gBACD,gBAAgB,CACd,QAAQ,EACR,SAAS,EACT,aAAa,EACb,aAAa,CAAC,yBAAyB,GAAG,IAAI,EAC9C,KAAK,CACN,CAAC;gBACF,OAAO;YACT,CAAC;YAED,gCAAgC;YAChC,gBAAgB,CACd,QAAQ,EACR,SAAS,EACT,aAAa,EACb,aAAa,CAAC,uBAAuB,GAAG,IAAI,EAC5C,KAAK,CACN,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,oDAAoD;YACpD,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,KAAK,EAAE,CAAC;gBACtE,gBAAgB,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;IACH,CAAC,EAAE,UAAU,CAAC,CAAC;IAEf,qDAAqD;IACrD,IAAI,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC7E,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,iBAAiB,CAAC,QAA0B,EAAE,SAAiB;IAC7E,2DAA2D;IAC3D,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC;QAAE,OAAO;IAE9C,MAAM,MAAM,GAAG,IAAA,gDAAyB,GAAE,CAAC;IAC3C,MAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAE5C,0DAA0D;IAC1D,IAAI,CAAC,WAAW;QAAE,OAAO;IAEzB,kDAAkD;IAClD,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO;IAC1C,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,OAAO;QAAE,OAAO;IAElD,0FAA0F;IAC1F,MAAM,aAAa,GAAG,WAAW,CAAC,eAAe,CAAC;IAClD,IAAI,aAAa,CAAC,cAAc,IAAI,aAAa,CAAC,oBAAoB,EAAE,CAAC;QACvE,OAAO,CAAC,qEAAqE;IAC/E,CAAC;IAED,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACpD,IAAI,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,OAAO;IAElD,MAAM,KAAK,GAAwB;QACjC,KAAK,EAAE,IAAI;QACX,oBAAoB,EAAE,KAAK;QAC3B,OAAO,EAAE,KAAK;KACf,CAAC;IACF,qBAAqB,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAE7C,sCAAsC;IACtC,gBAAgB,CACd,QAAQ,EACR,SAAS,EACT,WAAW,CAAC,eAAe,EAC3B,WAAW,CAAC,eAAe,CAAC,uBAAuB,GAAG,IAAI,EAC1D,KAAK,CACN,CAAC;AACJ,CAAC;AAtCD,8CAsCC;AAED;;GAEG;AACH,SAAgB,gBAAgB;IAC9B,KAAK,MAAM,KAAK,IAAI,qBAAqB,CAAC,MAAM,EAAE,EAAE,CAAC;QACnD,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACrB,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;QACrB,CAAC;IACH,CAAC;IACD,qBAAqB,CAAC,KAAK,EAAE,CAAC;AAChC,CAAC;AATD,4CASC"}
|
|
1
|
+
{"version":3,"file":"quota-manager.js","sourceRoot":"","sources":["../../../src/cliproxy/quota/quota-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pool onboarding hint
|
|
3
|
+
*
|
|
4
|
+
* Fires once (per install, TTY only) when a user has >= 2 native Claude account
|
|
5
|
+
* profiles and has not yet enabled pool routing. Covers the #1464 use case:
|
|
6
|
+
* existing users with multiple native profiles who have never touched CLIProxy
|
|
7
|
+
* and would miss the 1->2 account-add opt-in prompt.
|
|
8
|
+
*
|
|
9
|
+
* Three hint sites call this module:
|
|
10
|
+
* 1. ccs doctor (post-checks summary, fires for ALL install types)
|
|
11
|
+
* 2. account-flow launch (print-only, pre-spawn) - unified config only
|
|
12
|
+
* 3. ccs auth create (before spawning Claude for a 2nd+ profile) - unified config only
|
|
13
|
+
*
|
|
14
|
+
* Sites 2 and 3 are gated on hasUnifiedConfig() so that legacy profiles.json-only
|
|
15
|
+
* installs receive the hint exclusively from ccs doctor (site 1). This ensures
|
|
16
|
+
* once-per-install dismissal semantics for every install type: unified installs
|
|
17
|
+
* dismiss via config.yaml on first show; legacy installs see the hint from
|
|
18
|
+
* doctor only (which is the natural discovery surface for that population).
|
|
19
|
+
*
|
|
20
|
+
* Dismissal: stored in pool_routing.onboarding_hint_dismissed in config.yaml.
|
|
21
|
+
* Reuses the Phase 3 pool_routing schema family - one schema home, no duplicate
|
|
22
|
+
* plumbing. Legacy installs cannot persist a dismissal without config.yaml;
|
|
23
|
+
* this is intentional - dismissal for legacy users happens via ccs migrate or
|
|
24
|
+
* pool enable (both create config.yaml).
|
|
25
|
+
*
|
|
26
|
+
* TTY contract: non-TTY sessions never print the hint (single line only).
|
|
27
|
+
* The hint is informational only - it never blocks the calling flow.
|
|
28
|
+
*
|
|
29
|
+
* History note: pooled sessions live in the CLIProxy lane, not the native
|
|
30
|
+
* profile's CLAUDE_CONFIG_DIR lane. Transcripts and --continue inventory do
|
|
31
|
+
* NOT follow. This is stated on the docs page linked in the hint copy.
|
|
32
|
+
*/
|
|
33
|
+
import type { UnifiedConfig } from '../../config/unified-config-types';
|
|
34
|
+
export declare const POOL_DOCS_LINK = "https://docs.ccs.kaitran.ca/features/pool";
|
|
35
|
+
/**
|
|
36
|
+
* Whether the one-time pool onboarding hint has already been dismissed.
|
|
37
|
+
*
|
|
38
|
+
* @param config - Optional pre-loaded config to avoid a redundant disk read +
|
|
39
|
+
* YAML parse. When omitted the config is loaded here.
|
|
40
|
+
*/
|
|
41
|
+
export declare function isOnboardingHintDismissed(config?: UnifiedConfig): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Mark the pool onboarding hint as permanently dismissed.
|
|
44
|
+
* Written after first display so subsequent invocations are silent.
|
|
45
|
+
*
|
|
46
|
+
* Guard: skipped when config.yaml does not yet exist (legacy profiles.json-only
|
|
47
|
+
* installs). Writing here would create config.yaml, flipping isUnifiedMode()
|
|
48
|
+
* and silently mode-migrating the install outside the deliberate ccs migrate
|
|
49
|
+
* flow. For those users the hint may re-appear across process restarts; that
|
|
50
|
+
* is acceptable -- the hint is informational and non-blocking, and the user
|
|
51
|
+
* can silence it permanently via ccs migrate.
|
|
52
|
+
*/
|
|
53
|
+
export declare function dismissOnboardingHint(): void;
|
|
54
|
+
/**
|
|
55
|
+
* Count native Claude account profiles (type === 'account').
|
|
56
|
+
*
|
|
57
|
+
* Uses ProfileRegistry so the count respects both legacy profiles.json and
|
|
58
|
+
* unified config accounts - same source of truth as the rest of the codebase.
|
|
59
|
+
*
|
|
60
|
+
* type === 'account' implies Claude: per the profile-registry schema, every
|
|
61
|
+
* account profile is an isolated Claude instance (CLAUDE_CONFIG_DIR lane) with
|
|
62
|
+
* no CLI discriminator. Gemini/Codex multi-account lives in CLIProxy auth
|
|
63
|
+
* files, never in profiles.json, so this filter cannot over-count.
|
|
64
|
+
*/
|
|
65
|
+
export declare function countNativeClaudeProfiles(): number;
|
|
66
|
+
export interface OnboardingHintResult {
|
|
67
|
+
/** Whether the hint was printed */
|
|
68
|
+
printed: boolean;
|
|
69
|
+
/** Why the hint was skipped (only set when printed === false) */
|
|
70
|
+
skipReason?: string;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Maybe print the one-time pool onboarding hint.
|
|
74
|
+
*
|
|
75
|
+
* Skips silently when any of the following are true:
|
|
76
|
+
* - Not a TTY (piped / CI / non-interactive)
|
|
77
|
+
* - Fewer than 2 native Claude account profiles exist
|
|
78
|
+
* - Pool routing is already enabled
|
|
79
|
+
* - The hint was already dismissed
|
|
80
|
+
* - Any error occurs while deciding (e.g. malformed config.yaml)
|
|
81
|
+
*
|
|
82
|
+
* Checks run cheapest-first: TTY and profile count are evaluated before any
|
|
83
|
+
* config read, and the config is loaded exactly once for the two
|
|
84
|
+
* config-derived checks. The entire decision is wrapped in try/catch so a
|
|
85
|
+
* hint failure can never break an account launch.
|
|
86
|
+
*
|
|
87
|
+
* When the hint is printed for the first time it is also dismissed so it
|
|
88
|
+
* never appears again (it is informational, not an interactive prompt).
|
|
89
|
+
*
|
|
90
|
+
* @param profileCount - Pre-computed profile count (pass undefined to compute
|
|
91
|
+
* it here). The caller may pass a count it already has to avoid a second
|
|
92
|
+
* registry read.
|
|
93
|
+
*/
|
|
94
|
+
export declare function maybeShowPoolOnboardingHint(profileCount?: number): OnboardingHintResult;
|
|
95
|
+
//# sourceMappingURL=pool-onboarding-hint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pool-onboarding-hint.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/routing/pool-onboarding-hint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAQH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAKvE,eAAO,MAAM,cAAc,8CAA8C,CAAC;AAE1E;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAGzE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAY5C;AAaD;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAQlD;AAED,MAAM,WAAW,oBAAoB;IACnC,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,2BAA2B,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,oBAAoB,CA8CvF"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Pool onboarding hint
|
|
4
|
+
*
|
|
5
|
+
* Fires once (per install, TTY only) when a user has >= 2 native Claude account
|
|
6
|
+
* profiles and has not yet enabled pool routing. Covers the #1464 use case:
|
|
7
|
+
* existing users with multiple native profiles who have never touched CLIProxy
|
|
8
|
+
* and would miss the 1->2 account-add opt-in prompt.
|
|
9
|
+
*
|
|
10
|
+
* Three hint sites call this module:
|
|
11
|
+
* 1. ccs doctor (post-checks summary, fires for ALL install types)
|
|
12
|
+
* 2. account-flow launch (print-only, pre-spawn) - unified config only
|
|
13
|
+
* 3. ccs auth create (before spawning Claude for a 2nd+ profile) - unified config only
|
|
14
|
+
*
|
|
15
|
+
* Sites 2 and 3 are gated on hasUnifiedConfig() so that legacy profiles.json-only
|
|
16
|
+
* installs receive the hint exclusively from ccs doctor (site 1). This ensures
|
|
17
|
+
* once-per-install dismissal semantics for every install type: unified installs
|
|
18
|
+
* dismiss via config.yaml on first show; legacy installs see the hint from
|
|
19
|
+
* doctor only (which is the natural discovery surface for that population).
|
|
20
|
+
*
|
|
21
|
+
* Dismissal: stored in pool_routing.onboarding_hint_dismissed in config.yaml.
|
|
22
|
+
* Reuses the Phase 3 pool_routing schema family - one schema home, no duplicate
|
|
23
|
+
* plumbing. Legacy installs cannot persist a dismissal without config.yaml;
|
|
24
|
+
* this is intentional - dismissal for legacy users happens via ccs migrate or
|
|
25
|
+
* pool enable (both create config.yaml).
|
|
26
|
+
*
|
|
27
|
+
* TTY contract: non-TTY sessions never print the hint (single line only).
|
|
28
|
+
* The hint is informational only - it never blocks the calling flow.
|
|
29
|
+
*
|
|
30
|
+
* History note: pooled sessions live in the CLIProxy lane, not the native
|
|
31
|
+
* profile's CLAUDE_CONFIG_DIR lane. Transcripts and --continue inventory do
|
|
32
|
+
* NOT follow. This is stated on the docs page linked in the hint copy.
|
|
33
|
+
*/
|
|
34
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
+
exports.maybeShowPoolOnboardingHint = exports.countNativeClaudeProfiles = exports.dismissOnboardingHint = exports.isOnboardingHintDismissed = exports.POOL_DOCS_LINK = void 0;
|
|
36
|
+
const ui_1 = require("../../utils/ui");
|
|
37
|
+
const config_loader_facade_1 = require("../../config/config-loader-facade");
|
|
38
|
+
const profile_registry_1 = require("../../auth/profile-registry");
|
|
39
|
+
// Docs anchor - Phase 7 acceptance item: verify curl returns HTTP 200 before release.
|
|
40
|
+
// Pattern matches canonical docs domain used in error-codes.ts and version-command.ts.
|
|
41
|
+
exports.POOL_DOCS_LINK = 'https://docs.ccs.kaitran.ca/features/pool';
|
|
42
|
+
/**
|
|
43
|
+
* Whether the one-time pool onboarding hint has already been dismissed.
|
|
44
|
+
*
|
|
45
|
+
* @param config - Optional pre-loaded config to avoid a redundant disk read +
|
|
46
|
+
* YAML parse. When omitted the config is loaded here.
|
|
47
|
+
*/
|
|
48
|
+
function isOnboardingHintDismissed(config) {
|
|
49
|
+
const cfg = config ?? (0, config_loader_facade_1.loadOrCreateUnifiedConfig)();
|
|
50
|
+
return cfg.cliproxy?.pool_routing?.onboarding_hint_dismissed === true;
|
|
51
|
+
}
|
|
52
|
+
exports.isOnboardingHintDismissed = isOnboardingHintDismissed;
|
|
53
|
+
/**
|
|
54
|
+
* Mark the pool onboarding hint as permanently dismissed.
|
|
55
|
+
* Written after first display so subsequent invocations are silent.
|
|
56
|
+
*
|
|
57
|
+
* Guard: skipped when config.yaml does not yet exist (legacy profiles.json-only
|
|
58
|
+
* installs). Writing here would create config.yaml, flipping isUnifiedMode()
|
|
59
|
+
* and silently mode-migrating the install outside the deliberate ccs migrate
|
|
60
|
+
* flow. For those users the hint may re-appear across process restarts; that
|
|
61
|
+
* is acceptable -- the hint is informational and non-blocking, and the user
|
|
62
|
+
* can silence it permanently via ccs migrate.
|
|
63
|
+
*/
|
|
64
|
+
function dismissOnboardingHint() {
|
|
65
|
+
if (!(0, config_loader_facade_1.hasUnifiedConfig)()) {
|
|
66
|
+
// Legacy-only install: skip persist to avoid implicit config.yaml creation.
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
(0, config_loader_facade_1.mutateConfig)((cfg) => {
|
|
70
|
+
if (!cfg.cliproxy)
|
|
71
|
+
return;
|
|
72
|
+
cfg.cliproxy.pool_routing = {
|
|
73
|
+
...cfg.cliproxy.pool_routing,
|
|
74
|
+
onboarding_hint_dismissed: true,
|
|
75
|
+
};
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
exports.dismissOnboardingHint = dismissOnboardingHint;
|
|
79
|
+
/**
|
|
80
|
+
* Whether pool routing is currently enabled.
|
|
81
|
+
*
|
|
82
|
+
* @param config - Optional pre-loaded config to avoid a redundant disk read +
|
|
83
|
+
* YAML parse. When omitted the config is loaded here.
|
|
84
|
+
*/
|
|
85
|
+
function isPoolEnabled(config) {
|
|
86
|
+
const cfg = config ?? (0, config_loader_facade_1.loadOrCreateUnifiedConfig)();
|
|
87
|
+
return cfg.cliproxy?.pool_routing?.enabled === true;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Count native Claude account profiles (type === 'account').
|
|
91
|
+
*
|
|
92
|
+
* Uses ProfileRegistry so the count respects both legacy profiles.json and
|
|
93
|
+
* unified config accounts - same source of truth as the rest of the codebase.
|
|
94
|
+
*
|
|
95
|
+
* type === 'account' implies Claude: per the profile-registry schema, every
|
|
96
|
+
* account profile is an isolated Claude instance (CLAUDE_CONFIG_DIR lane) with
|
|
97
|
+
* no CLI discriminator. Gemini/Codex multi-account lives in CLIProxy auth
|
|
98
|
+
* files, never in profiles.json, so this filter cannot over-count.
|
|
99
|
+
*/
|
|
100
|
+
function countNativeClaudeProfiles() {
|
|
101
|
+
try {
|
|
102
|
+
const registry = new profile_registry_1.ProfileRegistry();
|
|
103
|
+
const profiles = registry.getAllProfilesMerged();
|
|
104
|
+
return Object.values(profiles).filter((p) => p.type === 'account').length;
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
return 0;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
exports.countNativeClaudeProfiles = countNativeClaudeProfiles;
|
|
111
|
+
/**
|
|
112
|
+
* Maybe print the one-time pool onboarding hint.
|
|
113
|
+
*
|
|
114
|
+
* Skips silently when any of the following are true:
|
|
115
|
+
* - Not a TTY (piped / CI / non-interactive)
|
|
116
|
+
* - Fewer than 2 native Claude account profiles exist
|
|
117
|
+
* - Pool routing is already enabled
|
|
118
|
+
* - The hint was already dismissed
|
|
119
|
+
* - Any error occurs while deciding (e.g. malformed config.yaml)
|
|
120
|
+
*
|
|
121
|
+
* Checks run cheapest-first: TTY and profile count are evaluated before any
|
|
122
|
+
* config read, and the config is loaded exactly once for the two
|
|
123
|
+
* config-derived checks. The entire decision is wrapped in try/catch so a
|
|
124
|
+
* hint failure can never break an account launch.
|
|
125
|
+
*
|
|
126
|
+
* When the hint is printed for the first time it is also dismissed so it
|
|
127
|
+
* never appears again (it is informational, not an interactive prompt).
|
|
128
|
+
*
|
|
129
|
+
* @param profileCount - Pre-computed profile count (pass undefined to compute
|
|
130
|
+
* it here). The caller may pass a count it already has to avoid a second
|
|
131
|
+
* registry read.
|
|
132
|
+
*/
|
|
133
|
+
function maybeShowPoolOnboardingHint(profileCount) {
|
|
134
|
+
// A hint must never break a launch. Any error in the decision path
|
|
135
|
+
// (malformed config.yaml, registry read failure, etc.) silently skips the
|
|
136
|
+
// hint rather than rethrowing into the caller's account-launch flow.
|
|
137
|
+
try {
|
|
138
|
+
// Cheapest checks first, no disk read required.
|
|
139
|
+
// Non-TTY: stay silent (piped / CI / non-interactive).
|
|
140
|
+
if (!process.stdout.isTTY) {
|
|
141
|
+
return { printed: false, skipReason: 'non-tty' };
|
|
142
|
+
}
|
|
143
|
+
const count = profileCount ?? countNativeClaudeProfiles();
|
|
144
|
+
if (count < 2) {
|
|
145
|
+
return { printed: false, skipReason: 'fewer-than-2-profiles' };
|
|
146
|
+
}
|
|
147
|
+
// Load config once and reuse it for both config-derived checks below,
|
|
148
|
+
// avoiding two disk reads + YAML parses per call.
|
|
149
|
+
const config = (0, config_loader_facade_1.loadOrCreateUnifiedConfig)();
|
|
150
|
+
if (isPoolEnabled(config)) {
|
|
151
|
+
return { printed: false, skipReason: 'pool-already-enabled' };
|
|
152
|
+
}
|
|
153
|
+
if (isOnboardingHintDismissed(config)) {
|
|
154
|
+
return { printed: false, skipReason: 'dismissed' };
|
|
155
|
+
}
|
|
156
|
+
console.log((0, ui_1.info)(`You have ${count} Claude profiles. Pool routing can auto-continue 'ccs claude' when one account hits its limit. Enable: ccs cliproxy pool --enable Docs: ${exports.POOL_DOCS_LINK}`));
|
|
157
|
+
// Dismiss so subsequent invocations (other sites or next run) are silent.
|
|
158
|
+
try {
|
|
159
|
+
dismissOnboardingHint();
|
|
160
|
+
}
|
|
161
|
+
catch {
|
|
162
|
+
// Best-effort: a config write failure must not surface to the user here.
|
|
163
|
+
}
|
|
164
|
+
return { printed: true };
|
|
165
|
+
}
|
|
166
|
+
catch {
|
|
167
|
+
// Decision failed (e.g. malformed config) - skip the hint, never throw.
|
|
168
|
+
return { printed: false, skipReason: 'error' };
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
exports.maybeShowPoolOnboardingHint = maybeShowPoolOnboardingHint;
|
|
172
|
+
//# sourceMappingURL=pool-onboarding-hint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pool-onboarding-hint.js","sourceRoot":"","sources":["../../../src/cliproxy/routing/pool-onboarding-hint.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pool routing opt-in prompt
|
|
3
|
+
*
|
|
4
|
+
* Fires at the 1->2 account-add transition for verified providers (claude, agy).
|
|
5
|
+
* Informed-consent copy: discloses instance-global effect and lists ALL providers
|
|
6
|
+
* with >=2 accounts that will be affected.
|
|
7
|
+
*
|
|
8
|
+
* Codex/gemini get no prompt until failover behavior is verified for pool routing
|
|
9
|
+
* (spike Test D pending). They continue with implicit round-robin.
|
|
10
|
+
*
|
|
11
|
+
* Remote/Docker targets: prompt replaced by manual-config hint because session
|
|
12
|
+
* affinity is not remotely toggleable from CCS (PR #1117 precedent).
|
|
13
|
+
*/
|
|
14
|
+
import type { CLIProxyProvider } from '../types';
|
|
15
|
+
/**
|
|
16
|
+
* Whether the pool routing opt-in prompt has been permanently dismissed.
|
|
17
|
+
* Dismissal is recorded per-provider in pool_routing.prompt_dismissed.
|
|
18
|
+
*/
|
|
19
|
+
export declare function isPoolPromptDismissed(): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Mark the pool routing prompt as permanently dismissed (user said no explicitly).
|
|
22
|
+
*/
|
|
23
|
+
export declare function dismissPoolPrompt(): void;
|
|
24
|
+
export interface PoolOptInResult {
|
|
25
|
+
/** Whether the prompt was shown */
|
|
26
|
+
prompted: boolean;
|
|
27
|
+
/** Whether pool routing was enabled */
|
|
28
|
+
enabled: boolean;
|
|
29
|
+
/** Whether the prompt was skipped (remote, dismissed, not verified, already enabled) */
|
|
30
|
+
skipped: boolean;
|
|
31
|
+
skipReason?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Offer pool routing opt-in when the account count crosses 1->2 for a verified provider.
|
|
35
|
+
*
|
|
36
|
+
* Call this immediately after a successful account registration when the provider
|
|
37
|
+
* transitions from 1 to 2 accounts. The function is a no-op when:
|
|
38
|
+
* - Pool routing is already enabled
|
|
39
|
+
* - Provider is not in the verified pool list (codex, gemini, etc.)
|
|
40
|
+
* - The prompt was previously dismissed
|
|
41
|
+
* - Target is non-TTY (piped input / CI)
|
|
42
|
+
*
|
|
43
|
+
* Remote/Docker targets get a manual-config hint instead of an interactive prompt.
|
|
44
|
+
*
|
|
45
|
+
* @param provider - The provider that just reached 2 accounts
|
|
46
|
+
* @param accountCountBefore - Number of accounts before this add (should be 1 for transition)
|
|
47
|
+
* @param port - CLIProxy port (default: 8317)
|
|
48
|
+
*/
|
|
49
|
+
export declare function maybeOfferPoolRouting(provider: CLIProxyProvider, accountCountBefore: number, port?: number): Promise<PoolOptInResult>;
|
|
50
|
+
//# sourceMappingURL=pool-opt-in-prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pool-opt-in-prompt.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/routing/pool-opt-in-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAkBH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AA2BjD;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAYxC;AAyBD,MAAM,WAAW,eAAe;IAC9B,mCAAmC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,wFAAwF;IACxF,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,gBAAgB,EAC1B,kBAAkB,EAAE,MAAM,EAC1B,IAAI,GAAE,MAA8B,GACnC,OAAO,CAAC,eAAe,CAAC,CAgJ1B"}
|