@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
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isQuotaSupportedProvider = exports.mapExternalProviderName = exports.getProviderTokenTypeValues = exports.getProviderAuthFilePrefixes = exports.isRefreshDelegatedToCLIProxy = exports.getTokenRefreshOwnership = exports.getCLIProxyAuthUrlProviderName = exports.getCLIProxyCallbackProviderName = exports.getOAuthCallbackPort = exports.getOAuthFlowType = exports.getDeviceCodeVerificationProviders = exports.isBrowserUrlAuthProvider = exports.getProvidersByOAuthFlow = exports.getProviderDescription = exports.getProviderDisplayName = exports.getProviderCapabilities = exports.isCLIProxyProvider = exports.buildProviderAliasMap = exports.buildProviderMap = exports.QUOTA_PROVIDER_HELP_TEXT = exports.QUOTA_PROVIDER_OPTION_VALUES = exports.QUOTA_SUPPORTED_PROVIDER_IDS = exports.BROWSER_URL_AUTH_PROVIDER_IDS = exports.CLIPROXY_PROVIDER_IDS = exports.PROVIDER_CAPABILITIES = void 0;
|
|
3
|
+
exports.isQuotaSupportedProvider = exports.mapExternalProviderName = exports.getProviderTokenTypeValues = exports.getProviderAuthFilePrefixes = exports.getUnsupportedAuthStartReason = exports.isRefreshDelegatedToCLIProxy = exports.getTokenRefreshOwnership = exports.getCLIProxyAuthUrlProviderName = exports.getCLIProxyCallbackProviderName = exports.getOAuthCallbackPort = exports.getOAuthFlowType = exports.getDeviceCodeVerificationProviders = exports.isBrowserUrlAuthProvider = exports.getProvidersByOAuthFlow = exports.getProviderDescription = exports.getProviderDisplayName = exports.getProviderCapabilities = exports.isCLIProxyProvider = exports.buildProviderAliasMap = exports.buildProviderMap = exports.QUOTA_PROVIDER_HELP_TEXT = exports.QUOTA_PROVIDER_OPTION_VALUES = exports.QUOTA_SUPPORTED_PROVIDER_IDS = exports.BROWSER_URL_AUTH_PROVIDER_IDS = exports.CLIPROXY_PROVIDER_IDS = exports.PROVIDER_CAPABILITIES = void 0;
|
|
4
|
+
const error_types_1 = require("../errors/error-types");
|
|
4
5
|
exports.PROVIDER_CAPABILITIES = {
|
|
5
6
|
gemini: {
|
|
6
7
|
displayName: 'Google Gemini',
|
|
@@ -10,6 +11,7 @@ exports.PROVIDER_CAPABILITIES = {
|
|
|
10
11
|
callbackProviderName: 'gemini',
|
|
11
12
|
authUrlProviderName: 'gemini-cli',
|
|
12
13
|
refreshOwnership: 'cliproxy',
|
|
14
|
+
authStartSupport: 'cliproxy-cli',
|
|
13
15
|
authFilePrefixes: ['gemini-', 'google-'],
|
|
14
16
|
tokenTypeValues: ['gemini'],
|
|
15
17
|
aliases: ['gemini-cli'],
|
|
@@ -22,6 +24,7 @@ exports.PROVIDER_CAPABILITIES = {
|
|
|
22
24
|
callbackProviderName: 'codex',
|
|
23
25
|
authUrlProviderName: 'codex',
|
|
24
26
|
refreshOwnership: 'cliproxy',
|
|
27
|
+
authStartSupport: 'cliproxy-cli',
|
|
25
28
|
authFilePrefixes: ['codex-', 'openai-'],
|
|
26
29
|
tokenTypeValues: ['codex'],
|
|
27
30
|
aliases: [],
|
|
@@ -34,6 +37,7 @@ exports.PROVIDER_CAPABILITIES = {
|
|
|
34
37
|
callbackProviderName: 'antigravity',
|
|
35
38
|
authUrlProviderName: 'antigravity',
|
|
36
39
|
refreshOwnership: 'cliproxy',
|
|
40
|
+
authStartSupport: 'cliproxy-cli',
|
|
37
41
|
authFilePrefixes: ['antigravity-', 'agy-'],
|
|
38
42
|
tokenTypeValues: ['antigravity'],
|
|
39
43
|
aliases: ['antigravity'],
|
|
@@ -45,7 +49,9 @@ exports.PROVIDER_CAPABILITIES = {
|
|
|
45
49
|
callbackPort: null,
|
|
46
50
|
callbackProviderName: 'qwen',
|
|
47
51
|
authUrlProviderName: 'qwen',
|
|
48
|
-
refreshOwnership: '
|
|
52
|
+
refreshOwnership: 'unsupported',
|
|
53
|
+
authStartSupport: 'unsupported',
|
|
54
|
+
authStartUnsupportedReason: 'Alibaba Qwen account linking is not supported by the bundled CLIProxy runtime. Use an API-key Qwen profile; CLIProxyAPI does not expose Qwen OAuth yet.',
|
|
49
55
|
authFilePrefixes: ['qwen-'],
|
|
50
56
|
tokenTypeValues: ['qwen'],
|
|
51
57
|
aliases: [],
|
|
@@ -58,6 +64,7 @@ exports.PROVIDER_CAPABILITIES = {
|
|
|
58
64
|
callbackProviderName: 'iflow',
|
|
59
65
|
authUrlProviderName: 'iflow',
|
|
60
66
|
refreshOwnership: 'cliproxy',
|
|
67
|
+
authStartSupport: 'cliproxy-cli',
|
|
61
68
|
authFilePrefixes: ['iflow-'],
|
|
62
69
|
tokenTypeValues: ['iflow'],
|
|
63
70
|
aliases: [],
|
|
@@ -70,6 +77,7 @@ exports.PROVIDER_CAPABILITIES = {
|
|
|
70
77
|
callbackProviderName: 'kiro',
|
|
71
78
|
authUrlProviderName: 'kiro',
|
|
72
79
|
refreshOwnership: 'cliproxy',
|
|
80
|
+
authStartSupport: 'cliproxy-cli',
|
|
73
81
|
authFilePrefixes: ['kiro-', 'aws-', 'codewhisperer-'],
|
|
74
82
|
tokenTypeValues: ['kiro', 'codewhisperer'],
|
|
75
83
|
aliases: ['codewhisperer'],
|
|
@@ -82,6 +90,7 @@ exports.PROVIDER_CAPABILITIES = {
|
|
|
82
90
|
callbackProviderName: 'copilot',
|
|
83
91
|
authUrlProviderName: 'github',
|
|
84
92
|
refreshOwnership: 'cliproxy',
|
|
93
|
+
authStartSupport: 'cliproxy-cli',
|
|
85
94
|
authFilePrefixes: ['github-copilot-', 'copilot-', 'gh-'],
|
|
86
95
|
tokenTypeValues: ['github-copilot', 'copilot'],
|
|
87
96
|
aliases: ['github-copilot', 'copilot'],
|
|
@@ -94,6 +103,7 @@ exports.PROVIDER_CAPABILITIES = {
|
|
|
94
103
|
callbackProviderName: 'anthropic',
|
|
95
104
|
authUrlProviderName: 'anthropic',
|
|
96
105
|
refreshOwnership: 'unsupported',
|
|
106
|
+
authStartSupport: 'cliproxy-cli',
|
|
97
107
|
authFilePrefixes: ['claude-', 'anthropic-'],
|
|
98
108
|
tokenTypeValues: ['claude', 'anthropic'],
|
|
99
109
|
aliases: ['anthropic'],
|
|
@@ -106,6 +116,7 @@ exports.PROVIDER_CAPABILITIES = {
|
|
|
106
116
|
callbackProviderName: 'kimi',
|
|
107
117
|
authUrlProviderName: 'kimi',
|
|
108
118
|
refreshOwnership: 'cliproxy',
|
|
119
|
+
authStartSupport: 'cliproxy-cli',
|
|
109
120
|
authFilePrefixes: ['kimi-'],
|
|
110
121
|
tokenTypeValues: ['kimi'],
|
|
111
122
|
aliases: ['moonshot'],
|
|
@@ -118,6 +129,7 @@ exports.PROVIDER_CAPABILITIES = {
|
|
|
118
129
|
callbackProviderName: 'cursor',
|
|
119
130
|
authUrlProviderName: 'cursor',
|
|
120
131
|
refreshOwnership: 'cliproxy',
|
|
132
|
+
authStartSupport: 'cliproxy-cli',
|
|
121
133
|
authFilePrefixes: ['cursor.', 'cursor-'],
|
|
122
134
|
tokenTypeValues: ['cursor'],
|
|
123
135
|
aliases: [],
|
|
@@ -130,6 +142,7 @@ exports.PROVIDER_CAPABILITIES = {
|
|
|
130
142
|
callbackProviderName: 'gitlab',
|
|
131
143
|
authUrlProviderName: 'gitlab',
|
|
132
144
|
refreshOwnership: 'cliproxy',
|
|
145
|
+
authStartSupport: 'cliproxy-cli',
|
|
133
146
|
authFilePrefixes: ['gitlab-'],
|
|
134
147
|
tokenTypeValues: ['gitlab'],
|
|
135
148
|
aliases: ['gitlab-duo'],
|
|
@@ -142,6 +155,7 @@ exports.PROVIDER_CAPABILITIES = {
|
|
|
142
155
|
callbackProviderName: 'codebuddy',
|
|
143
156
|
authUrlProviderName: 'codebuddy',
|
|
144
157
|
refreshOwnership: 'cliproxy',
|
|
158
|
+
authStartSupport: 'cliproxy-cli',
|
|
145
159
|
authFilePrefixes: ['codebuddy-'],
|
|
146
160
|
tokenTypeValues: ['codebuddy'],
|
|
147
161
|
aliases: ['tencent'],
|
|
@@ -154,6 +168,7 @@ exports.PROVIDER_CAPABILITIES = {
|
|
|
154
168
|
callbackProviderName: 'kilo',
|
|
155
169
|
authUrlProviderName: 'kilo',
|
|
156
170
|
refreshOwnership: 'unsupported',
|
|
171
|
+
authStartSupport: 'cliproxy-cli',
|
|
157
172
|
authFilePrefixes: ['kilo-'],
|
|
158
173
|
tokenTypeValues: ['kilo'],
|
|
159
174
|
aliases: [],
|
|
@@ -166,6 +181,7 @@ exports.PROVIDER_CAPABILITIES = {
|
|
|
166
181
|
callbackProviderName: 'qoder',
|
|
167
182
|
authUrlProviderName: 'qoder',
|
|
168
183
|
refreshOwnership: 'unsupported',
|
|
184
|
+
authStartSupport: 'cliproxy-cli',
|
|
169
185
|
authFilePrefixes: ['qoder-'],
|
|
170
186
|
tokenTypeValues: ['qoder'],
|
|
171
187
|
aliases: [],
|
|
@@ -209,7 +225,7 @@ function buildProviderAliasMap(capabilities = exports.PROVIDER_CAPABILITIES) {
|
|
|
209
225
|
}
|
|
210
226
|
const existingProvider = aliasMap.get(normalized);
|
|
211
227
|
if (existingProvider && existingProvider !== provider) {
|
|
212
|
-
throw new
|
|
228
|
+
throw new error_types_1.ConfigError(`Provider alias collision for "${normalized}": ${existingProvider} and ${provider}`);
|
|
213
229
|
}
|
|
214
230
|
aliasMap.set(normalized, provider);
|
|
215
231
|
};
|
|
@@ -275,6 +291,15 @@ function isRefreshDelegatedToCLIProxy(provider) {
|
|
|
275
291
|
return exports.PROVIDER_CAPABILITIES[provider].refreshOwnership === 'cliproxy';
|
|
276
292
|
}
|
|
277
293
|
exports.isRefreshDelegatedToCLIProxy = isRefreshDelegatedToCLIProxy;
|
|
294
|
+
function getUnsupportedAuthStartReason(provider) {
|
|
295
|
+
const capabilities = exports.PROVIDER_CAPABILITIES[provider];
|
|
296
|
+
if (capabilities.authStartSupport !== 'unsupported') {
|
|
297
|
+
return null;
|
|
298
|
+
}
|
|
299
|
+
return (capabilities.authStartUnsupportedReason ??
|
|
300
|
+
`${capabilities.displayName} account linking is not supported by the bundled CLIProxy runtime.`);
|
|
301
|
+
}
|
|
302
|
+
exports.getUnsupportedAuthStartReason = getUnsupportedAuthStartReason;
|
|
278
303
|
function getProviderAuthFilePrefixes(provider) {
|
|
279
304
|
return exports.PROVIDER_CAPABILITIES[provider].authFilePrefixes;
|
|
280
305
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-capabilities.js","sourceRoot":"","sources":["../../src/cliproxy/provider-capabilities.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"provider-capabilities.js","sourceRoot":"","sources":["../../src/cliproxy/provider-capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,7 +33,11 @@ export declare class HttpsTunnelProxy {
|
|
|
33
33
|
private activeConnections;
|
|
34
34
|
private readonly config;
|
|
35
35
|
constructor(config: HttpsTunnelConfig);
|
|
36
|
-
|
|
36
|
+
/**
|
|
37
|
+
* Trace-level operational log gated on verbose mode (request routing, lifecycle chatter).
|
|
38
|
+
* Errors/warnings are logged directly via logger.* and are not gated.
|
|
39
|
+
*/
|
|
40
|
+
private trace;
|
|
37
41
|
start(): Promise<number>;
|
|
38
42
|
stop(): void;
|
|
39
43
|
getPort(): number | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"https-tunnel-proxy.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/proxy/https-tunnel-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"https-tunnel-proxy.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/proxy/https-tunnel-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AASH,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8DAA8D;IAC9D,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,IAAI,CAAuB;IACnC,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAMgB;gBAE3B,MAAM,EAAE,iBAAiB;IA2BrC;;;OAGG;IACH,OAAO,CAAC,KAAK;IAMP,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAyC9B,IAAI,IAAI,IAAI;IAgBZ,OAAO,IAAI,MAAM,GAAG,IAAI;IAIxB,OAAO,CAAC,mBAAmB;YAuCb,aAAa;IAwB3B,OAAO,CAAC,cAAc;CA+DvB"}
|
|
@@ -40,6 +40,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
40
40
|
exports.HttpsTunnelProxy = void 0;
|
|
41
41
|
const http = __importStar(require("http"));
|
|
42
42
|
const https = __importStar(require("https"));
|
|
43
|
+
const logging_1 = require("../../services/logging");
|
|
44
|
+
const logger = (0, logging_1.createLogger)('cliproxy:https-tunnel-proxy');
|
|
43
45
|
class HttpsTunnelProxy {
|
|
44
46
|
constructor(config) {
|
|
45
47
|
this.server = null;
|
|
@@ -67,9 +69,13 @@ class HttpsTunnelProxy {
|
|
|
67
69
|
authToken: config.authToken,
|
|
68
70
|
};
|
|
69
71
|
}
|
|
70
|
-
|
|
72
|
+
/**
|
|
73
|
+
* Trace-level operational log gated on verbose mode (request routing, lifecycle chatter).
|
|
74
|
+
* Errors/warnings are logged directly via logger.* and are not gated.
|
|
75
|
+
*/
|
|
76
|
+
trace(message) {
|
|
71
77
|
if (this.config.verbose) {
|
|
72
|
-
|
|
78
|
+
logger.info('tunnel.trace', message);
|
|
73
79
|
}
|
|
74
80
|
}
|
|
75
81
|
async start() {
|
|
@@ -96,7 +102,7 @@ class HttpsTunnelProxy {
|
|
|
96
102
|
reject(new Error('Failed to bind to any port'));
|
|
97
103
|
return;
|
|
98
104
|
}
|
|
99
|
-
this.
|
|
105
|
+
this.trace(`Started on port ${this.port}, tunneling to https://${this.config.remoteHost}:${this.config.remotePort}`);
|
|
100
106
|
resolve(this.port);
|
|
101
107
|
});
|
|
102
108
|
this.server.on('error', (err) => {
|
|
@@ -118,7 +124,7 @@ class HttpsTunnelProxy {
|
|
|
118
124
|
this.server = null;
|
|
119
125
|
this.port = null;
|
|
120
126
|
this.startingPromise = null;
|
|
121
|
-
this.
|
|
127
|
+
this.trace('Stopped');
|
|
122
128
|
}
|
|
123
129
|
getPort() {
|
|
124
130
|
return this.port;
|
|
@@ -162,13 +168,15 @@ class HttpsTunnelProxy {
|
|
|
162
168
|
async handleRequest(req, res) {
|
|
163
169
|
const method = req.method || 'GET';
|
|
164
170
|
const requestPath = req.url || '/';
|
|
165
|
-
this.
|
|
171
|
+
this.trace(`${method} ${requestPath} → https://${this.config.remoteHost}:${this.config.remotePort}${requestPath}`);
|
|
166
172
|
try {
|
|
167
173
|
await this.forwardRequest(req, res, requestPath);
|
|
168
174
|
}
|
|
169
175
|
catch (error) {
|
|
170
176
|
const err = error;
|
|
171
|
-
|
|
177
|
+
logger.error('tunnel.request_failed', 'Tunnel request handler failed', {
|
|
178
|
+
err: { name: err.name, message: err.message },
|
|
179
|
+
});
|
|
172
180
|
if (!res.headersSent) {
|
|
173
181
|
res.writeHead(502, { 'Content-Type': 'application/json' });
|
|
174
182
|
}
|
|
@@ -200,23 +208,27 @@ class HttpsTunnelProxy {
|
|
|
200
208
|
});
|
|
201
209
|
upstreamReq.on('timeout', () => {
|
|
202
210
|
const timeoutError = new Error('Upstream request timeout');
|
|
203
|
-
|
|
211
|
+
logger.warn('tunnel.upstream_timeout', timeoutError.message);
|
|
204
212
|
upstreamReq.destroy();
|
|
205
213
|
reject(timeoutError);
|
|
206
214
|
});
|
|
207
215
|
upstreamReq.on('error', (err) => {
|
|
208
|
-
|
|
216
|
+
logger.error('tunnel.upstream_error', 'Upstream request error', {
|
|
217
|
+
err: { name: err.name, message: err.message },
|
|
218
|
+
});
|
|
209
219
|
reject(err);
|
|
210
220
|
});
|
|
211
221
|
// Handle client disconnect (premature close)
|
|
212
222
|
originalReq.on('error', (err) => {
|
|
213
|
-
|
|
223
|
+
logger.error('tunnel.client_request_error', 'Client request error', {
|
|
224
|
+
err: { name: err.name, message: err.message },
|
|
225
|
+
});
|
|
214
226
|
upstreamReq.destroy();
|
|
215
227
|
reject(err);
|
|
216
228
|
});
|
|
217
229
|
originalReq.on('close', () => {
|
|
218
230
|
if (!originalReq.complete) {
|
|
219
|
-
|
|
231
|
+
logger.warn('tunnel.client_premature_close', 'Client disconnected prematurely');
|
|
220
232
|
upstreamReq.destroy();
|
|
221
233
|
}
|
|
222
234
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"https-tunnel-proxy.js","sourceRoot":"","sources":["../../../src/cliproxy/proxy/https-tunnel-proxy.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,2CAA6B;AAC7B,6CAA+B;
|
|
1
|
+
{"version":3,"file":"https-tunnel-proxy.js","sourceRoot":"","sources":["../../../src/cliproxy/proxy/https-tunnel-proxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,20 +25,8 @@ export declare class ToolSanitizationProxy {
|
|
|
25
25
|
private server;
|
|
26
26
|
private port;
|
|
27
27
|
private readonly config;
|
|
28
|
-
private readonly logFilePath;
|
|
29
|
-
private readonly debugMode;
|
|
30
28
|
private readonly logger;
|
|
31
29
|
constructor(config: ToolSanitizationProxyConfig);
|
|
32
|
-
/**
|
|
33
|
-
* Initialize log file path and ensure directory exists.
|
|
34
|
-
*/
|
|
35
|
-
private initLogFile;
|
|
36
|
-
/**
|
|
37
|
-
* Write log entry to file (always) and console (if CCS_DEBUG=1).
|
|
38
|
-
*/
|
|
39
|
-
private writeLog;
|
|
40
|
-
private log;
|
|
41
|
-
private warn;
|
|
42
30
|
/**
|
|
43
31
|
* Start the proxy server on an ephemeral port.
|
|
44
32
|
* @returns The assigned port number
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-sanitization-proxy.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/proxy/tool-sanitization-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"tool-sanitization-proxy.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/proxy/tool-sanitization-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAsBH,MAAM,WAAW,2BAA2B;IAC1C,4BAA4B;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4CAA4C;IAC5C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAgOD,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,IAAI,CAAuB;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAC/D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoD;gBAE/D,MAAM,EAAE,2BAA2B;IAU/C;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAsB9B;;OAEG;IACH,IAAI,IAAI,IAAI;IAOZ;;OAEG;IACH,OAAO,IAAI,MAAM,GAAG,IAAI;IAIxB,OAAO,CAAC,QAAQ;YAqBF,aAAa;IAiM3B,OAAO,CAAC,mBAAmB;IAmC3B,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,UAAU;IA6DlB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAmF3B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAkK5B;;OAEG;IACH,OAAO,CAAC,eAAe;IAsDvB;;;;OAIG;IACH,OAAO,CAAC,2BAA2B;CAiCpC"}
|
|
@@ -37,16 +37,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
37
37
|
exports.ToolSanitizationProxy = void 0;
|
|
38
38
|
const http = __importStar(require("http"));
|
|
39
39
|
const https = __importStar(require("https"));
|
|
40
|
-
const fs = __importStar(require("fs"));
|
|
41
|
-
const path = __importStar(require("path"));
|
|
42
|
-
const os = __importStar(require("os"));
|
|
43
40
|
const url_1 = require("url");
|
|
44
41
|
const tool_name_mapper_1 = require("../ai-providers/tool-name-mapper");
|
|
45
42
|
const schema_sanitizer_1 = require("../ai-providers/schema-sanitizer");
|
|
46
43
|
const model_id_normalizer_1 = require("../ai-providers/model-id-normalizer");
|
|
47
44
|
const model_catalog_1 = require("../model-catalog");
|
|
48
45
|
const logging_1 = require("../../services/logging");
|
|
49
|
-
const config_loader_facade_1 = require("../../config/config-loader-facade");
|
|
50
46
|
const upstream_response_timeout_1 = require("./upstream-response-timeout");
|
|
51
47
|
/**
|
|
52
48
|
* Type guard to check if a value is a plain object (Record).
|
|
@@ -228,60 +224,6 @@ class ToolSanitizationProxy {
|
|
|
228
224
|
timeoutMs: config.timeoutMs ?? 120000,
|
|
229
225
|
allowSelfSigned: config.allowSelfSigned ?? false,
|
|
230
226
|
};
|
|
231
|
-
this.debugMode = process.env.CCS_DEBUG === '1';
|
|
232
|
-
this.logFilePath = this.initLogFile();
|
|
233
|
-
}
|
|
234
|
-
/**
|
|
235
|
-
* Initialize log file path and ensure directory exists.
|
|
236
|
-
*/
|
|
237
|
-
initLogFile() {
|
|
238
|
-
const logsDir = path.join((0, config_loader_facade_1.getCcsDir)(), 'logs');
|
|
239
|
-
try {
|
|
240
|
-
if (!fs.existsSync(logsDir)) {
|
|
241
|
-
fs.mkdirSync(logsDir, { recursive: true });
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
catch (err) {
|
|
245
|
-
// Fallback to temp directory if logs dir creation fails
|
|
246
|
-
if (this.debugMode) {
|
|
247
|
-
console.error(`[tool-sanitization-proxy] Failed to create logs dir: ${err.message}`);
|
|
248
|
-
}
|
|
249
|
-
return path.join(os.tmpdir(), 'tool-sanitization-proxy.log');
|
|
250
|
-
}
|
|
251
|
-
return path.join(logsDir, 'tool-sanitization-proxy.log');
|
|
252
|
-
}
|
|
253
|
-
/**
|
|
254
|
-
* Write log entry to file (always) and console (if CCS_DEBUG=1).
|
|
255
|
-
*/
|
|
256
|
-
writeLog(level, message) {
|
|
257
|
-
const timestamp = new Date().toISOString();
|
|
258
|
-
const prefix = level === 'info' ? '[i]' : level === 'warn' ? '[!]' : '[X]';
|
|
259
|
-
const logLine = `${timestamp} ${prefix} ${message}\n`;
|
|
260
|
-
// Always write to file
|
|
261
|
-
try {
|
|
262
|
-
fs.appendFileSync(this.logFilePath, logLine);
|
|
263
|
-
}
|
|
264
|
-
catch {
|
|
265
|
-
// Silently ignore file write errors
|
|
266
|
-
}
|
|
267
|
-
// Console output only in debug mode
|
|
268
|
-
if (this.debugMode) {
|
|
269
|
-
console.error(`${prefix} ${message}`);
|
|
270
|
-
}
|
|
271
|
-
this.logger[level](level, message, {
|
|
272
|
-
debugMode: this.debugMode,
|
|
273
|
-
logFilePath: this.logFilePath,
|
|
274
|
-
});
|
|
275
|
-
}
|
|
276
|
-
log(message) {
|
|
277
|
-
if (this.config.verbose) {
|
|
278
|
-
this.writeLog('info', `[tool-sanitization-proxy] ${message}`);
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
warn(message) {
|
|
282
|
-
if (this.config.warnOnSanitize) {
|
|
283
|
-
this.writeLog('warn', `Tool name sanitized: ${message}`);
|
|
284
|
-
}
|
|
285
227
|
}
|
|
286
228
|
/**
|
|
287
229
|
* Start the proxy server on an ephemeral port.
|
|
@@ -297,7 +239,7 @@ class ToolSanitizationProxy {
|
|
|
297
239
|
this.server.listen(0, '127.0.0.1', () => {
|
|
298
240
|
const address = this.server?.address();
|
|
299
241
|
this.port = typeof address === 'object' && address ? address.port : 0;
|
|
300
|
-
this.
|
|
242
|
+
this.logger.info('tool-sanitization.proxy.active', `Tool sanitization proxy active (port ${this.port})`);
|
|
301
243
|
resolve(this.port);
|
|
302
244
|
});
|
|
303
245
|
this.server.on('error', (err) => reject(err));
|
|
@@ -343,7 +285,9 @@ class ToolSanitizationProxy {
|
|
|
343
285
|
const upstreamBase = new url_1.URL(this.config.upstreamBaseUrl);
|
|
344
286
|
const fullUpstreamUrl = new url_1.URL(requestPath, upstreamBase);
|
|
345
287
|
const providerFromPath = (0, model_id_normalizer_1.extractProviderFromPathname)(fullUpstreamUrl.pathname);
|
|
346
|
-
this.
|
|
288
|
+
if (this.config.verbose) {
|
|
289
|
+
this.logger.info('tool-sanitization.proxy.request', `${method} ${requestPath} → ${fullUpstreamUrl.href}`);
|
|
290
|
+
}
|
|
347
291
|
// Only buffer+rewrite JSON POST requests
|
|
348
292
|
const contentType = String(req.headers['content-type'] || '');
|
|
349
293
|
const isJson = contentType.includes('application/json');
|
|
@@ -376,7 +320,11 @@ class ToolSanitizationProxy {
|
|
|
376
320
|
}
|
|
377
321
|
const normalizedModel = (0, model_id_normalizer_1.normalizeModelIdForRouting)(modifiedBody.model, providerFromPath);
|
|
378
322
|
if (normalizedModel !== modifiedBody.model) {
|
|
379
|
-
this.
|
|
323
|
+
this.logger.warn('tool-sanitization.proxy.model-normalized', `Model normalized for provider routing (${providerFromPath ?? 'root'}): "${modifiedBody.model}" → "${normalizedModel}"`, {
|
|
324
|
+
provider: providerFromPath ?? 'root',
|
|
325
|
+
from: modifiedBody.model,
|
|
326
|
+
to: normalizedModel,
|
|
327
|
+
});
|
|
380
328
|
modifiedBody = { ...modifiedBody, model: normalizedModel };
|
|
381
329
|
}
|
|
382
330
|
}
|
|
@@ -390,9 +338,14 @@ class ToolSanitizationProxy {
|
|
|
390
338
|
const schemaResult = (0, schema_sanitizer_1.sanitizeToolSchemas)(modifiedBody.tools);
|
|
391
339
|
if (schemaResult.totalRemoved > 0) {
|
|
392
340
|
for (const entry of schemaResult.removedByTool) {
|
|
393
|
-
this.
|
|
341
|
+
this.logger.warn('tool-sanitization.proxy.schema-sanitized', `Schema sanitized for "${entry.name}": removed ${entry.removed.length} Gemini-unsupported properties`, { tool: entry.name, removedFields: entry.removed });
|
|
342
|
+
}
|
|
343
|
+
if (this.config.verbose) {
|
|
344
|
+
this.logger.info('tool-sanitization.proxy.schema-summary', `Sanitized ${schemaResult.totalRemoved} schema properties across ${schemaResult.removedByTool.length} tool(s)`, {
|
|
345
|
+
totalRemoved: schemaResult.totalRemoved,
|
|
346
|
+
toolCount: schemaResult.removedByTool.length,
|
|
347
|
+
});
|
|
394
348
|
}
|
|
395
|
-
this.log(`Sanitized ${schemaResult.totalRemoved} schema properties across ${schemaResult.removedByTool.length} tool(s)`);
|
|
396
349
|
}
|
|
397
350
|
let rewrittenTools = schemaResult.tools;
|
|
398
351
|
const unsupportedToolFields = isRecord(modifiedBody) && typeof modifiedBody.model === 'string'
|
|
@@ -402,9 +355,18 @@ class ToolSanitizationProxy {
|
|
|
402
355
|
const fieldResult = stripUnsupportedToolFields(rewrittenTools, unsupportedToolFields);
|
|
403
356
|
if (fieldResult.totalRemoved > 0) {
|
|
404
357
|
for (const entry of fieldResult.removedByTool) {
|
|
405
|
-
this.
|
|
358
|
+
this.logger.warn('tool-sanitization.proxy.fields-stripped', `Tool fields stripped for "${entry.name}" (${providerFromPath ?? 'model-routed'}): ${entry.removed.join(', ')}`, {
|
|
359
|
+
tool: entry.name,
|
|
360
|
+
provider: providerFromPath ?? 'model-routed',
|
|
361
|
+
removedFields: entry.removed,
|
|
362
|
+
});
|
|
363
|
+
}
|
|
364
|
+
if (this.config.verbose) {
|
|
365
|
+
this.logger.info('tool-sanitization.proxy.fields-summary', `Stripped ${fieldResult.totalRemoved} unsupported top-level tool field(s) across ${fieldResult.removedByTool.length} tool(s)`, {
|
|
366
|
+
totalRemoved: fieldResult.totalRemoved,
|
|
367
|
+
toolCount: fieldResult.removedByTool.length,
|
|
368
|
+
});
|
|
406
369
|
}
|
|
407
|
-
this.log(`Stripped ${fieldResult.totalRemoved} unsupported top-level tool field(s) across ${fieldResult.removedByTool.length} tool(s)`);
|
|
408
370
|
}
|
|
409
371
|
rewrittenTools = fieldResult.tools;
|
|
410
372
|
}
|
|
@@ -414,16 +376,20 @@ class ToolSanitizationProxy {
|
|
|
414
376
|
// Log sanitization warnings
|
|
415
377
|
if (mapper.hasChanges()) {
|
|
416
378
|
const changes = mapper.getChanges();
|
|
417
|
-
|
|
418
|
-
|
|
379
|
+
if (this.config.warnOnSanitize) {
|
|
380
|
+
for (const change of changes) {
|
|
381
|
+
this.logger.warn('tool-sanitization.proxy.name-sanitized', `Tool name sanitized: "${change.original}" → "${change.sanitized}"`, { from: change.original, to: change.sanitized });
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
if (this.config.verbose) {
|
|
385
|
+
this.logger.info('tool-sanitization.proxy.name-summary', `Sanitized ${changes.length} tool name(s)`, { count: changes.length });
|
|
419
386
|
}
|
|
420
|
-
this.log(`Sanitized ${changes.length} tool name(s)`);
|
|
421
387
|
}
|
|
422
388
|
// Warn about hash collisions (multiple originals → same sanitized)
|
|
423
389
|
if (mapper.hasCollisions()) {
|
|
424
390
|
const collisions = mapper.getCollisions();
|
|
425
391
|
for (const collision of collisions) {
|
|
426
|
-
this.
|
|
392
|
+
this.logger.warn('tool-sanitization.proxy.hash-collision', `Hash collision detected: ${collision.originals.join(', ')} → "${collision.sanitized}"`, { originals: collision.originals, sanitized: collision.sanitized });
|
|
427
393
|
}
|
|
428
394
|
}
|
|
429
395
|
}
|
|
@@ -438,7 +404,11 @@ class ToolSanitizationProxy {
|
|
|
438
404
|
}
|
|
439
405
|
catch (error) {
|
|
440
406
|
const err = error;
|
|
441
|
-
this.
|
|
407
|
+
if (this.config.verbose) {
|
|
408
|
+
this.logger.error('tool-sanitization.proxy.request-error', `Error: ${err.message}`, {
|
|
409
|
+
error: err.message,
|
|
410
|
+
});
|
|
411
|
+
}
|
|
442
412
|
if (!res.headersSent) {
|
|
443
413
|
res.writeHead(502, { 'Content-Type': 'application/json' });
|
|
444
414
|
}
|
|
@@ -677,7 +647,7 @@ class ToolSanitizationProxy {
|
|
|
677
647
|
clearUpstreamResponseTimeout();
|
|
678
648
|
try {
|
|
679
649
|
if (!lifecycle.hasContent && isSuccessResponse && lifecycle.hasData) {
|
|
680
|
-
this.
|
|
650
|
+
this.logger.warn('tool-sanitization.proxy.empty-response', 'Empty response detected from upstream (no content blocks). Injecting synthetic response to prevent client crash.');
|
|
681
651
|
clientRes.write(this.buildSyntheticErrorResponse(lifecycle.hasMessageStart, lifecycle.hasMessageDelta, lifecycle.hasMessageStop));
|
|
682
652
|
}
|
|
683
653
|
clientRes.end();
|
|
@@ -720,7 +690,7 @@ class ToolSanitizationProxy {
|
|
|
720
690
|
}
|
|
721
691
|
// Safety net: if upstream sent data but no content blocks, inject synthetic response
|
|
722
692
|
if (!lifecycle.hasContent && isSuccessResponse && lifecycle.hasData) {
|
|
723
|
-
this.
|
|
693
|
+
this.logger.warn('tool-sanitization.proxy.empty-response', 'Empty response detected from upstream (no content blocks). Injecting synthetic response to prevent client crash.');
|
|
724
694
|
clientRes.write(this.buildSyntheticErrorResponse(lifecycle.hasMessageStart, lifecycle.hasMessageDelta, lifecycle.hasMessageStop));
|
|
725
695
|
}
|
|
726
696
|
clientRes.end();
|