@kaitranntt/ccs 7.76.0-dev.2 → 7.76.0-dev.4
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 +2 -1
- package/dist/api/services/cliproxy-profile-bridge.d.ts.map +1 -1
- package/dist/api/services/cliproxy-profile-bridge.js +5 -6
- package/dist/api/services/cliproxy-profile-bridge.js.map +1 -1
- package/dist/api/services/openrouter-catalog.js +2 -2
- package/dist/api/services/openrouter-catalog.js.map +1 -1
- package/dist/api/services/profile-lifecycle-service.d.ts.map +1 -1
- package/dist/api/services/profile-lifecycle-service.js +6 -6
- package/dist/api/services/profile-lifecycle-service.js.map +1 -1
- package/dist/api/services/profile-reader.d.ts.map +1 -1
- package/dist/api/services/profile-reader.js +14 -15
- package/dist/api/services/profile-reader.js.map +1 -1
- package/dist/api/services/profile-writer.d.ts.map +1 -1
- package/dist/api/services/profile-writer.js +13 -13
- package/dist/api/services/profile-writer.js.map +1 -1
- package/dist/auth/commands/create-command.d.ts.map +1 -1
- package/dist/auth/commands/create-command.js +2 -2
- package/dist/auth/commands/create-command.js.map +1 -1
- package/dist/auth/commands/default-command.d.ts.map +1 -1
- package/dist/auth/commands/default-command.js +3 -3
- package/dist/auth/commands/default-command.js.map +1 -1
- package/dist/auth/commands/remove-command.d.ts.map +1 -1
- package/dist/auth/commands/remove-command.js +2 -2
- package/dist/auth/commands/remove-command.js.map +1 -1
- package/dist/auth/profile-continuity-inheritance.d.ts.map +1 -1
- package/dist/auth/profile-continuity-inheritance.js +4 -4
- package/dist/auth/profile-continuity-inheritance.js.map +1 -1
- package/dist/auth/profile-detector.d.ts.map +1 -1
- package/dist/auth/profile-detector.js +5 -6
- package/dist/auth/profile-detector.js.map +1 -1
- package/dist/auth/profile-registry.d.ts.map +1 -1
- package/dist/auth/profile-registry.js +14 -15
- package/dist/auth/profile-registry.js.map +1 -1
- package/dist/auth/resume-lane-diagnostics.d.ts.map +1 -1
- package/dist/auth/resume-lane-diagnostics.js +2 -2
- package/dist/auth/resume-lane-diagnostics.js.map +1 -1
- package/dist/ccs.js +30 -1257
- package/dist/ccs.js.map +1 -1
- package/dist/channels/official-channels-ids.d.ts +21 -0
- package/dist/channels/official-channels-ids.d.ts.map +1 -0
- package/dist/channels/official-channels-ids.js +46 -0
- package/dist/channels/official-channels-ids.js.map +1 -0
- package/dist/channels/official-channels-runtime.d.ts +2 -5
- package/dist/channels/official-channels-runtime.d.ts.map +1 -1
- package/dist/channels/official-channels-runtime.js +14 -29
- package/dist/channels/official-channels-runtime.js.map +1 -1
- package/dist/channels/official-channels-store.d.ts.map +1 -1
- package/dist/channels/official-channels-store.js +2 -2
- package/dist/channels/official-channels-store.js.map +1 -1
- package/dist/cliproxy/accounts/account-safety.js +4 -4
- package/dist/cliproxy/accounts/account-safety.js.map +1 -1
- package/dist/cliproxy/auth/antigravity-responsibility.js +2 -2
- 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 +8 -8
- package/dist/cliproxy/auth/auth-token-manager.js.map +1 -1
- package/dist/cliproxy/auth/token-refresh-config.d.ts.map +1 -1
- package/dist/cliproxy/auth/token-refresh-config.js +2 -2
- package/dist/cliproxy/auth/token-refresh-config.js.map +1 -1
- package/dist/cliproxy/binary-manager.d.ts.map +1 -1
- package/dist/cliproxy/binary-manager.js +2 -2
- package/dist/cliproxy/binary-manager.js.map +1 -1
- package/dist/cliproxy/config/env-builder.d.ts.map +1 -1
- package/dist/cliproxy/config/env-builder.js +2 -2
- package/dist/cliproxy/config/env-builder.js.map +1 -1
- package/dist/cliproxy/config/generator.d.ts +6 -2
- package/dist/cliproxy/config/generator.d.ts.map +1 -1
- package/dist/cliproxy/config/generator.js +43 -10
- package/dist/cliproxy/config/generator.js.map +1 -1
- package/dist/cliproxy/config/model-config.d.ts.map +1 -1
- package/dist/cliproxy/config/model-config.js +2 -2
- package/dist/cliproxy/config/model-config.js.map +1 -1
- package/dist/cliproxy/config/path-resolver.d.ts.map +1 -1
- package/dist/cliproxy/config/path-resolver.js +4 -4
- package/dist/cliproxy/config/path-resolver.js.map +1 -1
- package/dist/cliproxy/config/thinking-config.d.ts.map +1 -1
- package/dist/cliproxy/config/thinking-config.js +2 -2
- package/dist/cliproxy/config/thinking-config.js.map +1 -1
- package/dist/cliproxy/executor/account-resolution.d.ts +52 -0
- package/dist/cliproxy/executor/account-resolution.d.ts.map +1 -0
- package/dist/cliproxy/executor/account-resolution.js +154 -0
- package/dist/cliproxy/executor/account-resolution.js.map +1 -0
- package/dist/cliproxy/executor/arg-parser.d.ts +96 -0
- package/dist/cliproxy/executor/arg-parser.d.ts.map +1 -0
- package/dist/cliproxy/executor/arg-parser.js +529 -0
- package/dist/cliproxy/executor/arg-parser.js.map +1 -0
- package/dist/cliproxy/executor/auth-coordinator.d.ts +96 -0
- package/dist/cliproxy/executor/auth-coordinator.d.ts.map +1 -0
- package/dist/cliproxy/executor/auth-coordinator.js +342 -0
- package/dist/cliproxy/executor/auth-coordinator.js.map +1 -0
- package/dist/cliproxy/executor/browser-launch-setup.d.ts +36 -0
- package/dist/cliproxy/executor/browser-launch-setup.d.ts.map +1 -0
- package/dist/cliproxy/executor/browser-launch-setup.js +80 -0
- package/dist/cliproxy/executor/browser-launch-setup.js.map +1 -0
- package/dist/cliproxy/executor/claude-launcher.d.ts +55 -0
- package/dist/cliproxy/executor/claude-launcher.d.ts.map +1 -0
- package/dist/cliproxy/executor/claude-launcher.js +112 -0
- package/dist/cliproxy/executor/claude-launcher.js.map +1 -0
- package/dist/cliproxy/executor/index.d.ts +4 -9
- package/dist/cliproxy/executor/index.d.ts.map +1 -1
- package/dist/cliproxy/executor/index.js +110 -866
- package/dist/cliproxy/executor/index.js.map +1 -1
- package/dist/cliproxy/executor/model-warnings.d.ts +22 -0
- package/dist/cliproxy/executor/model-warnings.d.ts.map +1 -0
- package/dist/cliproxy/executor/model-warnings.js +67 -0
- package/dist/cliproxy/executor/model-warnings.js.map +1 -0
- package/dist/cliproxy/executor/proxy-chain-builder.d.ts +71 -0
- package/dist/cliproxy/executor/proxy-chain-builder.d.ts.map +1 -0
- package/dist/cliproxy/executor/proxy-chain-builder.js +143 -0
- package/dist/cliproxy/executor/proxy-chain-builder.js.map +1 -0
- package/dist/cliproxy/executor/proxy-resolver.d.ts +44 -0
- package/dist/cliproxy/executor/proxy-resolver.d.ts.map +1 -0
- package/dist/cliproxy/executor/proxy-resolver.js +173 -0
- package/dist/cliproxy/executor/proxy-resolver.js.map +1 -0
- package/dist/cliproxy/proxy/proxy-target-resolver.js +2 -2
- package/dist/cliproxy/proxy/proxy-target-resolver.js.map +1 -1
- package/dist/cliproxy/proxy/tool-sanitization-proxy.d.ts.map +1 -1
- package/dist/cliproxy/proxy/tool-sanitization-proxy.js +2 -2
- package/dist/cliproxy/proxy/tool-sanitization-proxy.js.map +1 -1
- package/dist/cliproxy/quota/quota-manager.d.ts.map +1 -1
- package/dist/cliproxy/quota/quota-manager.js +4 -4
- package/dist/cliproxy/quota/quota-manager.js.map +1 -1
- package/dist/cliproxy/routing/routing-strategy.d.ts.map +1 -1
- package/dist/cliproxy/routing/routing-strategy.js +5 -5
- package/dist/cliproxy/routing/routing-strategy.js.map +1 -1
- package/dist/cliproxy/service-manager.js +2 -2
- package/dist/cliproxy/service-manager.js.map +1 -1
- package/dist/cliproxy/services/binary-service.js +8 -8
- package/dist/cliproxy/services/binary-service.js.map +1 -1
- package/dist/cliproxy/services/catalog-cache.d.ts.map +1 -1
- package/dist/cliproxy/services/catalog-cache.js +2 -2
- package/dist/cliproxy/services/catalog-cache.js.map +1 -1
- package/dist/cliproxy/services/variant-config-adapter.d.ts.map +1 -1
- package/dist/cliproxy/services/variant-config-adapter.js +10 -10
- package/dist/cliproxy/services/variant-config-adapter.js.map +1 -1
- package/dist/cliproxy/services/variant-service.d.ts.map +1 -1
- package/dist/cliproxy/services/variant-service.js +7 -8
- package/dist/cliproxy/services/variant-service.js.map +1 -1
- package/dist/cliproxy/services/variant-settings.d.ts.map +1 -1
- package/dist/cliproxy/services/variant-settings.js +5 -5
- package/dist/cliproxy/services/variant-settings.js.map +1 -1
- package/dist/cliproxy/sync/auto-sync-watcher.js +3 -4
- package/dist/cliproxy/sync/auto-sync-watcher.js.map +1 -1
- package/dist/cliproxy/sync/profile-mapper.d.ts.map +1 -1
- package/dist/cliproxy/sync/profile-mapper.js +2 -2
- package/dist/cliproxy/sync/profile-mapper.js.map +1 -1
- package/dist/commands/browser-command.d.ts.map +1 -1
- package/dist/commands/browser-command.js +7 -7
- package/dist/commands/browser-command.js.map +1 -1
- package/dist/commands/cliproxy/resolve-lifecycle-port.d.ts.map +1 -1
- package/dist/commands/cliproxy/resolve-lifecycle-port.js +2 -2
- package/dist/commands/cliproxy/resolve-lifecycle-port.js.map +1 -1
- package/dist/commands/cliproxy/variant-subcommand.d.ts.map +1 -1
- package/dist/commands/cliproxy/variant-subcommand.js +4 -4
- package/dist/commands/cliproxy/variant-subcommand.js.map +1 -1
- package/dist/commands/config-auth/disable-command.d.ts.map +1 -1
- package/dist/commands/config-auth/disable-command.js +3 -3
- package/dist/commands/config-auth/disable-command.js.map +1 -1
- package/dist/commands/config-auth/setup-command.d.ts.map +1 -1
- package/dist/commands/config-auth/setup-command.js +2 -2
- package/dist/commands/config-auth/setup-command.js.map +1 -1
- package/dist/commands/config-auth/show-command.js +2 -2
- package/dist/commands/config-auth/show-command.js.map +1 -1
- package/dist/commands/config-channels-command.d.ts.map +1 -1
- package/dist/commands/config-channels-command.js +4 -4
- package/dist/commands/config-channels-command.js.map +1 -1
- package/dist/commands/config-command.d.ts +1 -1
- package/dist/commands/config-command.d.ts.map +1 -1
- package/dist/commands/config-command.js +2 -2
- package/dist/commands/config-command.js.map +1 -1
- package/dist/commands/config-image-analysis-command.d.ts.map +1 -1
- package/dist/commands/config-image-analysis-command.js +4 -4
- package/dist/commands/config-image-analysis-command.js.map +1 -1
- package/dist/commands/config-thinking-command.d.ts.map +1 -1
- package/dist/commands/config-thinking-command.js +4 -4
- package/dist/commands/config-thinking-command.js.map +1 -1
- package/dist/commands/copilot-command.d.ts.map +1 -1
- package/dist/commands/copilot-command.js +4 -4
- package/dist/commands/copilot-command.js.map +1 -1
- package/dist/commands/cursor-command.d.ts.map +1 -1
- package/dist/commands/cursor-command.js +7 -7
- package/dist/commands/cursor-command.js.map +1 -1
- package/dist/commands/env-command.d.ts.map +1 -1
- package/dist/commands/env-command.js +2 -2
- package/dist/commands/env-command.js.map +1 -1
- package/dist/commands/migrate-command.d.ts.map +1 -1
- package/dist/commands/migrate-command.js +2 -2
- package/dist/commands/migrate-command.js.map +1 -1
- package/dist/commands/proxy-command.d.ts.map +1 -1
- package/dist/commands/proxy-command.js +2 -1
- package/dist/commands/proxy-command.js.map +1 -1
- package/dist/commands/setup-command.d.ts.map +1 -1
- package/dist/commands/setup-command.js +6 -7
- package/dist/commands/setup-command.js.map +1 -1
- package/dist/commands/version-command.d.ts.map +1 -1
- package/dist/commands/version-command.js +2 -1
- package/dist/commands/version-command.js.map +1 -1
- package/dist/config/loader/config-getters.d.ts +121 -0
- package/dist/config/loader/config-getters.d.ts.map +1 -0
- package/dist/config/loader/config-getters.js +260 -0
- package/dist/config/loader/config-getters.js.map +1 -0
- package/dist/config/loader/defaults-merger.d.ts +21 -0
- package/dist/config/loader/defaults-merger.d.ts.map +1 -0
- package/dist/config/loader/defaults-merger.js +278 -0
- package/dist/config/loader/defaults-merger.js.map +1 -0
- package/dist/config/loader/io-locks.d.ts +76 -0
- package/dist/config/loader/io-locks.d.ts.map +1 -0
- package/dist/config/loader/io-locks.js +297 -0
- package/dist/config/loader/io-locks.js.map +1 -0
- package/dist/config/loader/normalizers.d.ts +40 -0
- package/dist/config/loader/normalizers.d.ts.map +1 -0
- package/dist/config/loader/normalizers.js +172 -0
- package/dist/config/loader/normalizers.js.map +1 -0
- package/dist/config/loader/yaml-serializer.d.ts +19 -0
- package/dist/config/loader/yaml-serializer.d.ts.map +1 -0
- package/dist/config/loader/yaml-serializer.js +300 -0
- package/dist/config/loader/yaml-serializer.js.map +1 -0
- package/dist/config/schemas/cliproxy.d.ts +2 -0
- package/dist/config/schemas/cliproxy.d.ts.map +1 -1
- package/dist/config/unified-config-loader.d.ts +21 -124
- package/dist/config/unified-config-loader.d.ts.map +1 -1
- package/dist/config/unified-config-loader.js +100 -1098
- package/dist/config/unified-config-loader.js.map +1 -1
- package/dist/copilot/copilot-daemon.d.ts.map +1 -1
- package/dist/copilot/copilot-daemon.js +2 -2
- package/dist/copilot/copilot-daemon.js.map +1 -1
- package/dist/copilot/copilot-executor.d.ts.map +1 -1
- package/dist/copilot/copilot-executor.js +2 -2
- package/dist/copilot/copilot-executor.js.map +1 -1
- package/dist/copilot/copilot-package-manager.js +2 -2
- package/dist/copilot/copilot-package-manager.js.map +1 -1
- package/dist/cursor/cursor-auth.js +2 -2
- package/dist/cursor/cursor-auth.js.map +1 -1
- package/dist/cursor/cursor-daemon-pid.js +2 -2
- package/dist/cursor/cursor-daemon-pid.js.map +1 -1
- package/dist/cursor/cursor-profile-executor.d.ts.map +1 -1
- package/dist/cursor/cursor-profile-executor.js +2 -2
- package/dist/cursor/cursor-profile-executor.js.map +1 -1
- package/dist/delegation/delegation-handler.js +2 -2
- package/dist/delegation/delegation-handler.js.map +1 -1
- package/dist/delegation/headless-executor.d.ts.map +1 -1
- package/dist/delegation/headless-executor.js +4 -4
- package/dist/delegation/headless-executor.js.map +1 -1
- package/dist/delegation/session-manager.js +2 -2
- package/dist/delegation/session-manager.js.map +1 -1
- package/dist/dispatcher/cli-argument-parser.d.ts +70 -0
- package/dist/dispatcher/cli-argument-parser.d.ts.map +1 -0
- package/dist/dispatcher/cli-argument-parser.js +285 -0
- package/dist/dispatcher/cli-argument-parser.js.map +1 -0
- package/dist/dispatcher/dispatcher-context.d.ts +24 -0
- package/dist/dispatcher/dispatcher-context.d.ts.map +1 -0
- package/dist/dispatcher/dispatcher-context.js +11 -0
- package/dist/dispatcher/dispatcher-context.js.map +1 -0
- package/dist/dispatcher/environment-builder.d.ts +20 -0
- package/dist/dispatcher/environment-builder.d.ts.map +1 -0
- package/dist/dispatcher/environment-builder.js +95 -0
- package/dist/dispatcher/environment-builder.js.map +1 -0
- package/dist/dispatcher/flows/account-flow.d.ts +9 -0
- package/dist/dispatcher/flows/account-flow.d.ts.map +1 -0
- package/dist/dispatcher/flows/account-flow.js +49 -0
- package/dist/dispatcher/flows/account-flow.js.map +1 -0
- package/dist/dispatcher/flows/cliproxy-flow.d.ts +8 -0
- package/dist/dispatcher/flows/cliproxy-flow.d.ts.map +1 -0
- package/dist/dispatcher/flows/cliproxy-flow.js +165 -0
- package/dist/dispatcher/flows/cliproxy-flow.js.map +1 -0
- package/dist/dispatcher/flows/copilot-flow.d.ts +8 -0
- package/dist/dispatcher/flows/copilot-flow.d.ts.map +1 -0
- package/dist/dispatcher/flows/copilot-flow.js +72 -0
- package/dist/dispatcher/flows/copilot-flow.js.map +1 -0
- package/dist/dispatcher/flows/cursor-flow.d.ts +8 -0
- package/dist/dispatcher/flows/cursor-flow.d.ts.map +1 -0
- package/dist/dispatcher/flows/cursor-flow.js +62 -0
- package/dist/dispatcher/flows/cursor-flow.js.map +1 -0
- package/dist/dispatcher/flows/default-flow.d.ts +10 -0
- package/dist/dispatcher/flows/default-flow.d.ts.map +1 -0
- package/dist/dispatcher/flows/default-flow.js +99 -0
- package/dist/dispatcher/flows/default-flow.js.map +1 -0
- package/dist/dispatcher/flows/settings-flow.d.ts +9 -0
- package/dist/dispatcher/flows/settings-flow.d.ts.map +1 -0
- package/dist/dispatcher/flows/settings-flow.js +318 -0
- package/dist/dispatcher/flows/settings-flow.js.map +1 -0
- package/dist/dispatcher/flows/settings-image-analysis-prep.d.ts +28 -0
- package/dist/dispatcher/flows/settings-image-analysis-prep.d.ts.map +1 -0
- package/dist/dispatcher/flows/settings-image-analysis-prep.js +81 -0
- package/dist/dispatcher/flows/settings-image-analysis-prep.js.map +1 -0
- package/dist/dispatcher/pre-dispatch.d.ts +23 -0
- package/dist/dispatcher/pre-dispatch.d.ts.map +1 -0
- package/dist/dispatcher/pre-dispatch.js +156 -0
- package/dist/dispatcher/pre-dispatch.js.map +1 -0
- package/dist/dispatcher/profile-resolver.d.ts +65 -0
- package/dist/dispatcher/profile-resolver.d.ts.map +1 -0
- package/dist/dispatcher/profile-resolver.js +290 -0
- package/dist/dispatcher/profile-resolver.js.map +1 -0
- package/dist/dispatcher/target-executor.d.ts +26 -0
- package/dist/dispatcher/target-executor.d.ts.map +1 -0
- package/dist/dispatcher/target-executor.js +81 -0
- package/dist/dispatcher/target-executor.js.map +1 -0
- package/dist/docker/docker-assets.d.ts.map +1 -1
- package/dist/docker/docker-assets.js +2 -2
- package/dist/docker/docker-assets.js.map +1 -1
- package/dist/glmt/glmt-transformer.d.ts.map +1 -1
- package/dist/glmt/glmt-transformer.js +2 -2
- package/dist/glmt/glmt-transformer.js.map +1 -1
- package/dist/management/checks/config-check.d.ts.map +1 -1
- package/dist/management/checks/config-check.js +2 -2
- package/dist/management/checks/config-check.js.map +1 -1
- package/dist/management/checks/env-check.d.ts.map +1 -1
- package/dist/management/checks/env-check.js +2 -1
- package/dist/management/checks/env-check.js.map +1 -1
- package/dist/management/checks/image-analysis-check.d.ts.map +1 -1
- package/dist/management/checks/image-analysis-check.js +4 -4
- package/dist/management/checks/image-analysis-check.js.map +1 -1
- package/dist/management/checks/profile-check.js +4 -4
- package/dist/management/checks/profile-check.js.map +1 -1
- package/dist/management/checks/symlink-check.js +2 -2
- package/dist/management/checks/symlink-check.js.map +1 -1
- package/dist/management/checks/system-check.js +2 -2
- package/dist/management/checks/system-check.js.map +1 -1
- package/dist/management/instance-manager.d.ts.map +1 -1
- package/dist/management/instance-manager.js +2 -1
- package/dist/management/instance-manager.js.map +1 -1
- package/dist/management/recovery-manager.d.ts.map +1 -1
- package/dist/management/recovery-manager.js +5 -5
- package/dist/management/recovery-manager.js.map +1 -1
- package/dist/management/repair/auto-repair.d.ts.map +1 -1
- package/dist/management/repair/auto-repair.js +2 -2
- package/dist/management/repair/auto-repair.js.map +1 -1
- package/dist/management/shared-manager.d.ts.map +1 -1
- package/dist/management/shared-manager.js +2 -2
- package/dist/management/shared-manager.js.map +1 -1
- package/dist/proxy/proxy-daemon-entry.js +2 -2
- package/dist/proxy/proxy-daemon-entry.js.map +1 -1
- package/dist/proxy/proxy-daemon-paths.js +2 -2
- package/dist/proxy/proxy-daemon-paths.js.map +1 -1
- package/dist/proxy/proxy-port-resolver.js +2 -2
- package/dist/proxy/proxy-port-resolver.js.map +1 -1
- package/dist/proxy/request-router.d.ts.map +1 -1
- package/dist/proxy/request-router.js +3 -3
- package/dist/proxy/request-router.js.map +1 -1
- package/dist/services/logging/log-config.d.ts.map +1 -1
- package/dist/services/logging/log-config.js +3 -3
- package/dist/services/logging/log-config.js.map +1 -1
- package/dist/services/logging/log-paths.js +3 -3
- package/dist/services/logging/log-paths.js.map +1 -1
- package/dist/utils/browser/browser-setup.d.ts +2 -2
- package/dist/utils/browser/browser-setup.d.ts.map +1 -1
- package/dist/utils/browser/browser-setup.js +4 -4
- package/dist/utils/browser/browser-setup.js.map +1 -1
- package/dist/utils/browser/browser-status.d.ts.map +1 -1
- package/dist/utils/browser/browser-status.js +3 -3
- package/dist/utils/browser/browser-status.js.map +1 -1
- package/dist/utils/hooks/get-image-analysis-hook-env.d.ts.map +1 -1
- package/dist/utils/hooks/get-image-analysis-hook-env.js +2 -2
- package/dist/utils/hooks/get-image-analysis-hook-env.js.map +1 -1
- package/dist/utils/hooks/image-analyzer-hook-configuration.d.ts.map +1 -1
- package/dist/utils/hooks/image-analyzer-hook-configuration.js +2 -2
- package/dist/utils/hooks/image-analyzer-hook-configuration.js.map +1 -1
- package/dist/utils/hooks/image-analyzer-hook-installer.d.ts.map +1 -1
- package/dist/utils/hooks/image-analyzer-hook-installer.js +2 -2
- package/dist/utils/hooks/image-analyzer-hook-installer.js.map +1 -1
- package/dist/utils/hooks/image-analyzer-profile-hook-injector.d.ts.map +1 -1
- package/dist/utils/hooks/image-analyzer-profile-hook-injector.js +2 -2
- package/dist/utils/hooks/image-analyzer-profile-hook-injector.js.map +1 -1
- package/dist/utils/image-analysis/mcp-installer.d.ts.map +1 -1
- package/dist/utils/image-analysis/mcp-installer.js +5 -5
- package/dist/utils/image-analysis/mcp-installer.js.map +1 -1
- package/dist/utils/shell-executor.d.ts.map +1 -1
- package/dist/utils/shell-executor.js +2 -2
- package/dist/utils/shell-executor.js.map +1 -1
- package/dist/utils/websearch/hook-config.d.ts.map +1 -1
- package/dist/utils/websearch/hook-config.js +3 -3
- package/dist/utils/websearch/hook-config.js.map +1 -1
- package/dist/utils/websearch/hook-env.js +2 -2
- package/dist/utils/websearch/hook-env.js.map +1 -1
- package/dist/utils/websearch/hook-installer.d.ts.map +1 -1
- package/dist/utils/websearch/hook-installer.js +2 -2
- package/dist/utils/websearch/hook-installer.js.map +1 -1
- package/dist/utils/websearch/mcp-installer.d.ts.map +1 -1
- package/dist/utils/websearch/mcp-installer.js +5 -5
- package/dist/utils/websearch/mcp-installer.js.map +1 -1
- package/dist/utils/websearch/profile-hook-injector.d.ts.map +1 -1
- package/dist/utils/websearch/profile-hook-injector.js +3 -3
- package/dist/utils/websearch/profile-hook-injector.js.map +1 -1
- package/dist/utils/websearch/provider-secrets.js +2 -2
- package/dist/utils/websearch/provider-secrets.js.map +1 -1
- package/dist/utils/websearch/status.d.ts.map +1 -1
- package/dist/utils/websearch/status.js +4 -4
- package/dist/utils/websearch/status.js.map +1 -1
- package/dist/web-server/file-watcher.js +2 -2
- package/dist/web-server/file-watcher.js.map +1 -1
- package/dist/web-server/health/config-checks.d.ts.map +1 -1
- package/dist/web-server/health/config-checks.js +3 -3
- package/dist/web-server/health/config-checks.js.map +1 -1
- package/dist/web-server/health/profile-checks.d.ts.map +1 -1
- package/dist/web-server/health/profile-checks.js +3 -3
- package/dist/web-server/health/profile-checks.js.map +1 -1
- package/dist/web-server/health-service.d.ts.map +1 -1
- package/dist/web-server/health-service.js +7 -6
- package/dist/web-server/health-service.js.map +1 -1
- package/dist/web-server/middleware/auth-middleware.d.ts.map +1 -1
- package/dist/web-server/middleware/auth-middleware.js +6 -7
- package/dist/web-server/middleware/auth-middleware.js.map +1 -1
- package/dist/web-server/models-dev/registry-cache.d.ts.map +1 -1
- package/dist/web-server/models-dev/registry-cache.js +2 -2
- package/dist/web-server/models-dev/registry-cache.js.map +1 -1
- package/dist/web-server/overview-routes.d.ts.map +1 -1
- package/dist/web-server/overview-routes.js +2 -2
- package/dist/web-server/overview-routes.js.map +1 -1
- package/dist/web-server/routes/account-routes.d.ts.map +1 -1
- package/dist/web-server/routes/account-routes.js +7 -7
- package/dist/web-server/routes/account-routes.js.map +1 -1
- package/dist/web-server/routes/auth-routes.d.ts.map +1 -1
- package/dist/web-server/routes/auth-routes.js +4 -4
- package/dist/web-server/routes/auth-routes.js.map +1 -1
- package/dist/web-server/routes/browser-routes.d.ts.map +1 -1
- package/dist/web-server/routes/browser-routes.js +2 -2
- package/dist/web-server/routes/browser-routes.js.map +1 -1
- package/dist/web-server/routes/channels-routes.d.ts.map +1 -1
- package/dist/web-server/routes/channels-routes.js +4 -4
- package/dist/web-server/routes/channels-routes.js.map +1 -1
- package/dist/web-server/routes/cliproxy-auth-routes.d.ts.map +1 -1
- package/dist/web-server/routes/cliproxy-auth-routes.js +2 -2
- package/dist/web-server/routes/cliproxy-auth-routes.js.map +1 -1
- package/dist/web-server/routes/cliproxy-local-proxy.d.ts.map +1 -1
- package/dist/web-server/routes/cliproxy-local-proxy.js +2 -2
- package/dist/web-server/routes/cliproxy-local-proxy.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 +2 -2
- package/dist/web-server/routes/cliproxy-sync-routes.js.map +1 -1
- package/dist/web-server/routes/config-routes.d.ts.map +1 -1
- package/dist/web-server/routes/config-routes.js +6 -6
- package/dist/web-server/routes/config-routes.js.map +1 -1
- package/dist/web-server/routes/copilot-routes.d.ts.map +1 -1
- package/dist/web-server/routes/copilot-routes.js +3 -3
- package/dist/web-server/routes/copilot-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 +6 -7
- package/dist/web-server/routes/copilot-settings-routes.js.map +1 -1
- package/dist/web-server/routes/cursor-routes.d.ts.map +1 -1
- package/dist/web-server/routes/cursor-routes.js +5 -5
- package/dist/web-server/routes/cursor-routes.js.map +1 -1
- package/dist/web-server/routes/cursor-settings-routes.d.ts.map +1 -1
- package/dist/web-server/routes/cursor-settings-routes.js +8 -9
- package/dist/web-server/routes/cursor-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 +5 -6
- package/dist/web-server/routes/image-analysis-routes.js.map +1 -1
- package/dist/web-server/routes/misc-routes.d.ts.map +1 -1
- package/dist/web-server/routes/misc-routes.js +10 -11
- package/dist/web-server/routes/misc-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 +18 -10
- 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 +7 -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 +8 -9
- package/dist/web-server/routes/settings-routes.js.map +1 -1
- package/dist/web-server/routes/websearch-routes.d.ts.map +1 -1
- package/dist/web-server/routes/websearch-routes.js +4 -4
- package/dist/web-server/routes/websearch-routes.js.map +1 -1
- package/dist/web-server/services/claude-extension-binding-service.js +2 -2
- package/dist/web-server/services/claude-extension-binding-service.js.map +1 -1
- package/dist/web-server/services/logs-dashboard-service.d.ts.map +1 -1
- package/dist/web-server/services/logs-dashboard-service.js +2 -2
- package/dist/web-server/services/logs-dashboard-service.js.map +1 -1
- package/dist/web-server/shared-routes.d.ts.map +1 -1
- package/dist/web-server/shared-routes.js +4 -4
- package/dist/web-server/shared-routes.js.map +1 -1
- package/dist/web-server/usage/aggregator.d.ts.map +1 -1
- package/dist/web-server/usage/aggregator.js +2 -2
- package/dist/web-server/usage/aggregator.js.map +1 -1
- package/dist/web-server/usage/cliproxy-usage-syncer.d.ts.map +1 -1
- package/dist/web-server/usage/cliproxy-usage-syncer.js +2 -2
- package/dist/web-server/usage/cliproxy-usage-syncer.js.map +1 -1
- package/dist/web-server/usage/disk-cache.js +2 -2
- package/dist/web-server/usage/disk-cache.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Auth Coordinator — Executor-level authentication handoff
|
|
4
|
+
*
|
|
5
|
+
* Extracted from executor/index.ts (Phase 06).
|
|
6
|
+
* Handles:
|
|
7
|
+
* - --logout early exit
|
|
8
|
+
* - --import token early exit (Kiro only)
|
|
9
|
+
* - --auth / forceAuth OAuth flow (single + composite providers)
|
|
10
|
+
* - Antigravity responsibility gate (run and oauth contexts)
|
|
11
|
+
* - isAuthenticated checks + automatic OAuth trigger
|
|
12
|
+
* - Proactive token refresh (multi-provider for composite)
|
|
13
|
+
* - lastUsedAt touch via touchDefaultAccount
|
|
14
|
+
* - Preflight quota check
|
|
15
|
+
* - Account safety guards (cross-provider isolation)
|
|
16
|
+
* - First-run model configuration
|
|
17
|
+
*
|
|
18
|
+
* ORDERING (load-bearing — do not change):
|
|
19
|
+
* 1. logout/import/forceAuth early exits
|
|
20
|
+
* 2. Remote-proxy auth skip detection
|
|
21
|
+
* 3. Antigravity gate (oauth context: remote+forceAuth | run context: else branch)
|
|
22
|
+
* 4. OAuth check / trigger (single or composite)
|
|
23
|
+
* 5. Token refresh
|
|
24
|
+
* 6. lastUsedAt touch
|
|
25
|
+
* 7. Preflight quota check
|
|
26
|
+
* 8. Account safety guards
|
|
27
|
+
* 9. First-run model configuration
|
|
28
|
+
*/
|
|
29
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
30
|
+
if (k2 === undefined) k2 = k;
|
|
31
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
32
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
33
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
34
|
+
}
|
|
35
|
+
Object.defineProperty(o, k2, desc);
|
|
36
|
+
}) : (function(o, m, k, k2) {
|
|
37
|
+
if (k2 === undefined) k2 = k;
|
|
38
|
+
o[k2] = m[k];
|
|
39
|
+
}));
|
|
40
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
41
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
42
|
+
}) : function(o, v) {
|
|
43
|
+
o["default"] = v;
|
|
44
|
+
});
|
|
45
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
46
|
+
if (mod && mod.__esModule) return mod;
|
|
47
|
+
var result = {};
|
|
48
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
49
|
+
__setModuleDefault(result, mod);
|
|
50
|
+
return result;
|
|
51
|
+
};
|
|
52
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
|
+
exports.ensureProviderSettingsFile = exports.ensureModelConfiguration = exports.runAccountSafetyGuards = exports.runPreflightQuotaCheck = exports.ensureProviderAuthentication = exports.runAntigravityGate = exports.resolveSkipLocalAuth = exports.handleImport = exports.handleLogout = void 0;
|
|
54
|
+
const ui_1 = require("../../utils/ui");
|
|
55
|
+
const auth_handler_1 = require("../auth/auth-handler");
|
|
56
|
+
const config_generator_1 = require("../config/config-generator");
|
|
57
|
+
const model_config_1 = require("../config/model-config");
|
|
58
|
+
const codex_plan_compatibility_1 = require("../ai-providers/codex-plan-compatibility");
|
|
59
|
+
const model_catalog_1 = require("../model-catalog");
|
|
60
|
+
const antigravity_responsibility_1 = require("../auth/antigravity-responsibility");
|
|
61
|
+
const retry_handler_1 = require("./retry-handler");
|
|
62
|
+
const account_resolution_1 = require("./account-resolution");
|
|
63
|
+
const quota_manager_1 = require("../quota/quota-manager");
|
|
64
|
+
// ── 1. Special early-exit auth flags (logout / import) ────────────────────────
|
|
65
|
+
/**
|
|
66
|
+
* Handle --logout: clear auth and exit 0.
|
|
67
|
+
* Returns true if early exit occurred (caller should return immediately).
|
|
68
|
+
*/
|
|
69
|
+
async function handleLogout(context) {
|
|
70
|
+
const { provider, parsedFlags } = context;
|
|
71
|
+
if (!parsedFlags.forceLogout)
|
|
72
|
+
return false;
|
|
73
|
+
const providerConfig = (0, config_generator_1.getProviderConfig)(provider);
|
|
74
|
+
const { clearAuth } = await Promise.resolve().then(() => __importStar(require('../auth/auth-handler')));
|
|
75
|
+
if (clearAuth(provider)) {
|
|
76
|
+
console.log((0, ui_1.ok)(`Logged out from ${providerConfig.displayName}`));
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
console.log((0, ui_1.info)(`No authentication found for ${providerConfig.displayName}`));
|
|
80
|
+
}
|
|
81
|
+
process.exit(0);
|
|
82
|
+
}
|
|
83
|
+
exports.handleLogout = handleLogout;
|
|
84
|
+
/**
|
|
85
|
+
* Handle --import: Kiro-only token import flow, exits when done.
|
|
86
|
+
* Returns true if early exit occurred.
|
|
87
|
+
*/
|
|
88
|
+
async function handleImport(context) {
|
|
89
|
+
const { provider, parsedFlags, verbose } = context;
|
|
90
|
+
const { forceImport, forceAuth, forceLogout, kiroAuthMethod, kiroIDCStartUrl, kiroIDCRegion, kiroIDCFlow, setNickname, } = parsedFlags;
|
|
91
|
+
if (!forceImport)
|
|
92
|
+
return false;
|
|
93
|
+
if (provider !== 'kiro') {
|
|
94
|
+
console.error((0, ui_1.fail)('--import is only available for Kiro'));
|
|
95
|
+
console.error(` Run "ccs ${provider} --auth" to authenticate`);
|
|
96
|
+
process.exit(1);
|
|
97
|
+
}
|
|
98
|
+
if (forceAuth) {
|
|
99
|
+
console.error((0, ui_1.fail)('Cannot use --import with --auth'));
|
|
100
|
+
console.error(' --import: Import existing token from Kiro IDE');
|
|
101
|
+
console.error(' --auth: Trigger new OAuth flow in browser');
|
|
102
|
+
process.exit(1);
|
|
103
|
+
}
|
|
104
|
+
if (forceLogout) {
|
|
105
|
+
console.error((0, ui_1.fail)('Cannot use --import with --logout'));
|
|
106
|
+
process.exit(1);
|
|
107
|
+
}
|
|
108
|
+
const { triggerOAuth } = await Promise.resolve().then(() => __importStar(require('../auth/auth-handler')));
|
|
109
|
+
const authSuccess = await triggerOAuth(provider, {
|
|
110
|
+
verbose,
|
|
111
|
+
import: true,
|
|
112
|
+
...(kiroAuthMethod ? { kiroMethod: kiroAuthMethod } : {}),
|
|
113
|
+
...(kiroIDCStartUrl ? { kiroIDCStartUrl } : {}),
|
|
114
|
+
...(kiroIDCRegion ? { kiroIDCRegion } : {}),
|
|
115
|
+
...(kiroIDCFlow ? { kiroIDCFlow } : {}),
|
|
116
|
+
...(setNickname ? { nickname: setNickname } : {}),
|
|
117
|
+
});
|
|
118
|
+
if (!authSuccess) {
|
|
119
|
+
console.error((0, ui_1.fail)('Failed to import Kiro token from IDE'));
|
|
120
|
+
console.error(' Make sure you are logged into Kiro IDE first');
|
|
121
|
+
process.exit(1);
|
|
122
|
+
}
|
|
123
|
+
process.exit(0);
|
|
124
|
+
}
|
|
125
|
+
exports.handleImport = handleImport;
|
|
126
|
+
// ── 2. Remote proxy auth skip ──────────────────────────────────────────────────
|
|
127
|
+
/**
|
|
128
|
+
* Returns true when a remote proxy with an authToken is active —
|
|
129
|
+
* local OAuth is not needed in this case.
|
|
130
|
+
*/
|
|
131
|
+
function resolveSkipLocalAuth(remoteAuthToken, useRemoteProxy) {
|
|
132
|
+
return useRemoteProxy && !!remoteAuthToken?.trim();
|
|
133
|
+
}
|
|
134
|
+
exports.resolveSkipLocalAuth = resolveSkipLocalAuth;
|
|
135
|
+
// ── 3. Antigravity responsibility gate ────────────────────────────────────────
|
|
136
|
+
/**
|
|
137
|
+
* Runs the Antigravity responsibility gate for the relevant code path.
|
|
138
|
+
*
|
|
139
|
+
* Two scenarios (must match original ordering in index.ts):
|
|
140
|
+
* A. provider=agy + forceAuth + skipLocalAuth → oauth-context gate; if refused, log and return
|
|
141
|
+
* (caller must return early — this function returns { earlyReturn: true })
|
|
142
|
+
* B. provider=agy + !forceAuth + (skipLocalAuth || !requiresAuthNow) → run-context gate;
|
|
143
|
+
* if refused, log and process.exit(1)
|
|
144
|
+
*
|
|
145
|
+
* Returns { earlyReturn: true } when the caller should return immediately (case A refused).
|
|
146
|
+
*/
|
|
147
|
+
async function runAntigravityGate(context, skipLocalAuth) {
|
|
148
|
+
const { provider, parsedFlags } = context;
|
|
149
|
+
const { forceAuth, acceptAgyRisk } = parsedFlags;
|
|
150
|
+
if (provider !== 'agy')
|
|
151
|
+
return { earlyReturn: false };
|
|
152
|
+
const providerConfig = (0, config_generator_1.getProviderConfig)(provider);
|
|
153
|
+
const requiresAuthNow = providerConfig.requiresOAuth && !(0, auth_handler_1.isAuthenticated)(provider);
|
|
154
|
+
if (forceAuth && skipLocalAuth) {
|
|
155
|
+
// Case A: remote proxy + forceAuth — gate in oauth context, skip local OAuth
|
|
156
|
+
const acknowledged = await (0, antigravity_responsibility_1.ensureCliAntigravityResponsibility)({
|
|
157
|
+
context: 'oauth',
|
|
158
|
+
acceptedByFlag: acceptAgyRisk,
|
|
159
|
+
});
|
|
160
|
+
if (!acknowledged) {
|
|
161
|
+
throw new Error(`Antigravity auth blocked. Re-run after completing confirmation or pass ${antigravity_responsibility_1.ANTIGRAVITY_ACCEPT_RISK_FLAGS[0]}.`);
|
|
162
|
+
}
|
|
163
|
+
console.error((0, ui_1.info)('Remote proxy mode is active; local OAuth flow is skipped in --auth mode.'));
|
|
164
|
+
return { earlyReturn: true };
|
|
165
|
+
}
|
|
166
|
+
if (!forceAuth) {
|
|
167
|
+
// Case B: run-context gate (only when auth not immediately required)
|
|
168
|
+
if (skipLocalAuth || !requiresAuthNow) {
|
|
169
|
+
const acknowledged = await (0, antigravity_responsibility_1.ensureCliAntigravityResponsibility)({
|
|
170
|
+
context: 'run',
|
|
171
|
+
acceptedByFlag: acceptAgyRisk,
|
|
172
|
+
});
|
|
173
|
+
if (!acknowledged) {
|
|
174
|
+
console.error((0, ui_1.fail)(`Antigravity session blocked. Re-run after completing confirmation or pass ${antigravity_responsibility_1.ANTIGRAVITY_ACCEPT_RISK_FLAGS[0]}.`));
|
|
175
|
+
process.exit(1);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
return { earlyReturn: false };
|
|
180
|
+
}
|
|
181
|
+
exports.runAntigravityGate = runAntigravityGate;
|
|
182
|
+
// ── 4–6. OAuth check / trigger + token refresh + account touch ─────────────────
|
|
183
|
+
/**
|
|
184
|
+
* Ensure provider(s) are authenticated; trigger OAuth if needed.
|
|
185
|
+
* Handles both composite (multi-provider) and single-provider flows.
|
|
186
|
+
* Also runs proactive token refresh and touches lastUsedAt.
|
|
187
|
+
*
|
|
188
|
+
* Only called when providerConfig.requiresOAuth && !skipLocalAuth.
|
|
189
|
+
*/
|
|
190
|
+
async function ensureProviderAuthentication(context) {
|
|
191
|
+
const { provider, compositeProviders, parsedFlags, verbose, log } = context;
|
|
192
|
+
const { forceAuth, addAccount, acceptAgyRisk, kiroAuthMethod, kiroIDCStartUrl, kiroIDCRegion, kiroIDCFlow, gitlabTokenLogin, gitlabBaseUrl, forceHeadless, setNickname, noIncognito, pasteCallback, portForward, } = parsedFlags;
|
|
193
|
+
log(`Checking authentication for ${provider}`);
|
|
194
|
+
// Multi-provider path (composite variants)
|
|
195
|
+
if (compositeProviders.length > 0) {
|
|
196
|
+
if (forceAuth) {
|
|
197
|
+
const { triggerOAuth } = await Promise.resolve().then(() => __importStar(require('../auth/auth-handler')));
|
|
198
|
+
const failures = [];
|
|
199
|
+
for (const p of compositeProviders) {
|
|
200
|
+
const authSuccess = await triggerOAuth(p, {
|
|
201
|
+
verbose,
|
|
202
|
+
add: addAccount,
|
|
203
|
+
...(acceptAgyRisk ? { acceptAgyRisk: true } : {}),
|
|
204
|
+
...(kiroAuthMethod && p === 'kiro' ? { kiroMethod: kiroAuthMethod } : {}),
|
|
205
|
+
...(kiroIDCStartUrl && p === 'kiro' ? { kiroIDCStartUrl } : {}),
|
|
206
|
+
...(kiroIDCRegion && p === 'kiro' ? { kiroIDCRegion } : {}),
|
|
207
|
+
...(kiroIDCFlow && p === 'kiro' ? { kiroIDCFlow } : {}),
|
|
208
|
+
...(gitlabTokenLogin && p === 'gitlab' ? { gitlabAuthMode: 'pat' } : {}),
|
|
209
|
+
...(gitlabBaseUrl && p === 'gitlab' ? { gitlabBaseUrl } : {}),
|
|
210
|
+
...(forceHeadless ? { headless: true } : {}),
|
|
211
|
+
...(setNickname ? { nickname: setNickname } : {}),
|
|
212
|
+
...(noIncognito ? { noIncognito: true } : {}),
|
|
213
|
+
...(pasteCallback ? { pasteCallback: true } : {}),
|
|
214
|
+
...(portForward ? { portForward: true } : {}),
|
|
215
|
+
});
|
|
216
|
+
if (!authSuccess) {
|
|
217
|
+
failures.push(p);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
if (failures.length > 0) {
|
|
221
|
+
const succeeded = compositeProviders.filter((p) => !failures.includes(p));
|
|
222
|
+
console.error((0, ui_1.fail)(`Auth failed for: ${failures.join(', ')}`));
|
|
223
|
+
if (succeeded.length > 0) {
|
|
224
|
+
console.error((0, ui_1.info)(`Succeeded: ${succeeded.join(', ')}`));
|
|
225
|
+
}
|
|
226
|
+
process.exit(1);
|
|
227
|
+
}
|
|
228
|
+
process.exit(0);
|
|
229
|
+
}
|
|
230
|
+
// Check for unauthenticated providers
|
|
231
|
+
const unauthenticatedProviders = [];
|
|
232
|
+
for (const p of compositeProviders) {
|
|
233
|
+
if (!(0, auth_handler_1.isAuthenticated)(p)) {
|
|
234
|
+
unauthenticatedProviders.push(p);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
if (unauthenticatedProviders.length > 0) {
|
|
238
|
+
console.error((0, ui_1.fail)('Composite variant requires authentication for multiple providers:'));
|
|
239
|
+
for (const p of unauthenticatedProviders) {
|
|
240
|
+
console.error(` - ${p} (run "ccs ${p} --auth")`);
|
|
241
|
+
}
|
|
242
|
+
process.exit(1);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
// Single-provider path
|
|
247
|
+
if (forceAuth || !(0, auth_handler_1.isAuthenticated)(provider)) {
|
|
248
|
+
const { triggerOAuth } = await Promise.resolve().then(() => __importStar(require('../auth/auth-handler')));
|
|
249
|
+
const providerConfig = (0, config_generator_1.getProviderConfig)(provider);
|
|
250
|
+
const authSuccess = await triggerOAuth(provider, {
|
|
251
|
+
verbose,
|
|
252
|
+
add: addAccount,
|
|
253
|
+
...(acceptAgyRisk ? { acceptAgyRisk: true } : {}),
|
|
254
|
+
...(kiroAuthMethod ? { kiroMethod: kiroAuthMethod } : {}),
|
|
255
|
+
...(kiroIDCStartUrl ? { kiroIDCStartUrl } : {}),
|
|
256
|
+
...(kiroIDCRegion ? { kiroIDCRegion } : {}),
|
|
257
|
+
...(kiroIDCFlow ? { kiroIDCFlow } : {}),
|
|
258
|
+
...(gitlabTokenLogin ? { gitlabAuthMode: 'pat' } : {}),
|
|
259
|
+
...(gitlabBaseUrl ? { gitlabBaseUrl } : {}),
|
|
260
|
+
...(forceHeadless ? { headless: true } : {}),
|
|
261
|
+
...(setNickname ? { nickname: setNickname } : {}),
|
|
262
|
+
...(noIncognito ? { noIncognito: true } : {}),
|
|
263
|
+
...(pasteCallback ? { pasteCallback: true } : {}),
|
|
264
|
+
...(portForward ? { portForward: true } : {}),
|
|
265
|
+
});
|
|
266
|
+
if (!authSuccess) {
|
|
267
|
+
throw new Error(`Authentication required for ${providerConfig.displayName}`);
|
|
268
|
+
}
|
|
269
|
+
if (forceAuth) {
|
|
270
|
+
process.exit(0);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
else {
|
|
274
|
+
log(`${provider} already authenticated`);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
// 3a. Proactive token refresh (multi-provider for composite)
|
|
278
|
+
if (compositeProviders.length > 0) {
|
|
279
|
+
for (const p of compositeProviders) {
|
|
280
|
+
await (0, retry_handler_1.handleTokenExpiration)(p, verbose);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
else {
|
|
284
|
+
await (0, retry_handler_1.handleTokenExpiration)(provider, verbose);
|
|
285
|
+
}
|
|
286
|
+
// 3a-1. Update lastUsedAt
|
|
287
|
+
(0, account_resolution_1.touchDefaultAccount)(provider);
|
|
288
|
+
}
|
|
289
|
+
exports.ensureProviderAuthentication = ensureProviderAuthentication;
|
|
290
|
+
// ── 7. Preflight quota check ──────────────────────────────────────────────────
|
|
291
|
+
/**
|
|
292
|
+
* Preflight quota check for providers with quota-based rotation.
|
|
293
|
+
* Only runs when !skipLocalAuth.
|
|
294
|
+
*/
|
|
295
|
+
async function runPreflightQuotaCheck(provider, compositeProviders) {
|
|
296
|
+
if (compositeProviders.length > 0) {
|
|
297
|
+
for (const managedProvider of quota_manager_1.MANAGED_QUOTA_PROVIDERS) {
|
|
298
|
+
if (compositeProviders.includes(managedProvider)) {
|
|
299
|
+
await (0, retry_handler_1.handleQuotaCheck)(managedProvider);
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
else {
|
|
304
|
+
await (0, retry_handler_1.handleQuotaCheck)(provider);
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
exports.runPreflightQuotaCheck = runPreflightQuotaCheck;
|
|
308
|
+
// ── 8. Account safety guards ──────────────────────────────────────────────────
|
|
309
|
+
/**
|
|
310
|
+
* Enforce cross-provider account isolation. Only runs when !skipLocalAuth.
|
|
311
|
+
*/
|
|
312
|
+
function runAccountSafetyGuards(provider, compositeProviders) {
|
|
313
|
+
(0, account_resolution_1.applyAccountSafetyGuards)(provider, compositeProviders);
|
|
314
|
+
}
|
|
315
|
+
exports.runAccountSafetyGuards = runAccountSafetyGuards;
|
|
316
|
+
// ── 9. First-run model configuration ─────────────────────────────────────────
|
|
317
|
+
/**
|
|
318
|
+
* Ensure provider model is configured on first run.
|
|
319
|
+
* Skipped for composite variants and remote proxy mode.
|
|
320
|
+
* Also reconciles Codex model for active plan.
|
|
321
|
+
*/
|
|
322
|
+
async function ensureModelConfiguration(provider, cfg, verbose) {
|
|
323
|
+
if (!cfg.isComposite && (0, model_catalog_1.supportsModelConfig)(provider)) {
|
|
324
|
+
await (0, model_config_1.configureProviderModel)(provider, false, cfg.customSettingsPath);
|
|
325
|
+
}
|
|
326
|
+
if (provider === 'codex' && !cfg.isComposite) {
|
|
327
|
+
await (0, codex_plan_compatibility_1.reconcileCodexModelForActivePlan)({
|
|
328
|
+
currentModel: (0, model_config_1.getCurrentModel)(provider, cfg.customSettingsPath),
|
|
329
|
+
verbose,
|
|
330
|
+
});
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
exports.ensureModelConfiguration = ensureModelConfiguration;
|
|
334
|
+
// ── Ensure provider settings file ────────────────────────────────────────────
|
|
335
|
+
/**
|
|
336
|
+
* Ensure the provider settings file exists.
|
|
337
|
+
*/
|
|
338
|
+
function ensureProviderSettingsFile(provider) {
|
|
339
|
+
(0, config_generator_1.ensureProviderSettings)(provider);
|
|
340
|
+
}
|
|
341
|
+
exports.ensureProviderSettingsFile = ensureProviderSettingsFile;
|
|
342
|
+
//# sourceMappingURL=auth-coordinator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-coordinator.js","sourceRoot":"","sources":["../../../src/cliproxy/executor/auth-coordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser Launch Setup — Executor-level browser initialization
|
|
3
|
+
*
|
|
4
|
+
* Extracted from executor/index.ts (Phase 04).
|
|
5
|
+
* Handles:
|
|
6
|
+
* 1. Browser launch flag resolution and override parsing
|
|
7
|
+
* 2. Browser attach config + exposure resolution + blocked-override warning
|
|
8
|
+
* 3. Optional browser attach runtime resolution (devtools WebSocket)
|
|
9
|
+
* 4. Browser MCP ensure + sync-to-config-dir
|
|
10
|
+
*/
|
|
11
|
+
import { type BrowserLaunchOverride } from '../../utils/browser';
|
|
12
|
+
export interface BrowserLaunchSetupResult {
|
|
13
|
+
/** CLI override flag if --browser-launch / --no-browser-launch was passed */
|
|
14
|
+
browserLaunchOverride: BrowserLaunchOverride | undefined;
|
|
15
|
+
/** args list with --browser-launch* flags removed */
|
|
16
|
+
argsWithoutBrowserFlags: string[];
|
|
17
|
+
/** Devtools WebSocket env vars if browser attach runtime is active */
|
|
18
|
+
browserRuntimeEnv: Record<string, string> | undefined;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Phase 1 — resolve browser CLI flags and attach config.
|
|
22
|
+
* Call this immediately after resolveExecutorProxy so that
|
|
23
|
+
* argsWithoutBrowserFlags is available for downstream parsing.
|
|
24
|
+
*
|
|
25
|
+
* @returns partial setup result (no async work yet)
|
|
26
|
+
*/
|
|
27
|
+
export declare function resolveBrowserLaunchFlags(argsWithoutProxy: string[]): {
|
|
28
|
+
browserLaunchOverride: BrowserLaunchOverride | undefined;
|
|
29
|
+
argsWithoutBrowserFlags: string[];
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Phase 2 — resolve async browser attach runtime and MCP setup.
|
|
33
|
+
* Must be called AFTER phase-1 and AFTER ensureWebSearchMcpOrThrow().
|
|
34
|
+
*/
|
|
35
|
+
export declare function resolveBrowserRuntime(browserLaunchOverride: BrowserLaunchOverride | undefined, inheritedClaudeConfigDir: string | undefined): Promise<Pick<BrowserLaunchSetupResult, 'browserRuntimeEnv'>>;
|
|
36
|
+
//# sourceMappingURL=browser-launch-setup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-launch-setup.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/executor/browser-launch-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EACL,KAAK,qBAAqB,EAQ3B,MAAM,qBAAqB,CAAC;AAG7B,MAAM,WAAW,wBAAwB;IACvC,6EAA6E;IAC7E,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,CAAC;IACzD,qDAAqD;IACrD,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,sEAAsE;IACtE,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CACvD;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,gBAAgB,EAAE,MAAM,EAAE,GAAG;IACrE,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,CAAC;IACzD,uBAAuB,EAAE,MAAM,EAAE,CAAC;CACnC,CA+BA;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,EACxD,wBAAwB,EAAE,MAAM,GAAG,SAAS,GAC3C,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,mBAAmB,CAAC,CAAC,CAkC9D"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Browser Launch Setup — Executor-level browser initialization
|
|
4
|
+
*
|
|
5
|
+
* Extracted from executor/index.ts (Phase 04).
|
|
6
|
+
* Handles:
|
|
7
|
+
* 1. Browser launch flag resolution and override parsing
|
|
8
|
+
* 2. Browser attach config + exposure resolution + blocked-override warning
|
|
9
|
+
* 3. Optional browser attach runtime resolution (devtools WebSocket)
|
|
10
|
+
* 4. Browser MCP ensure + sync-to-config-dir
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.resolveBrowserRuntime = exports.resolveBrowserLaunchFlags = void 0;
|
|
14
|
+
const ui_1 = require("../../utils/ui");
|
|
15
|
+
const browser_1 = require("../../utils/browser");
|
|
16
|
+
const config_loader_facade_1 = require("../../config/config-loader-facade");
|
|
17
|
+
/**
|
|
18
|
+
* Phase 1 — resolve browser CLI flags and attach config.
|
|
19
|
+
* Call this immediately after resolveExecutorProxy so that
|
|
20
|
+
* argsWithoutBrowserFlags is available for downstream parsing.
|
|
21
|
+
*
|
|
22
|
+
* @returns partial setup result (no async work yet)
|
|
23
|
+
*/
|
|
24
|
+
function resolveBrowserLaunchFlags(argsWithoutProxy) {
|
|
25
|
+
let browserLaunchOverride;
|
|
26
|
+
let argsWithoutBrowserFlags = argsWithoutProxy;
|
|
27
|
+
try {
|
|
28
|
+
const browserLaunchFlags = (0, browser_1.resolveBrowserLaunchFlagResolution)(argsWithoutProxy);
|
|
29
|
+
browserLaunchOverride = browserLaunchFlags.override;
|
|
30
|
+
argsWithoutBrowserFlags = browserLaunchFlags.argsWithoutFlags;
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
console.error((0, ui_1.warn)(error.message));
|
|
34
|
+
process.exit(1);
|
|
35
|
+
return { browserLaunchOverride: undefined, argsWithoutBrowserFlags };
|
|
36
|
+
}
|
|
37
|
+
const browserConfig = (0, config_loader_facade_1.getBrowserConfig)();
|
|
38
|
+
const browserAttachConfig = (0, browser_1.getEffectiveClaudeBrowserAttachConfig)(browserConfig);
|
|
39
|
+
const claudeBrowserExposure = (0, browser_1.resolveBrowserExposure)({
|
|
40
|
+
enabled: browserAttachConfig.enabled,
|
|
41
|
+
policy: browserConfig.claude.policy,
|
|
42
|
+
}, browserLaunchOverride);
|
|
43
|
+
const blockedBrowserOverrideWarning = (0, browser_1.getBlockedBrowserOverrideWarning)('Claude Browser Attach', claudeBrowserExposure);
|
|
44
|
+
if (blockedBrowserOverrideWarning) {
|
|
45
|
+
console.error((0, ui_1.warn)(blockedBrowserOverrideWarning));
|
|
46
|
+
}
|
|
47
|
+
return { browserLaunchOverride, argsWithoutBrowserFlags };
|
|
48
|
+
}
|
|
49
|
+
exports.resolveBrowserLaunchFlags = resolveBrowserLaunchFlags;
|
|
50
|
+
/**
|
|
51
|
+
* Phase 2 — resolve async browser attach runtime and MCP setup.
|
|
52
|
+
* Must be called AFTER phase-1 and AFTER ensureWebSearchMcpOrThrow().
|
|
53
|
+
*/
|
|
54
|
+
async function resolveBrowserRuntime(browserLaunchOverride, inheritedClaudeConfigDir) {
|
|
55
|
+
const browserConfig = (0, config_loader_facade_1.getBrowserConfig)();
|
|
56
|
+
const browserAttachConfig = (0, browser_1.getEffectiveClaudeBrowserAttachConfig)(browserConfig);
|
|
57
|
+
const claudeBrowserExposure = (0, browser_1.resolveBrowserExposure)({
|
|
58
|
+
enabled: browserAttachConfig.enabled,
|
|
59
|
+
policy: browserConfig.claude.policy,
|
|
60
|
+
}, browserLaunchOverride);
|
|
61
|
+
const browserAttachRuntime = browserAttachConfig.enabled && claudeBrowserExposure.exposeForLaunch
|
|
62
|
+
? await (0, browser_1.resolveOptionalBrowserAttachRuntime)(browserAttachConfig)
|
|
63
|
+
: undefined;
|
|
64
|
+
const browserRuntimeEnv = browserAttachRuntime?.runtimeEnv;
|
|
65
|
+
if (browserAttachRuntime?.warning) {
|
|
66
|
+
process.stderr.write(`${(0, ui_1.warn)(browserAttachRuntime.warning)}\n`);
|
|
67
|
+
}
|
|
68
|
+
if (browserRuntimeEnv) {
|
|
69
|
+
(0, browser_1.ensureBrowserMcpOrThrow)();
|
|
70
|
+
}
|
|
71
|
+
// Sync browser MCP config into inherited Claude instance if browser is active
|
|
72
|
+
if (browserRuntimeEnv && inheritedClaudeConfigDir) {
|
|
73
|
+
if (!(0, browser_1.syncBrowserMcpToConfigDir)(inheritedClaudeConfigDir)) {
|
|
74
|
+
throw new Error('Browser MCP is enabled, but CCS could not sync the browser MCP config into the inherited Claude instance.');
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return { browserRuntimeEnv };
|
|
78
|
+
}
|
|
79
|
+
exports.resolveBrowserRuntime = resolveBrowserRuntime;
|
|
80
|
+
//# sourceMappingURL=browser-launch-setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-launch-setup.js","sourceRoot":"","sources":["../../../src/cliproxy/executor/browser-launch-setup.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,uCAAsC;AACtC,iDAS6B;AAC7B,4EAAqE;AAWrE;;;;;;GAMG;AACH,SAAgB,yBAAyB,CAAC,gBAA0B;IAIlE,IAAI,qBAAwD,CAAC;IAC7D,IAAI,uBAAuB,GAAG,gBAAgB,CAAC;IAC/C,IAAI,CAAC;QACH,MAAM,kBAAkB,GAAG,IAAA,4CAAkC,EAAC,gBAAgB,CAAC,CAAC;QAChF,qBAAqB,GAAG,kBAAkB,CAAC,QAAQ,CAAC;QACpD,uBAAuB,GAAG,kBAAkB,CAAC,gBAAgB,CAAC;IAChE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,IAAA,SAAI,EAAE,KAAe,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC;IACvE,CAAC;IAED,MAAM,aAAa,GAAG,IAAA,uCAAgB,GAAE,CAAC;IACzC,MAAM,mBAAmB,GAAG,IAAA,+CAAqC,EAAC,aAAa,CAAC,CAAC;IACjF,MAAM,qBAAqB,GAAG,IAAA,gCAAsB,EAClD;QACE,OAAO,EAAE,mBAAmB,CAAC,OAAO;QACpC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM;KACpC,EACD,qBAAqB,CACtB,CAAC;IACF,MAAM,6BAA6B,GAAG,IAAA,0CAAgC,EACpE,uBAAuB,EACvB,qBAAqB,CACtB,CAAC;IACF,IAAI,6BAA6B,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,IAAA,SAAI,EAAC,6BAA6B,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,CAAC;AAC5D,CAAC;AAlCD,8DAkCC;AAED;;;GAGG;AACI,KAAK,UAAU,qBAAqB,CACzC,qBAAwD,EACxD,wBAA4C;IAE5C,MAAM,aAAa,GAAG,IAAA,uCAAgB,GAAE,CAAC;IACzC,MAAM,mBAAmB,GAAG,IAAA,+CAAqC,EAAC,aAAa,CAAC,CAAC;IACjF,MAAM,qBAAqB,GAAG,IAAA,gCAAsB,EAClD;QACE,OAAO,EAAE,mBAAmB,CAAC,OAAO;QACpC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM;KACpC,EACD,qBAAqB,CACtB,CAAC;IAEF,MAAM,oBAAoB,GACxB,mBAAmB,CAAC,OAAO,IAAI,qBAAqB,CAAC,eAAe;QAClE,CAAC,CAAC,MAAM,IAAA,6CAAmC,EAAC,mBAAmB,CAAC;QAChE,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,UAAU,CAAC;IAC3D,IAAI,oBAAoB,EAAE,OAAO,EAAE,CAAC;QAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAA,SAAI,EAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,iBAAiB,EAAE,CAAC;QACtB,IAAA,iCAAuB,GAAE,CAAC;IAC5B,CAAC;IAED,8EAA8E;IAC9E,IAAI,iBAAiB,IAAI,wBAAwB,EAAE,CAAC;QAClD,IAAI,CAAC,IAAA,mCAAyB,EAAC,wBAAwB,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CACb,2GAA2G,CAC5G,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC/B,CAAC;AArCD,sDAqCC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Launcher — Concern H
|
|
3
|
+
*
|
|
4
|
+
* Handles final argument assembly, trace context injection, Windows shell
|
|
5
|
+
* escaping, spawning the Claude CLI process, starting the runtime quota
|
|
6
|
+
* monitor, and wiring up cleanup handlers.
|
|
7
|
+
*/
|
|
8
|
+
/// <reference types="node" />
|
|
9
|
+
/// <reference types="bun-types" />
|
|
10
|
+
/// <reference types="node" />
|
|
11
|
+
import { ChildProcess } from 'child_process';
|
|
12
|
+
import { CLIProxyProvider, ExecutorConfig } from '../types';
|
|
13
|
+
import { CodexReasoningProxy } from '../ai-providers/codex-reasoning-proxy';
|
|
14
|
+
import { ToolSanitizationProxy } from '../proxy/tool-sanitization-proxy';
|
|
15
|
+
import { HttpsTunnelProxy } from '../proxy/https-tunnel-proxy';
|
|
16
|
+
export interface ClaudeLaunchContext {
|
|
17
|
+
/** Path to the Claude CLI executable */
|
|
18
|
+
claudeCli: string;
|
|
19
|
+
/** Pre-filtered Claude args (CCS flags already stripped) */
|
|
20
|
+
claudeArgs: string[];
|
|
21
|
+
/** Fully assembled environment variables (without trace additions) */
|
|
22
|
+
env: NodeJS.ProcessEnv;
|
|
23
|
+
/** Resolved executor config */
|
|
24
|
+
cfg: ExecutorConfig;
|
|
25
|
+
/** Active CLIProxy provider */
|
|
26
|
+
provider: CLIProxyProvider;
|
|
27
|
+
/** Providers derived from composite tiers (empty for simple providers) */
|
|
28
|
+
compositeProviders: CLIProxyProvider[];
|
|
29
|
+
/** Whether local OAuth was skipped (remote proxy auth in use) */
|
|
30
|
+
skipLocalAuth: boolean;
|
|
31
|
+
/** Session ID for cleanup tracking */
|
|
32
|
+
sessionId: string | undefined;
|
|
33
|
+
/** Whether image analysis MCP is ready */
|
|
34
|
+
imageAnalysisMcpReady: boolean;
|
|
35
|
+
/** Browser runtime environment variables (undefined if browser not active) */
|
|
36
|
+
browserRuntimeEnv: NodeJS.ProcessEnv | undefined;
|
|
37
|
+
/** Inherited Claude config dir for continuity */
|
|
38
|
+
inheritedClaudeConfigDir: string | undefined;
|
|
39
|
+
/** Active Codex reasoning proxy (if any) */
|
|
40
|
+
codexReasoningProxy: CodexReasoningProxy | null;
|
|
41
|
+
/** Active tool sanitization proxy (if any) */
|
|
42
|
+
toolSanitizationProxy: ToolSanitizationProxy | null;
|
|
43
|
+
/** Active HTTPS tunnel proxy (if any) */
|
|
44
|
+
httpsTunnel: HttpsTunnelProxy | null;
|
|
45
|
+
/** Whether verbose logging is enabled */
|
|
46
|
+
verbose: boolean;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Assemble final Claude CLI arguments, inject trace context, spawn the process,
|
|
50
|
+
* start the runtime quota monitor, and wire cleanup handlers.
|
|
51
|
+
*
|
|
52
|
+
* @returns The spawned ChildProcess for the Claude CLI.
|
|
53
|
+
*/
|
|
54
|
+
export declare function launchClaude(context: ClaudeLaunchContext): Promise<ChildProcess>;
|
|
55
|
+
//# sourceMappingURL=claude-launcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-launcher.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/executor/claude-launcher.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;;;AAEH,OAAO,EAAS,YAAY,EAAE,MAAM,eAAe,CAAC;AAYpD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAI/D,MAAM,WAAW,mBAAmB;IAClC,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,sEAAsE;IACtE,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,+BAA+B;IAC/B,GAAG,EAAE,cAAc,CAAC;IACpB,+BAA+B;IAC/B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,0EAA0E;IAC1E,kBAAkB,EAAE,gBAAgB,EAAE,CAAC;IACvC,iEAAiE;IACjE,aAAa,EAAE,OAAO,CAAC;IACvB,sCAAsC;IACtC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,0CAA0C;IAC1C,qBAAqB,EAAE,OAAO,CAAC;IAC/B,8EAA8E;IAC9E,iBAAiB,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;IACjD,iDAAiD;IACjD,wBAAwB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,4CAA4C;IAC5C,mBAAmB,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAChD,8CAA8C;IAC9C,qBAAqB,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACpD,yCAAyC;IACzC,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,yCAAyC;IACzC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC,CA8FtF"}
|