@kaitranntt/ccs 8.4.0-dev.9 → 8.5.0
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 +4 -1
- package/config/base-claude.settings.json +1 -1
- package/config/base-glm.settings.json +4 -4
- package/config/base-glmt.settings.json +4 -4
- package/config/base-km.settings.json +4 -4
- package/config/base-mm.settings.json +4 -4
- package/dist/api/services/cliproxy-profile-bridge.d.ts.map +1 -1
- package/dist/api/services/cliproxy-profile-bridge.js +20 -9
- package/dist/api/services/cliproxy-profile-bridge.js.map +1 -1
- package/dist/auth/profile-registry.d.ts.map +1 -1
- package/dist/auth/profile-registry.js +13 -12
- package/dist/auth/profile-registry.js.map +1 -1
- package/dist/cliproxy/accounts/account-safety.d.ts.map +1 -1
- package/dist/cliproxy/accounts/account-safety.js +56 -56
- package/dist/cliproxy/accounts/account-safety.js.map +1 -1
- package/dist/cliproxy/auth/antigravity-responsibility.d.ts.map +1 -1
- package/dist/cliproxy/auth/antigravity-responsibility.js +15 -15
- package/dist/cliproxy/auth/antigravity-responsibility.js.map +1 -1
- package/dist/cliproxy/auth/auth-token-manager.d.ts.map +1 -1
- package/dist/cliproxy/auth/auth-token-manager.js +2 -1
- package/dist/cliproxy/auth/auth-token-manager.js.map +1 -1
- package/dist/cliproxy/auth/auth-types.d.ts.map +1 -1
- package/dist/cliproxy/auth/auth-types.js +3 -2
- package/dist/cliproxy/auth/auth-types.js.map +1 -1
- package/dist/cliproxy/auth/oauth-handler.d.ts.map +1 -1
- package/dist/cliproxy/auth/oauth-handler.js +16 -5
- package/dist/cliproxy/auth/oauth-handler.js.map +1 -1
- package/dist/cliproxy/auth/provider-refreshers/index.d.ts +2 -1
- package/dist/cliproxy/auth/provider-refreshers/index.d.ts.map +1 -1
- package/dist/cliproxy/auth/provider-refreshers/index.js +4 -2
- package/dist/cliproxy/auth/provider-refreshers/index.js.map +1 -1
- package/dist/cliproxy/auth/token-manager.d.ts +2 -1
- package/dist/cliproxy/auth/token-manager.d.ts.map +1 -1
- package/dist/cliproxy/auth/token-manager.js +2 -1
- package/dist/cliproxy/auth/token-manager.js.map +1 -1
- package/dist/cliproxy/config/env-builder.d.ts +19 -2
- package/dist/cliproxy/config/env-builder.d.ts.map +1 -1
- package/dist/cliproxy/config/env-builder.js +40 -5
- package/dist/cliproxy/config/env-builder.js.map +1 -1
- package/dist/cliproxy/config/model-config.d.ts.map +1 -1
- package/dist/cliproxy/config/model-config.js +32 -32
- package/dist/cliproxy/config/model-config.js.map +1 -1
- package/dist/cliproxy/executor/arg-parser.d.ts.map +1 -1
- package/dist/cliproxy/executor/arg-parser.js +26 -26
- package/dist/cliproxy/executor/arg-parser.js.map +1 -1
- package/dist/cliproxy/executor/auth-coordinator.d.ts.map +1 -1
- package/dist/cliproxy/executor/auth-coordinator.js +15 -14
- 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 +27 -17
- package/dist/cliproxy/executor/index.js.map +1 -1
- package/dist/cliproxy/executor/lifecycle-manager.d.ts.map +1 -1
- package/dist/cliproxy/executor/lifecycle-manager.js +18 -16
- package/dist/cliproxy/executor/lifecycle-manager.js.map +1 -1
- package/dist/cliproxy/executor/model-warnings.d.ts.map +1 -1
- package/dist/cliproxy/executor/model-warnings.js +24 -13
- package/dist/cliproxy/executor/model-warnings.js.map +1 -1
- package/dist/cliproxy/executor/retry-handler.d.ts.map +1 -1
- package/dist/cliproxy/executor/retry-handler.js +13 -11
- package/dist/cliproxy/executor/retry-handler.js.map +1 -1
- package/dist/cliproxy/executor/session-bridge.d.ts.map +1 -1
- package/dist/cliproxy/executor/session-bridge.js +18 -10
- package/dist/cliproxy/executor/session-bridge.js.map +1 -1
- package/dist/cliproxy/management/remote-token-uploader.d.ts.map +1 -1
- package/dist/cliproxy/management/remote-token-uploader.js +11 -11
- package/dist/cliproxy/management/remote-token-uploader.js.map +1 -1
- package/dist/cliproxy/provider-capabilities.d.ts +6 -0
- package/dist/cliproxy/provider-capabilities.d.ts.map +1 -1
- package/dist/cliproxy/provider-capabilities.js +28 -3
- package/dist/cliproxy/provider-capabilities.js.map +1 -1
- package/dist/cliproxy/proxy/https-tunnel-proxy.d.ts +5 -1
- package/dist/cliproxy/proxy/https-tunnel-proxy.d.ts.map +1 -1
- package/dist/cliproxy/proxy/https-tunnel-proxy.js +22 -10
- package/dist/cliproxy/proxy/https-tunnel-proxy.js.map +1 -1
- package/dist/cliproxy/proxy/tool-sanitization-proxy.d.ts +0 -12
- package/dist/cliproxy/proxy/tool-sanitization-proxy.d.ts.map +1 -1
- package/dist/cliproxy/proxy/tool-sanitization-proxy.js +42 -72
- package/dist/cliproxy/proxy/tool-sanitization-proxy.js.map +1 -1
- package/dist/cliproxy/quota/quota-fetcher/account-quota-fetcher.d.ts +21 -0
- package/dist/cliproxy/quota/quota-fetcher/account-quota-fetcher.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/account-quota-fetcher.js +154 -0
- package/dist/cliproxy/quota/quota-fetcher/account-quota-fetcher.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/all-accounts-fetcher.d.ts +35 -0
- package/dist/cliproxy/quota/quota-fetcher/all-accounts-fetcher.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/all-accounts-fetcher.js +98 -0
- package/dist/cliproxy/quota/quota-fetcher/all-accounts-fetcher.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/auth-file-reader.d.ts +22 -0
- package/dist/cliproxy/quota/quota-fetcher/auth-file-reader.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/auth-file-reader.js +111 -0
- package/dist/cliproxy/quota/quota-fetcher/auth-file-reader.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/available-models-fetcher.d.ts +17 -0
- package/dist/cliproxy/quota/quota-fetcher/available-models-fetcher.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/available-models-fetcher.js +85 -0
- package/dist/cliproxy/quota/quota-fetcher/available-models-fetcher.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/constants.d.ts +25 -0
- package/dist/cliproxy/quota/quota-fetcher/constants.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/constants.js +31 -0
- package/dist/cliproxy/quota/quota-fetcher/constants.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/http-client.d.ts +29 -0
- package/dist/cliproxy/quota/quota-fetcher/http-client.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/http-client.js +199 -0
- package/dist/cliproxy/quota/quota-fetcher/http-client.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/project-lookup.d.ts +16 -0
- package/dist/cliproxy/quota/quota-fetcher/project-lookup.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/project-lookup.js +89 -0
- package/dist/cliproxy/quota/quota-fetcher/project-lookup.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/status-classifier.d.ts +29 -0
- package/dist/cliproxy/quota/quota-fetcher/status-classifier.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/status-classifier.js +168 -0
- package/dist/cliproxy/quota/quota-fetcher/status-classifier.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/types.d.ts +165 -0
- package/dist/cliproxy/quota/quota-fetcher/types.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher/types.js +9 -0
- package/dist/cliproxy/quota/quota-fetcher/types.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-claude.d.ts.map +1 -1
- package/dist/cliproxy/quota/quota-fetcher-claude.js +14 -3
- package/dist/cliproxy/quota/quota-fetcher-claude.js.map +1 -1
- package/dist/cliproxy/quota/quota-fetcher-codex.d.ts.map +1 -1
- package/dist/cliproxy/quota/quota-fetcher-codex.js +36 -9
- package/dist/cliproxy/quota/quota-fetcher-codex.js.map +1 -1
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/auth-file-discovery.d.ts +26 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/auth-file-discovery.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/auth-file-discovery.js +132 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/auth-file-discovery.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/bucket-building.d.ts +23 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/bucket-building.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/bucket-building.js +54 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/bucket-building.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/constants.d.ts +26 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/constants.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/constants.js +29 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/constants.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/error-parsing.d.ts +61 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/error-parsing.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/error-parsing.js +259 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/error-parsing.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/index.d.ts +20 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/index.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/index.js +38 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/index.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/managed-request.d.ts +82 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/managed-request.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/managed-request.js +263 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/managed-request.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/quota-fetcher.d.ts +46 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/quota-fetcher.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/quota-fetcher.js +188 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/quota-fetcher.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/shared-utils.d.ts +35 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/shared-utils.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/shared-utils.js +65 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/shared-utils.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/supplementary-metadata.d.ts +37 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/supplementary-metadata.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/supplementary-metadata.js +117 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/supplementary-metadata.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/token-parsing.d.ts +31 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/token-parsing.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/token-parsing.js +77 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/token-parsing.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/types.d.ts +114 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/types.d.ts.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/types.js +10 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli/types.js.map +1 -0
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli.d.ts +13 -58
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli.d.ts.map +1 -1
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli.js +20 -819
- package/dist/cliproxy/quota/quota-fetcher-gemini-cli.js.map +1 -1
- package/dist/cliproxy/quota/quota-fetcher-ghcp.d.ts.map +1 -1
- package/dist/cliproxy/quota/quota-fetcher-ghcp.js +19 -4
- package/dist/cliproxy/quota/quota-fetcher-ghcp.js.map +1 -1
- package/dist/cliproxy/quota/quota-fetcher.d.ts +12 -108
- package/dist/cliproxy/quota/quota-fetcher.d.ts.map +1 -1
- package/dist/cliproxy/quota/quota-fetcher.js +23 -766
- package/dist/cliproxy/quota/quota-fetcher.js.map +1 -1
- package/dist/cliproxy/routing/routing-strategy.d.ts.map +1 -1
- package/dist/cliproxy/routing/routing-strategy.js +11 -3
- package/dist/cliproxy/routing/routing-strategy.js.map +1 -1
- package/dist/commands/cliproxy/quota-subcommand/claude-window-helpers.d.ts +26 -0
- package/dist/commands/cliproxy/quota-subcommand/claude-window-helpers.d.ts.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/claude-window-helpers.js +82 -0
- package/dist/commands/cliproxy/quota-subcommand/claude-window-helpers.js.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/codex-window-helpers.d.ts +41 -0
- package/dist/commands/cliproxy/quota-subcommand/codex-window-helpers.d.ts.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/codex-window-helpers.js +202 -0
- package/dist/commands/cliproxy/quota-subcommand/codex-window-helpers.js.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/format-helpers.d.ts +32 -0
- package/dist/commands/cliproxy/quota-subcommand/format-helpers.d.ts.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/format-helpers.js +90 -0
- package/dist/commands/cliproxy/quota-subcommand/format-helpers.js.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/handlers.d.ts +25 -0
- package/dist/commands/cliproxy/quota-subcommand/handlers.d.ts.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/handlers.js +245 -0
- package/dist/commands/cliproxy/quota-subcommand/handlers.js.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/profile-args.d.ts +10 -0
- package/dist/commands/cliproxy/quota-subcommand/profile-args.d.ts.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/profile-args.js +37 -0
- package/dist/commands/cliproxy/quota-subcommand/profile-args.js.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/provider-runtime.d.ts +12 -0
- package/dist/commands/cliproxy/quota-subcommand/provider-runtime.d.ts.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/provider-runtime.js +64 -0
- package/dist/commands/cliproxy/quota-subcommand/provider-runtime.js.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/quota-failure-display.d.ts +27 -0
- package/dist/commands/cliproxy/quota-subcommand/quota-failure-display.d.ts.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/quota-failure-display.js +74 -0
- package/dist/commands/cliproxy/quota-subcommand/quota-failure-display.js.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/antigravity.d.ts +10 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/antigravity.d.ts.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/antigravity.js +46 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/antigravity.js.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/claude.d.ts +14 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/claude.d.ts.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/claude.js +68 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/claude.js.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/codex.d.ts +14 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/codex.d.ts.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/codex.js +82 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/codex.js.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/gemini-cli.d.ts +14 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/gemini-cli.d.ts.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/gemini-cli.js +61 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/gemini-cli.js.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/ghcp.d.ts +13 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/ghcp.d.ts.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/ghcp.js +63 -0
- package/dist/commands/cliproxy/quota-subcommand/sections/ghcp.js.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/test-exports.d.ts +19 -0
- package/dist/commands/cliproxy/quota-subcommand/test-exports.d.ts.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/test-exports.js +22 -0
- package/dist/commands/cliproxy/quota-subcommand/test-exports.js.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/types.d.ts +42 -0
- package/dist/commands/cliproxy/quota-subcommand/types.d.ts.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand/types.js +9 -0
- package/dist/commands/cliproxy/quota-subcommand/types.js.map +1 -0
- package/dist/commands/cliproxy/quota-subcommand.d.ts +14 -36
- package/dist/commands/cliproxy/quota-subcommand.d.ts.map +1 -1
- package/dist/commands/cliproxy/quota-subcommand.js +21 -872
- package/dist/commands/cliproxy/quota-subcommand.js.map +1 -1
- package/dist/commands/command-catalog.js +1 -1
- package/dist/commands/command-catalog.js.map +1 -1
- package/dist/commands/persist-command/arg-parsing.d.ts +14 -0
- package/dist/commands/persist-command/arg-parsing.d.ts.map +1 -0
- package/dist/commands/persist-command/arg-parsing.js +84 -0
- package/dist/commands/persist-command/arg-parsing.js.map +1 -0
- package/dist/commands/persist-command/backup-rotation.d.ts +23 -0
- package/dist/commands/persist-command/backup-rotation.d.ts.map +1 -0
- package/dist/commands/persist-command/backup-rotation.js +260 -0
- package/dist/commands/persist-command/backup-rotation.js.map +1 -0
- package/dist/commands/persist-command/handler.d.ts +10 -0
- package/dist/commands/persist-command/handler.d.ts.map +1 -0
- package/dist/commands/persist-command/handler.js +267 -0
- package/dist/commands/persist-command/handler.js.map +1 -0
- package/dist/commands/persist-command/help.d.ts +9 -0
- package/dist/commands/persist-command/help.d.ts.map +1 -0
- package/dist/commands/persist-command/help.js +86 -0
- package/dist/commands/persist-command/help.js.map +1 -0
- package/dist/commands/persist-command/receipt.d.ts +13 -0
- package/dist/commands/persist-command/receipt.d.ts.map +1 -0
- package/dist/commands/persist-command/receipt.js +102 -0
- package/dist/commands/persist-command/receipt.js.map +1 -0
- package/dist/commands/persist-command/secret-detection.d.ts +11 -0
- package/dist/commands/persist-command/secret-detection.d.ts.map +1 -0
- package/dist/commands/persist-command/secret-detection.js +54 -0
- package/dist/commands/persist-command/secret-detection.js.map +1 -0
- package/dist/commands/persist-command/secure-file.d.ts +21 -0
- package/dist/commands/persist-command/secure-file.d.ts.map +1 -0
- package/dist/commands/persist-command/secure-file.js +231 -0
- package/dist/commands/persist-command/secure-file.js.map +1 -0
- package/dist/commands/persist-command/types.d.ts +42 -0
- package/dist/commands/persist-command/types.d.ts.map +1 -0
- package/dist/commands/persist-command/types.js +34 -0
- package/dist/commands/persist-command/types.js.map +1 -0
- package/dist/commands/persist-command.d.ts +7 -2
- package/dist/commands/persist-command.d.ts.map +1 -1
- package/dist/commands/persist-command.js +17 -933
- package/dist/commands/persist-command.js.map +1 -1
- package/dist/copilot/copilot-executor.js +25 -25
- package/dist/copilot/copilot-executor.js.map +1 -1
- package/dist/cursor/cursor-daemon-entry.d.ts.map +1 -1
- package/dist/cursor/cursor-daemon-entry.js +34 -9
- package/dist/cursor/cursor-daemon-entry.js.map +1 -1
- package/dist/cursor/cursor-daemon.d.ts.map +1 -1
- package/dist/cursor/cursor-daemon.js +1 -0
- package/dist/cursor/cursor-daemon.js.map +1 -1
- package/dist/cursor/cursor-profile-executor.d.ts.map +1 -1
- package/dist/cursor/cursor-profile-executor.js +18 -17
- package/dist/cursor/cursor-profile-executor.js.map +1 -1
- package/dist/delegation/delegation-handler.d.ts.map +1 -1
- package/dist/delegation/delegation-handler.js +29 -23
- package/dist/delegation/delegation-handler.js.map +1 -1
- package/dist/delegation/headless-executor.d.ts +1 -0
- package/dist/delegation/headless-executor.d.ts.map +1 -1
- package/dist/delegation/headless-executor.js +36 -15
- package/dist/delegation/headless-executor.js.map +1 -1
- package/dist/delegation/session-manager.d.ts.map +1 -1
- package/dist/delegation/session-manager.js +12 -4
- package/dist/delegation/session-manager.js.map +1 -1
- package/dist/dispatcher/cli-argument-parser.d.ts +1 -1
- package/dist/dispatcher/cli-argument-parser.d.ts.map +1 -1
- package/dist/dispatcher/cli-argument-parser.js +24 -23
- package/dist/dispatcher/cli-argument-parser.js.map +1 -1
- package/dist/dispatcher/flows/cliproxy-flow.d.ts.map +1 -1
- package/dist/dispatcher/flows/cliproxy-flow.js +12 -15
- package/dist/dispatcher/flows/cliproxy-flow.js.map +1 -1
- package/dist/dispatcher/flows/copilot-flow.js +1 -1
- package/dist/dispatcher/flows/copilot-flow.js.map +1 -1
- package/dist/dispatcher/flows/cursor-flow.js +1 -1
- package/dist/dispatcher/flows/cursor-flow.js.map +1 -1
- package/dist/dispatcher/flows/settings-flow.d.ts.map +1 -1
- package/dist/dispatcher/flows/settings-flow.js +32 -29
- package/dist/dispatcher/flows/settings-flow.js.map +1 -1
- package/dist/dispatcher/profile-resolver.d.ts.map +1 -1
- package/dist/dispatcher/profile-resolver.js +16 -16
- package/dist/dispatcher/profile-resolver.js.map +1 -1
- package/dist/docker/supervisord-lifecycle.d.ts.map +1 -1
- package/dist/docker/supervisord-lifecycle.js +5 -1
- package/dist/docker/supervisord-lifecycle.js.map +1 -1
- package/dist/errors/error-types.d.ts +26 -22
- package/dist/errors/error-types.d.ts.map +1 -1
- package/dist/errors/error-types.js +15 -12
- package/dist/errors/error-types.js.map +1 -1
- package/dist/errors/exit-codes.d.ts +20 -13
- package/dist/errors/exit-codes.d.ts.map +1 -1
- package/dist/errors/exit-codes.js +32 -28
- package/dist/errors/exit-codes.js.map +1 -1
- package/dist/glmt/delta-accumulator.d.ts +1 -0
- package/dist/glmt/delta-accumulator.d.ts.map +1 -1
- package/dist/glmt/delta-accumulator.js +12 -4
- package/dist/glmt/delta-accumulator.js.map +1 -1
- package/dist/glmt/glmt-proxy.d.ts.map +1 -1
- package/dist/glmt/glmt-proxy.js +39 -10
- package/dist/glmt/glmt-proxy.js.map +1 -1
- package/dist/glmt/glmt-transformer.d.ts.map +1 -1
- package/dist/glmt/glmt-transformer.js +1 -4
- package/dist/glmt/glmt-transformer.js.map +1 -1
- package/dist/glmt/pipeline/request-transformer.d.ts.map +1 -1
- package/dist/glmt/pipeline/request-transformer.js +5 -1
- package/dist/glmt/pipeline/request-transformer.js.map +1 -1
- package/dist/glmt/pipeline/response-builder.d.ts.map +1 -1
- package/dist/glmt/pipeline/response-builder.js +7 -3
- package/dist/glmt/pipeline/response-builder.js.map +1 -1
- package/dist/glmt/pipeline/stream-parser.d.ts.map +1 -1
- package/dist/glmt/pipeline/stream-parser.js +11 -5
- package/dist/glmt/pipeline/stream-parser.js.map +1 -1
- package/dist/glmt/pipeline/tool-call-handler.d.ts.map +1 -1
- package/dist/glmt/pipeline/tool-call-handler.js +7 -1
- package/dist/glmt/pipeline/tool-call-handler.js.map +1 -1
- package/dist/glmt/sse-parser.d.ts +1 -0
- package/dist/glmt/sse-parser.d.ts.map +1 -1
- package/dist/glmt/sse-parser.js +7 -3
- package/dist/glmt/sse-parser.js.map +1 -1
- package/dist/management/shared-manager/fs-helpers.d.ts +69 -0
- package/dist/management/shared-manager/fs-helpers.d.ts.map +1 -0
- package/dist/management/shared-manager/fs-helpers.js +241 -0
- package/dist/management/shared-manager/fs-helpers.js.map +1 -0
- package/dist/management/shared-manager/migrations.d.ts +21 -0
- package/dist/management/shared-manager/migrations.d.ts.map +1 -0
- package/dist/management/shared-manager/migrations.js +187 -0
- package/dist/management/shared-manager/migrations.js.map +1 -0
- package/dist/management/shared-manager/orchestrator.d.ts +87 -0
- package/dist/management/shared-manager/orchestrator.d.ts.map +1 -0
- package/dist/management/shared-manager/orchestrator.js +161 -0
- package/dist/management/shared-manager/orchestrator.js.map +1 -0
- package/dist/management/shared-manager/plugin-layout-internals.d.ts +42 -0
- package/dist/management/shared-manager/plugin-layout-internals.d.ts.map +1 -0
- package/dist/management/shared-manager/plugin-layout-internals.js +192 -0
- package/dist/management/shared-manager/plugin-layout-internals.js.map +1 -0
- package/dist/management/shared-manager/plugin-metadata-normalizer.d.ts +53 -0
- package/dist/management/shared-manager/plugin-metadata-normalizer.d.ts.map +1 -0
- package/dist/management/shared-manager/plugin-metadata-normalizer.js +253 -0
- package/dist/management/shared-manager/plugin-metadata-normalizer.js.map +1 -0
- package/dist/management/shared-manager/project-context-sync.d.ts +36 -0
- package/dist/management/shared-manager/project-context-sync.d.ts.map +1 -0
- package/dist/management/shared-manager/project-context-sync.js +204 -0
- package/dist/management/shared-manager/project-context-sync.js.map +1 -0
- package/dist/management/shared-manager/project-memory-sync.d.ts +21 -0
- package/dist/management/shared-manager/project-memory-sync.d.ts.map +1 -0
- package/dist/management/shared-manager/project-memory-sync.js +113 -0
- package/dist/management/shared-manager/project-memory-sync.js.map +1 -0
- package/dist/management/shared-manager/shared-dir-linker.d.ts +41 -0
- package/dist/management/shared-manager/shared-dir-linker.d.ts.map +1 -0
- package/dist/management/shared-manager/shared-dir-linker.js +227 -0
- package/dist/management/shared-manager/shared-dir-linker.js.map +1 -0
- package/dist/management/shared-manager/symlink-helpers.d.ts +61 -0
- package/dist/management/shared-manager/symlink-helpers.d.ts.map +1 -0
- package/dist/management/shared-manager/symlink-helpers.js +243 -0
- package/dist/management/shared-manager/symlink-helpers.js.map +1 -0
- package/dist/management/shared-manager/types.d.ts +45 -0
- package/dist/management/shared-manager/types.d.ts.map +1 -0
- package/dist/management/shared-manager/types.js +57 -0
- package/dist/management/shared-manager/types.js.map +1 -0
- package/dist/management/shared-manager.d.ts +13 -160
- package/dist/management/shared-manager.d.ts.map +1 -1
- package/dist/management/shared-manager.js +18 -1294
- package/dist/management/shared-manager.js.map +1 -1
- package/dist/proxy/proxy-daemon-entry.js +1 -1
- package/dist/proxy/proxy-daemon-entry.js.map +1 -1
- package/dist/proxy/transformers/sse-stream-transformer.d.ts.map +1 -1
- package/dist/proxy/transformers/sse-stream-transformer.js +12 -17
- package/dist/proxy/transformers/sse-stream-transformer.js.map +1 -1
- package/dist/services/logging/index.d.ts +1 -1
- package/dist/services/logging/index.d.ts.map +1 -1
- package/dist/services/logging/index.js +6 -1
- package/dist/services/logging/index.js.map +1 -1
- package/dist/services/logging/log-context.d.ts +27 -2
- package/dist/services/logging/log-context.d.ts.map +1 -1
- package/dist/services/logging/log-context.js +43 -4
- package/dist/services/logging/log-context.js.map +1 -1
- package/dist/services/logging/log-redaction.d.ts +9 -0
- package/dist/services/logging/log-redaction.d.ts.map +1 -1
- package/dist/services/logging/log-redaction.js +31 -3
- package/dist/services/logging/log-redaction.js.map +1 -1
- package/dist/services/logging/logger.js +2 -2
- package/dist/services/logging/logger.js.map +1 -1
- package/dist/shared/provider-preset-catalog.js +7 -7
- package/dist/shared/provider-preset-catalog.js.map +1 -1
- package/dist/targets/codex-adapter.d.ts.map +1 -1
- package/dist/targets/codex-adapter.js +11 -10
- package/dist/targets/codex-adapter.js.map +1 -1
- package/dist/targets/droid-adapter.d.ts.map +1 -1
- package/dist/targets/droid-adapter.js +12 -12
- package/dist/targets/droid-adapter.js.map +1 -1
- package/dist/ui/assets/{Trans-BXjW_Rw3.js → Trans-GYzYLs2D.js} +1 -1
- package/dist/ui/assets/{accounts-C7JMc-UL.js → accounts-DC1QuyI9.js} +1 -1
- package/dist/ui/assets/{alert-dialog-BSSHnWG_.js → alert-dialog-6SiedqmE.js} +1 -1
- package/dist/ui/assets/{api-GzEZNvOJ.js → api-3s21dbNJ.js} +1 -1
- package/dist/ui/assets/{auth-section-B6k7LWIq.js → auth-section-XBfNgVN4.js} +1 -1
- package/dist/ui/assets/{backups-section-Cr3g01YN.js → backups-section-BidiiVlq.js} +1 -1
- package/dist/ui/assets/{channels-CMyh1yhN.js → channels-pfgPUDGt.js} +1 -1
- package/dist/ui/assets/{checkbox-BkqYXiER.js → checkbox-CJw_-nvC.js} +1 -1
- package/dist/ui/assets/{claude-extension-BzYl3zcz.js → claude-extension-BIIUOvTJ.js} +1 -1
- package/dist/ui/assets/{cliproxy-DwzKzuZI.js → cliproxy-Cq8OX0Pu.js} +1 -1
- package/dist/ui/assets/{cliproxy-ai-providers-DL95SYNa.js → cliproxy-ai-providers-DI760ZF0.js} +1 -1
- package/dist/ui/assets/{cliproxy-control-panel-Ba2Rgzdo.js → cliproxy-control-panel-CBqvpOqj.js} +1 -1
- package/dist/ui/assets/{codex-ClTEGCnr.js → codex-DL4OLBUu.js} +1 -1
- package/dist/ui/assets/{confirm-dialog-BPAO4ILr.js → confirm-dialog-CC_Cc3EO.js} +1 -1
- package/dist/ui/assets/{copilot-CymHD4gl.js → copilot-D2kEhTXR.js} +1 -1
- package/dist/ui/assets/{cursor-DAiPXs8h.js → cursor-BashLrYk.js} +1 -1
- package/dist/ui/assets/{droid-CAhLWDOj.js → droid-DaKTINFL.js} +1 -1
- package/dist/ui/assets/{globalenv-section-BK5x_uXG.js → globalenv-section-BQicL8L0.js} +1 -1
- package/dist/ui/assets/{health-D_ErMvYv.js → health-bRbE_ADg.js} +1 -1
- package/dist/ui/assets/{index-BcfwoMDm.js → index-B2JEyN3d.js} +36 -36
- package/dist/ui/assets/{index-B4cUkPwc.js → index-BwZdl1HU.js} +1 -1
- package/dist/ui/assets/{index-BZMyk4bI.js → index-CgeAb1-K.js} +1 -1
- package/dist/ui/assets/{index-BmbKPprT.js → index-DAQ0qIQ_.js} +1 -1
- package/dist/ui/assets/{index-CEjVNSjg.js → index-O2x1grGh.js} +1 -1
- package/dist/ui/assets/{index-DCC80SZ0.js → index-WA7tK6np.js} +1 -1
- package/dist/ui/assets/{index-CFDjAXOB.js → index-mf2X1GwS.js} +1 -1
- package/dist/ui/assets/{logs-DwhXr-9Y.js → logs-qrBHUJ0H.js} +1 -1
- package/dist/ui/assets/{masked-input-DWJTe7jh.js → masked-input-CXwQ4E-g.js} +1 -1
- package/dist/ui/assets/{proxy-status-widget-CJXi8yui.js → proxy-status-widget-DPz4nCzR.js} +1 -1
- package/dist/ui/assets/{raw-json-settings-editor-panel-DWhAi0kI.js → raw-json-settings-editor-panel-CcvsWVh1.js} +1 -1
- package/dist/ui/assets/{searchable-select-CYC4Y8pS.js → searchable-select-EXSjNCRu.js} +1 -1
- package/dist/ui/assets/{separator-JhuNwVKE.js → separator-D2CTfWBQ.js} +1 -1
- package/dist/ui/assets/{shared-Hpgs7l5G.js → shared-DpgzhFqe.js} +1 -1
- package/dist/ui/assets/{table-DDJTZfyL.js → table-DwbiGRYk.js} +1 -1
- package/dist/ui/assets/{updates-CtygOHUO.js → updates-D8jfIb2y.js} +1 -1
- package/dist/ui/assets/{use-accounts-CaptC8AS.js → use-accounts-Bwtpnx-x.js} +1 -1
- package/dist/ui/index.html +1 -1
- package/dist/utils/image-analysis/mcp-installer.d.ts.map +1 -1
- package/dist/utils/image-analysis/mcp-installer.js +16 -13
- package/dist/utils/image-analysis/mcp-installer.js.map +1 -1
- package/dist/utils/websearch/index.d.ts +1 -1
- package/dist/utils/websearch/index.d.ts.map +1 -1
- package/dist/utils/websearch/index.js +2 -1
- package/dist/utils/websearch/index.js.map +1 -1
- package/dist/utils/websearch/mcp-installer.d.ts +8 -0
- package/dist/utils/websearch/mcp-installer.d.ts.map +1 -1
- package/dist/utils/websearch/mcp-installer.js +34 -13
- package/dist/utils/websearch/mcp-installer.js.map +1 -1
- package/dist/utils/websearch-manager.d.ts +1 -1
- package/dist/utils/websearch-manager.d.ts.map +1 -1
- package/dist/utils/websearch-manager.js +2 -1
- package/dist/utils/websearch-manager.js.map +1 -1
- package/dist/web-server/middleware/request-logging-middleware.d.ts.map +1 -1
- package/dist/web-server/middleware/request-logging-middleware.js +14 -9
- package/dist/web-server/middleware/request-logging-middleware.js.map +1 -1
- package/dist/web-server/model-pricing.d.ts.map +1 -1
- package/dist/web-server/model-pricing.js +22 -2
- package/dist/web-server/model-pricing.js.map +1 -1
- package/dist/web-server/routes/bar-routes.d.ts +12 -1
- package/dist/web-server/routes/bar-routes.d.ts.map +1 -1
- package/dist/web-server/routes/bar-routes.js +22 -6
- package/dist/web-server/routes/bar-routes.js.map +1 -1
- package/dist/web-server/routes/claude-extension-routes.d.ts.map +1 -1
- package/dist/web-server/routes/claude-extension-routes.js +3 -2
- package/dist/web-server/routes/claude-extension-routes.js.map +1 -1
- package/dist/web-server/routes/cliproxy-auth-routes.d.ts +1 -0
- package/dist/web-server/routes/cliproxy-auth-routes.d.ts.map +1 -1
- package/dist/web-server/routes/cliproxy-auth-routes.js +20 -5
- package/dist/web-server/routes/cliproxy-auth-routes.js.map +1 -1
- package/dist/web-server/routes/cliproxy-stats-routes/config-routes.d.ts +16 -0
- package/dist/web-server/routes/cliproxy-stats-routes/config-routes.d.ts.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes/config-routes.js +219 -0
- package/dist/web-server/routes/cliproxy-stats-routes/config-routes.js.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes/error-log-routes.d.ts +12 -0
- package/dist/web-server/routes/cliproxy-stats-routes/error-log-routes.d.ts.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes/error-log-routes.js +153 -0
- package/dist/web-server/routes/cliproxy-stats-routes/error-log-routes.js.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes/quota-helpers.d.ts +19 -0
- package/dist/web-server/routes/cliproxy-stats-routes/quota-helpers.d.ts.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes/quota-helpers.js +38 -0
- package/dist/web-server/routes/cliproxy-stats-routes/quota-helpers.js.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes/quota-routes.d.ts +13 -0
- package/dist/web-server/routes/cliproxy-stats-routes/quota-routes.d.ts.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes/quota-routes.js +195 -0
- package/dist/web-server/routes/cliproxy-stats-routes/quota-routes.js.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes/restart-route.d.ts +17 -0
- package/dist/web-server/routes/cliproxy-stats-routes/restart-route.d.ts.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes/restart-route.js +34 -0
- package/dist/web-server/routes/cliproxy-stats-routes/restart-route.js.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes/router.d.ts +10 -0
- package/dist/web-server/routes/cliproxy-stats-routes/router.d.ts.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes/router.js +245 -0
- package/dist/web-server/routes/cliproxy-stats-routes/router.js.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes/shared.d.ts +35 -0
- package/dist/web-server/routes/cliproxy-stats-routes/shared.d.ts.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes/shared.js +59 -0
- package/dist/web-server/routes/cliproxy-stats-routes/shared.js.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes/version-helpers.d.ts +44 -0
- package/dist/web-server/routes/cliproxy-stats-routes/version-helpers.d.ts.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes/version-helpers.js +66 -0
- package/dist/web-server/routes/cliproxy-stats-routes/version-helpers.js.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes.d.ts +16 -57
- package/dist/web-server/routes/cliproxy-stats-routes.d.ts.map +1 -1
- package/dist/web-server/routes/cliproxy-stats-routes.js +25 -926
- package/dist/web-server/routes/cliproxy-stats-routes.js.map +1 -1
- package/dist/web-server/routes/cliproxy-sync-routes.d.ts.map +1 -1
- package/dist/web-server/routes/cliproxy-sync-routes.js +9 -2
- package/dist/web-server/routes/cliproxy-sync-routes.js.map +1 -1
- package/dist/web-server/routes/copilot-settings-routes.d.ts.map +1 -1
- package/dist/web-server/routes/copilot-settings-routes.js +2 -1
- package/dist/web-server/routes/copilot-settings-routes.js.map +1 -1
- package/dist/web-server/routes/image-analysis-routes.d.ts.map +1 -1
- package/dist/web-server/routes/image-analysis-routes.js +2 -1
- package/dist/web-server/routes/image-analysis-routes.js.map +1 -1
- package/dist/web-server/routes/persist-routes.d.ts.map +1 -1
- package/dist/web-server/routes/persist-routes.js +8 -1
- package/dist/web-server/routes/persist-routes.js.map +1 -1
- package/dist/web-server/routes/proxy-routes.d.ts.map +1 -1
- package/dist/web-server/routes/proxy-routes.js +33 -5
- package/dist/web-server/routes/proxy-routes.js.map +1 -1
- package/dist/web-server/routes/route-helpers.d.ts.map +1 -1
- package/dist/web-server/routes/route-helpers.js +10 -6
- package/dist/web-server/routes/route-helpers.js.map +1 -1
- package/dist/web-server/routes/settings-routes.d.ts.map +1 -1
- package/dist/web-server/routes/settings-routes.js +7 -6
- package/dist/web-server/routes/settings-routes.js.map +1 -1
- package/dist/web-server/usage/aggregator.d.ts.map +1 -1
- package/dist/web-server/usage/aggregator.js +8 -8
- package/dist/web-server/usage/aggregator.js.map +1 -1
- package/dist/web-server/usage/bar-analytics.d.ts +21 -0
- package/dist/web-server/usage/bar-analytics.d.ts.map +1 -1
- package/dist/web-server/usage/bar-analytics.js +78 -9
- package/dist/web-server/usage/bar-analytics.js.map +1 -1
- package/dist/web-server/usage/handlers.d.ts.map +1 -1
- package/dist/web-server/usage/handlers.js +1 -1
- package/dist/web-server/usage/handlers.js.map +1 -1
- package/dist/web-server/usage/native-quota-collector.d.ts +37 -9
- package/dist/web-server/usage/native-quota-collector.d.ts.map +1 -1
- package/dist/web-server/usage/native-quota-collector.js +226 -23
- package/dist/web-server/usage/native-quota-collector.js.map +1 -1
- package/package.json +1 -1
- package/scripts/ci-parity-gate.sh +31 -0
- package/scripts/generate-throw-error-baseline.js +103 -0
- package/scripts/hardening-inventory.js +62 -4
- package/scripts/maintainability-metrics.js +356 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Supplementary tier/credit metadata fetcher for the Gemini CLI quota fetcher.
|
|
3
|
+
*
|
|
4
|
+
* Wraps the `loadCodeAssist` endpoint to resolve the account's tier label,
|
|
5
|
+
* tier id, normalized tier (free/pro/ultra/unknown), and Google One AI credit
|
|
6
|
+
* balance. Runs alongside the primary quota fetch and shares the same
|
|
7
|
+
* managed-auth context so auth-index lookups are deduped.
|
|
8
|
+
*/
|
|
9
|
+
import type { GeminiCliCodeAssistResponse, GeminiCliSupplementaryInfo, ManagedGeminiAuthContext } from './types';
|
|
10
|
+
/**
|
|
11
|
+
* Resolve the tier id from a loadCodeAssist response.
|
|
12
|
+
* Prefers the paid tier id, then the current tier id. Lowercased.
|
|
13
|
+
* Returns null if neither is present.
|
|
14
|
+
*/
|
|
15
|
+
export declare function resolveGeminiCliTierId(payload: GeminiCliCodeAssistResponse | null): string | null;
|
|
16
|
+
/**
|
|
17
|
+
* Resolve a human-readable tier label from the loadCodeAssist tier id.
|
|
18
|
+
* Returns null when the tier id cannot be mapped to a known label.
|
|
19
|
+
*/
|
|
20
|
+
export declare function resolveGeminiCliTierLabel(payload: GeminiCliCodeAssistResponse | null): string | null;
|
|
21
|
+
/**
|
|
22
|
+
* Resolve the Google One AI credit balance for the account from the
|
|
23
|
+
* loadCodeAssist response. Sums all credits with type `GOOGLE_ONE_AI` on the
|
|
24
|
+
* paid tier (preferred) or current tier. Returns null if no matching credits
|
|
25
|
+
* are present.
|
|
26
|
+
*/
|
|
27
|
+
export declare function resolveGeminiCliCreditBalance(payload: GeminiCliCodeAssistResponse | null): number | null;
|
|
28
|
+
/**
|
|
29
|
+
* Fetch supplementary tier/credit metadata for a Gemini account via the
|
|
30
|
+
* loadCodeAssist endpoint. Never throws: on any failure returns a
|
|
31
|
+
* supplementary info with `normalizedTier: 'unknown'` so the primary quota
|
|
32
|
+
* fetch can still complete. Diagnostic logging is gated on `verbose` and
|
|
33
|
+
* records only accountId, HTTP status, and the source (managed/direct);
|
|
34
|
+
* token values are never logged.
|
|
35
|
+
*/
|
|
36
|
+
export declare function fetchGeminiCliSupplementary(accountId: string, accessToken: string, projectId: string, verbose: boolean, authContext?: ManagedGeminiAuthContext): Promise<GeminiCliSupplementaryInfo>;
|
|
37
|
+
//# sourceMappingURL=supplementary-metadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supplementary-metadata.d.ts","sourceRoot":"","sources":["../../../../src/cliproxy/quota/quota-fetcher-gemini-cli/supplementary-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,OAAO,KAAK,EACV,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACzB,MAAM,SAAS,CAAC;AAEjB;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,2BAA2B,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAMjG;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,2BAA2B,GAAG,IAAI,GAC1C,MAAM,GAAG,IAAI,CAGf;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,2BAA2B,GAAG,IAAI,GAC1C,MAAM,GAAG,IAAI,CAuBf;AAED;;;;;;;GAOG;AACH,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,EAChB,WAAW,CAAC,EAAE,wBAAwB,GACrC,OAAO,CAAC,0BAA0B,CAAC,CAuDrC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Supplementary tier/credit metadata fetcher for the Gemini CLI quota fetcher.
|
|
4
|
+
*
|
|
5
|
+
* Wraps the `loadCodeAssist` endpoint to resolve the account's tier label,
|
|
6
|
+
* tier id, normalized tier (free/pro/ultra/unknown), and Google One AI credit
|
|
7
|
+
* balance. Runs alongside the primary quota fetch and shares the same
|
|
8
|
+
* managed-auth context so auth-index lookups are deduped.
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.fetchGeminiCliSupplementary = exports.resolveGeminiCliCreditBalance = exports.resolveGeminiCliTierLabel = exports.resolveGeminiCliTierId = void 0;
|
|
12
|
+
const provider_entitlement_evidence_1 = require("../../auth/provider-entitlement-evidence");
|
|
13
|
+
const managed_request_1 = require("./managed-request");
|
|
14
|
+
const shared_utils_1 = require("./shared-utils");
|
|
15
|
+
const constants_1 = require("./constants");
|
|
16
|
+
/**
|
|
17
|
+
* Resolve the tier id from a loadCodeAssist response.
|
|
18
|
+
* Prefers the paid tier id, then the current tier id. Lowercased.
|
|
19
|
+
* Returns null if neither is present.
|
|
20
|
+
*/
|
|
21
|
+
function resolveGeminiCliTierId(payload) {
|
|
22
|
+
if (!payload)
|
|
23
|
+
return null;
|
|
24
|
+
const currentTier = payload.currentTier ?? payload.current_tier;
|
|
25
|
+
const paidTier = payload.paidTier ?? payload.paid_tier;
|
|
26
|
+
const rawId = (0, shared_utils_1.normalizeStringValue)(paidTier?.id) ?? (0, shared_utils_1.normalizeStringValue)(currentTier?.id);
|
|
27
|
+
return rawId ? rawId.toLowerCase() : null;
|
|
28
|
+
}
|
|
29
|
+
exports.resolveGeminiCliTierId = resolveGeminiCliTierId;
|
|
30
|
+
/**
|
|
31
|
+
* Resolve a human-readable tier label from the loadCodeAssist tier id.
|
|
32
|
+
* Returns null when the tier id cannot be mapped to a known label.
|
|
33
|
+
*/
|
|
34
|
+
function resolveGeminiCliTierLabel(payload) {
|
|
35
|
+
const tierId = resolveGeminiCliTierId(payload);
|
|
36
|
+
return (0, provider_entitlement_evidence_1.getProviderTierLabel)(tierId);
|
|
37
|
+
}
|
|
38
|
+
exports.resolveGeminiCliTierLabel = resolveGeminiCliTierLabel;
|
|
39
|
+
/**
|
|
40
|
+
* Resolve the Google One AI credit balance for the account from the
|
|
41
|
+
* loadCodeAssist response. Sums all credits with type `GOOGLE_ONE_AI` on the
|
|
42
|
+
* paid tier (preferred) or current tier. Returns null if no matching credits
|
|
43
|
+
* are present.
|
|
44
|
+
*/
|
|
45
|
+
function resolveGeminiCliCreditBalance(payload) {
|
|
46
|
+
if (!payload)
|
|
47
|
+
return null;
|
|
48
|
+
const paidTier = payload.paidTier ?? payload.paid_tier;
|
|
49
|
+
const currentTier = payload.currentTier ?? payload.current_tier;
|
|
50
|
+
const tier = paidTier ?? currentTier;
|
|
51
|
+
if (!tier)
|
|
52
|
+
return null;
|
|
53
|
+
const credits = tier.availableCredits ?? tier.available_credits ?? [];
|
|
54
|
+
let total = 0;
|
|
55
|
+
let found = false;
|
|
56
|
+
for (const credit of credits) {
|
|
57
|
+
const creditType = (0, shared_utils_1.normalizeStringValue)(credit.creditType ?? credit.credit_type);
|
|
58
|
+
if (creditType !== constants_1.GEMINI_CLI_G1_CREDIT_TYPE)
|
|
59
|
+
continue;
|
|
60
|
+
const amount = (0, shared_utils_1.normalizeNumberValue)(credit.creditAmount ?? credit.credit_amount);
|
|
61
|
+
if (amount !== null) {
|
|
62
|
+
total += amount;
|
|
63
|
+
found = true;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return found ? total : null;
|
|
67
|
+
}
|
|
68
|
+
exports.resolveGeminiCliCreditBalance = resolveGeminiCliCreditBalance;
|
|
69
|
+
/**
|
|
70
|
+
* Fetch supplementary tier/credit metadata for a Gemini account via the
|
|
71
|
+
* loadCodeAssist endpoint. Never throws: on any failure returns a
|
|
72
|
+
* supplementary info with `normalizedTier: 'unknown'` so the primary quota
|
|
73
|
+
* fetch can still complete. Diagnostic logging is gated on `verbose` and
|
|
74
|
+
* records only accountId, HTTP status, and the source (managed/direct);
|
|
75
|
+
* token values are never logged.
|
|
76
|
+
*/
|
|
77
|
+
async function fetchGeminiCliSupplementary(accountId, accessToken, projectId, verbose, authContext) {
|
|
78
|
+
const requestBody = JSON.stringify({
|
|
79
|
+
cloudaicompanionProject: projectId,
|
|
80
|
+
metadata: {
|
|
81
|
+
ideType: 'IDE_UNSPECIFIED',
|
|
82
|
+
platform: 'PLATFORM_UNSPECIFIED',
|
|
83
|
+
pluginType: 'GEMINI',
|
|
84
|
+
duetProject: projectId,
|
|
85
|
+
},
|
|
86
|
+
});
|
|
87
|
+
try {
|
|
88
|
+
const response = await (0, managed_request_1.performGeminiCliRequest)(accountId, accessToken, constants_1.GEMINI_CLI_CODE_ASSIST_URL, requestBody, false, authContext);
|
|
89
|
+
if (response.status !== 200) {
|
|
90
|
+
if (verbose) {
|
|
91
|
+
const source = response.viaManagement ? 'managed' : 'direct';
|
|
92
|
+
shared_utils_1.logger.info('gemini_cli.supplementary_metadata_unavailable', `Gemini CLI supplementary metadata unavailable via ${source}: HTTP ${response.status}`, { provider: 'gemini', accountId, httpStatus: response.status, source });
|
|
93
|
+
}
|
|
94
|
+
return { tierLabel: null, tierId: null, creditBalance: null, normalizedTier: 'unknown' };
|
|
95
|
+
}
|
|
96
|
+
const payload = response.json;
|
|
97
|
+
return {
|
|
98
|
+
tierLabel: resolveGeminiCliTierLabel(payload),
|
|
99
|
+
tierId: resolveGeminiCliTierId(payload),
|
|
100
|
+
creditBalance: resolveGeminiCliCreditBalance(payload),
|
|
101
|
+
normalizedTier: (0, provider_entitlement_evidence_1.normalizeProviderTierId)(resolveGeminiCliTierId(payload)),
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
if (verbose) {
|
|
106
|
+
const message = error instanceof Error ? error.message : 'Unknown error';
|
|
107
|
+
shared_utils_1.logger.info('gemini_cli.supplementary_metadata_skipped', `Gemini CLI supplementary metadata skipped: ${message}`, {
|
|
108
|
+
provider: 'gemini',
|
|
109
|
+
accountId,
|
|
110
|
+
err: error instanceof Error ? { name: error.name, message } : { message },
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
return { tierLabel: null, tierId: null, creditBalance: null, normalizedTier: 'unknown' };
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
exports.fetchGeminiCliSupplementary = fetchGeminiCliSupplementary;
|
|
117
|
+
//# sourceMappingURL=supplementary-metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supplementary-metadata.js","sourceRoot":"","sources":["../../../../src/cliproxy/quota/quota-fetcher-gemini-cli/supplementary-metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Token parsing helpers for Gemini CLI auth files.
|
|
3
|
+
*
|
|
4
|
+
* Extracts access tokens, expiry, and project IDs from the raw auth file
|
|
5
|
+
* payload. Gemini auth files come in two structural variants:
|
|
6
|
+
* - flat: { access_token, expired, project_id, account }
|
|
7
|
+
* - nested:{ token: { access_token, expiry }, project_id, account }
|
|
8
|
+
* These helpers handle both without throwing on shape mismatches.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Extract the access token from a Gemini auth file payload.
|
|
12
|
+
* Handles both flat (`access_token`) and nested (`token.access_token`) shapes.
|
|
13
|
+
* Returns null if no usable token is present.
|
|
14
|
+
*/
|
|
15
|
+
export declare function extractAccessToken(data: Record<string, unknown>): string | null;
|
|
16
|
+
/**
|
|
17
|
+
* Extract the token expiry from a Gemini auth file payload.
|
|
18
|
+
* Handles both flat (`expired`) and nested (`token.expiry`) shapes.
|
|
19
|
+
* Returns the raw string/number, or null if absent.
|
|
20
|
+
*/
|
|
21
|
+
export declare function extractExpiry(data: Record<string, unknown>): string | number | null;
|
|
22
|
+
/**
|
|
23
|
+
* Extract the project ID from an auth file's `account` field.
|
|
24
|
+
* Input shape: "user@example.com (cloudaicompanion-abc-123)"
|
|
25
|
+
* Returns the last parenthesized segment, or null if no match.
|
|
26
|
+
*
|
|
27
|
+
* Example:
|
|
28
|
+
* "user@example.com (cloudaicompanion-abc-123)" -> "cloudaicompanion-abc-123"
|
|
29
|
+
*/
|
|
30
|
+
export declare function resolveGeminiCliProjectId(accountField: string): string | null;
|
|
31
|
+
//# sourceMappingURL=token-parsing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-parsing.d.ts","sourceRoot":"","sources":["../../../../src/cliproxy/quota/quota-fetcher-gemini-cli/token-parsing.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,CAa/E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAmBnF;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ7E"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Token parsing helpers for Gemini CLI auth files.
|
|
4
|
+
*
|
|
5
|
+
* Extracts access tokens, expiry, and project IDs from the raw auth file
|
|
6
|
+
* payload. Gemini auth files come in two structural variants:
|
|
7
|
+
* - flat: { access_token, expired, project_id, account }
|
|
8
|
+
* - nested:{ token: { access_token, expiry }, project_id, account }
|
|
9
|
+
* These helpers handle both without throwing on shape mismatches.
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.resolveGeminiCliProjectId = exports.extractExpiry = exports.extractAccessToken = void 0;
|
|
13
|
+
/**
|
|
14
|
+
* Extract the access token from a Gemini auth file payload.
|
|
15
|
+
* Handles both flat (`access_token`) and nested (`token.access_token`) shapes.
|
|
16
|
+
* Returns null if no usable token is present.
|
|
17
|
+
*/
|
|
18
|
+
function extractAccessToken(data) {
|
|
19
|
+
// Flat structure: { access_token: "..." }
|
|
20
|
+
if (typeof data.access_token === 'string') {
|
|
21
|
+
return data.access_token;
|
|
22
|
+
}
|
|
23
|
+
// Nested structure: { token: { access_token: "..." } }
|
|
24
|
+
if (data.token && typeof data.token === 'object') {
|
|
25
|
+
const token = data.token;
|
|
26
|
+
if (typeof token.access_token === 'string') {
|
|
27
|
+
return token.access_token;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
exports.extractAccessToken = extractAccessToken;
|
|
33
|
+
/**
|
|
34
|
+
* Extract the token expiry from a Gemini auth file payload.
|
|
35
|
+
* Handles both flat (`expired`) and nested (`token.expiry`) shapes.
|
|
36
|
+
* Returns the raw string/number, or null if absent.
|
|
37
|
+
*/
|
|
38
|
+
function extractExpiry(data) {
|
|
39
|
+
// Flat structure: { expired: "..." }
|
|
40
|
+
if (typeof data.expired === 'string') {
|
|
41
|
+
return data.expired;
|
|
42
|
+
}
|
|
43
|
+
if (typeof data.expired === 'number') {
|
|
44
|
+
return data.expired;
|
|
45
|
+
}
|
|
46
|
+
// Nested structure: { token: { expiry: "..." } }
|
|
47
|
+
if (data.token && typeof data.token === 'object') {
|
|
48
|
+
const token = data.token;
|
|
49
|
+
if (typeof token.expiry === 'string') {
|
|
50
|
+
return token.expiry;
|
|
51
|
+
}
|
|
52
|
+
if (typeof token.expiry === 'number') {
|
|
53
|
+
return token.expiry;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
exports.extractExpiry = extractExpiry;
|
|
59
|
+
/**
|
|
60
|
+
* Extract the project ID from an auth file's `account` field.
|
|
61
|
+
* Input shape: "user@example.com (cloudaicompanion-abc-123)"
|
|
62
|
+
* Returns the last parenthesized segment, or null if no match.
|
|
63
|
+
*
|
|
64
|
+
* Example:
|
|
65
|
+
* "user@example.com (cloudaicompanion-abc-123)" -> "cloudaicompanion-abc-123"
|
|
66
|
+
*/
|
|
67
|
+
function resolveGeminiCliProjectId(accountField) {
|
|
68
|
+
const regex = /\(([^()]+)\)/g;
|
|
69
|
+
let match;
|
|
70
|
+
let lastMatch = null;
|
|
71
|
+
while ((match = regex.exec(accountField)) !== null) {
|
|
72
|
+
lastMatch = match[1];
|
|
73
|
+
}
|
|
74
|
+
return lastMatch;
|
|
75
|
+
}
|
|
76
|
+
exports.resolveGeminiCliProjectId = resolveGeminiCliProjectId;
|
|
77
|
+
//# sourceMappingURL=token-parsing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-parsing.js","sourceRoot":"","sources":["../../../../src/cliproxy/quota/quota-fetcher-gemini-cli/token-parsing.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,IAA6B;IAC9D,0CAA0C;IAC1C,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,uDAAuD;IACvD,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAgC,CAAC;QACpD,IAAI,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC3C,OAAO,KAAK,CAAC,YAAY,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAbD,gDAaC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAAC,IAA6B;IACzD,qCAAqC;IACrC,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACD,iDAAiD;IACjD,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAgC,CAAC;QACpD,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC,MAAM,CAAC;QACtB,CAAC;QACD,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC,MAAM,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAnBD,sCAmBC;AAED;;;;;;;GAOG;AACH,SAAgB,yBAAyB,CAAC,YAAoB;IAC5D,MAAM,KAAK,GAAG,eAAe,CAAC;IAC9B,IAAI,KAA6B,CAAC;IAClC,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACnD,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AARD,8DAQC"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared types for the Gemini CLI quota fetcher submodule.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from the original quota-fetcher-gemini-cli.ts god file. These
|
|
5
|
+
* interfaces describe raw API response shapes, internal parsed structures,
|
|
6
|
+
* and managed-auth context used across the submodules.
|
|
7
|
+
*/
|
|
8
|
+
import type { GeminiCliBucket, GeminiCliQuotaResult } from '../quota-types';
|
|
9
|
+
import type { ProviderEntitlementEvidence } from '../../auth/provider-entitlement-types';
|
|
10
|
+
/** Auth data extracted from a Gemini CLI auth file. */
|
|
11
|
+
export interface GeminiCliAuthData {
|
|
12
|
+
accessToken: string;
|
|
13
|
+
projectId: string | null;
|
|
14
|
+
isExpired: boolean;
|
|
15
|
+
expiresAt: string | number | null;
|
|
16
|
+
}
|
|
17
|
+
/** Raw bucket shape returned by the Gemini CLI quota API. */
|
|
18
|
+
export interface RawGeminiCliBucket {
|
|
19
|
+
model_id?: string;
|
|
20
|
+
modelId?: string;
|
|
21
|
+
token_type?: string | null;
|
|
22
|
+
tokenType?: string | null;
|
|
23
|
+
remaining_fraction?: number;
|
|
24
|
+
remainingFraction?: number;
|
|
25
|
+
remaining_amount?: number;
|
|
26
|
+
remainingAmount?: number;
|
|
27
|
+
reset_time?: string | null;
|
|
28
|
+
resetTime?: string | null;
|
|
29
|
+
}
|
|
30
|
+
/** Raw quota API response wrapper. */
|
|
31
|
+
export interface GeminiCliQuotaResponse {
|
|
32
|
+
buckets?: RawGeminiCliBucket[];
|
|
33
|
+
}
|
|
34
|
+
/** Credit entry inside a tier (supports snake_case and camelCase variants). */
|
|
35
|
+
export interface GeminiCliCredits {
|
|
36
|
+
creditType?: string;
|
|
37
|
+
credit_type?: string;
|
|
38
|
+
creditAmount?: string | number;
|
|
39
|
+
credit_amount?: string | number;
|
|
40
|
+
}
|
|
41
|
+
/** User tier inside a loadCodeAssist response. */
|
|
42
|
+
export interface GeminiCliUserTier {
|
|
43
|
+
id?: string;
|
|
44
|
+
availableCredits?: GeminiCliCredits[];
|
|
45
|
+
available_credits?: GeminiCliCredits[];
|
|
46
|
+
}
|
|
47
|
+
/** loadCodeAssist response shape (currentTier + paidTier). */
|
|
48
|
+
export interface GeminiCliCodeAssistResponse {
|
|
49
|
+
currentTier?: GeminiCliUserTier | null;
|
|
50
|
+
current_tier?: GeminiCliUserTier | null;
|
|
51
|
+
paidTier?: GeminiCliUserTier | null;
|
|
52
|
+
paid_tier?: GeminiCliUserTier | null;
|
|
53
|
+
}
|
|
54
|
+
/** Parsed error body extracted from an upstream non-200 response. */
|
|
55
|
+
export interface ParsedGeminiCliErrorBody {
|
|
56
|
+
errorCode?: string;
|
|
57
|
+
errorDetail?: string;
|
|
58
|
+
message?: string;
|
|
59
|
+
}
|
|
60
|
+
/** Supplementary tier/credit info resolved alongside the quota buckets. */
|
|
61
|
+
export interface GeminiCliSupplementaryInfo {
|
|
62
|
+
tierLabel: string | null;
|
|
63
|
+
tierId: string | null;
|
|
64
|
+
creditBalance: number | null;
|
|
65
|
+
normalizedTier: 'free' | 'pro' | 'ultra' | 'unknown';
|
|
66
|
+
}
|
|
67
|
+
/** Auth-file entry as returned by the CLIProxy management API. */
|
|
68
|
+
export interface ManagementAuthFile {
|
|
69
|
+
auth_index?: string | number;
|
|
70
|
+
provider?: string;
|
|
71
|
+
type?: string;
|
|
72
|
+
email?: string;
|
|
73
|
+
name?: string;
|
|
74
|
+
}
|
|
75
|
+
/** api-call response envelope from the CLIProxy management endpoint. */
|
|
76
|
+
export interface ManagementApiCallResponse {
|
|
77
|
+
status_code?: number;
|
|
78
|
+
body?: string;
|
|
79
|
+
}
|
|
80
|
+
/** Normalized HTTP response used by both direct and managed code paths. */
|
|
81
|
+
export interface ManagedResponse {
|
|
82
|
+
status: number;
|
|
83
|
+
bodyText: string;
|
|
84
|
+
json: unknown;
|
|
85
|
+
viaManagement: boolean;
|
|
86
|
+
}
|
|
87
|
+
/** Per-account managed-auth context used to dedupe auth-index lookups. */
|
|
88
|
+
export interface ManagedGeminiAuthContext {
|
|
89
|
+
authIndexLookupPromise?: Promise<ManagedGeminiAuthLookupResult>;
|
|
90
|
+
}
|
|
91
|
+
/** Result of looking up a Gemini auth file index via management API. */
|
|
92
|
+
export interface ManagedGeminiAuthLookupResult {
|
|
93
|
+
authIndex: string | number | null;
|
|
94
|
+
unavailable: boolean;
|
|
95
|
+
}
|
|
96
|
+
/** Result of performing a managed Gemini upstream request. */
|
|
97
|
+
export interface ManagedGeminiRequestResult {
|
|
98
|
+
response: ManagedResponse | null;
|
|
99
|
+
unavailable: boolean;
|
|
100
|
+
}
|
|
101
|
+
/** Options bag for {@link buildGeminiCliFailureResult}. */
|
|
102
|
+
export interface GeminiCliFailureResultOptions {
|
|
103
|
+
error: string;
|
|
104
|
+
httpStatus?: number;
|
|
105
|
+
errorCode?: string;
|
|
106
|
+
errorDetail?: string;
|
|
107
|
+
actionHint?: string;
|
|
108
|
+
retryable?: boolean;
|
|
109
|
+
needsReauth?: boolean;
|
|
110
|
+
isForbidden?: boolean;
|
|
111
|
+
entitlement?: ProviderEntitlementEvidence;
|
|
112
|
+
}
|
|
113
|
+
export type { GeminiCliBucket, GeminiCliQuotaResult, ProviderEntitlementEvidence };
|
|
114
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/cliproxy/quota/quota-fetcher-gemini-cli/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Shared types for the Gemini CLI quota fetcher submodule.
|
|
4
|
+
*
|
|
5
|
+
* Extracted from the original quota-fetcher-gemini-cli.ts god file. These
|
|
6
|
+
* interfaces describe raw API response shapes, internal parsed structures,
|
|
7
|
+
* and managed-auth context used across the submodules.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/cliproxy/quota/quota-fetcher-gemini-cli/types.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG"}
|
|
@@ -1,66 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Quota Fetcher for Gemini CLI Accounts
|
|
2
|
+
* Quota Fetcher for Gemini CLI Accounts (barrel)
|
|
3
3
|
*
|
|
4
4
|
* Fetches quota information from Google Cloud Code internal API.
|
|
5
5
|
* Used for displaying bucket-based quotas grouped by model series.
|
|
6
|
-
*/
|
|
7
|
-
import type { GeminiCliQuotaResult, GeminiCliBucket } from './quota-types';
|
|
8
|
-
/** Raw bucket from API response */
|
|
9
|
-
interface RawGeminiCliBucket {
|
|
10
|
-
model_id?: string;
|
|
11
|
-
modelId?: string;
|
|
12
|
-
token_type?: string | null;
|
|
13
|
-
tokenType?: string | null;
|
|
14
|
-
remaining_fraction?: number;
|
|
15
|
-
remainingFraction?: number;
|
|
16
|
-
remaining_amount?: number;
|
|
17
|
-
remainingAmount?: number;
|
|
18
|
-
reset_time?: string | null;
|
|
19
|
-
resetTime?: string | null;
|
|
20
|
-
}
|
|
21
|
-
interface ParsedGeminiCliErrorBody {
|
|
22
|
-
errorCode?: string;
|
|
23
|
-
errorDetail?: string;
|
|
24
|
-
message?: string;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Extract project ID from account field
|
|
28
|
-
* Input: "user@example.com (cloudaicompanion-abc-123)"
|
|
29
|
-
* Output: "cloudaicompanion-abc-123"
|
|
30
|
-
*/
|
|
31
|
-
declare function resolveGeminiCliProjectId(accountField: string): string | null;
|
|
32
|
-
declare function sanitizeGeminiCliErrorDetail(bodyText: string): string | undefined;
|
|
33
|
-
declare function extractGeminiCliNestedMessage(value: unknown): string | undefined;
|
|
34
|
-
declare function parseGeminiCliErrorBody(bodyText: string): ParsedGeminiCliErrorBody;
|
|
35
|
-
declare function buildGeminiCliForbiddenActionHint(parsed: ParsedGeminiCliErrorBody): string;
|
|
36
|
-
/**
|
|
37
|
-
* Build GeminiCliBucket array from API response
|
|
38
|
-
* Groups buckets by model series and token type
|
|
39
|
-
*/
|
|
40
|
-
declare function buildGeminiCliBuckets(rawBuckets: RawGeminiCliBucket[]): GeminiCliBucket[];
|
|
41
|
-
/**
|
|
42
|
-
* Fetch quota for a single Gemini CLI account
|
|
43
6
|
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
*
|
|
7
|
+
* This file is a thin re-export barrel. The implementation has been split
|
|
8
|
+
* into focused submodules under `./quota-fetcher-gemini-cli/`:
|
|
9
|
+
* - token-parsing: access token / expiry / project-id extraction
|
|
10
|
+
* - auth-file-discovery: on-disk auth-file lookup and parsing
|
|
11
|
+
* - managed-request: managed (CLIProxy) + direct upstream HTTP paths
|
|
12
|
+
* - supplementary-metadata: tier / credit resolution (loadCodeAssist)
|
|
13
|
+
* - error-parsing: error-body sanitization and failure-result builders
|
|
14
|
+
* - bucket-building: raw bucket -> normalized GeminiCliBucket array
|
|
15
|
+
* - quota-fetcher: top-level fetchGeminiCliQuota orchestration
|
|
51
16
|
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
17
|
+
* Public surface is preserved exactly: every previously-importable symbol
|
|
18
|
+
* keeps its name and signature. Token values are never logged.
|
|
54
19
|
*/
|
|
55
|
-
export
|
|
56
|
-
account: string;
|
|
57
|
-
quota: GeminiCliQuotaResult;
|
|
58
|
-
}[]>;
|
|
59
|
-
export declare const __testExports: {
|
|
60
|
-
sanitizeGeminiCliErrorDetail: typeof sanitizeGeminiCliErrorDetail;
|
|
61
|
-
extractGeminiCliNestedMessage: typeof extractGeminiCliNestedMessage;
|
|
62
|
-
parseGeminiCliErrorBody: typeof parseGeminiCliErrorBody;
|
|
63
|
-
buildGeminiCliForbiddenActionHint: typeof buildGeminiCliForbiddenActionHint;
|
|
64
|
-
};
|
|
65
|
-
export { resolveGeminiCliProjectId, buildGeminiCliBuckets };
|
|
20
|
+
export { fetchGeminiCliQuota, fetchAllGeminiCliQuotas, resolveGeminiCliProjectId, buildGeminiCliBuckets, __testExports, } from './quota-fetcher-gemini-cli/index';
|
|
66
21
|
//# sourceMappingURL=quota-fetcher-gemini-cli.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota-fetcher-gemini-cli.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/quota/quota-fetcher-gemini-cli.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"quota-fetcher-gemini-cli.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/quota/quota-fetcher-gemini-cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,EACrB,aAAa,GACd,MAAM,kCAAkC,CAAC"}
|