@kaitranntt/ccs 7.76.0 → 7.77.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 +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/lifecycle.js +2 -2
- package/dist/cliproxy/binary/lifecycle.js.map +1 -1
- package/dist/cliproxy/binary/platform-detector.d.ts +4 -4
- package/dist/cliproxy/binary/platform-detector.d.ts.map +1 -1
- package/dist/cliproxy/binary/platform-detector.js +2 -2
- package/dist/cliproxy/binary/platform-detector.js.map +1 -1
- package/dist/cliproxy/binary-manager.d.ts.map +1 -1
- package/dist/cliproxy/binary-manager.js +5 -3
- 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/port-manager.d.ts +6 -0
- package/dist/cliproxy/config/port-manager.d.ts.map +1 -1
- package/dist/cliproxy/config/port-manager.js +19 -1
- package/dist/cliproxy/config/port-manager.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.d.ts.map +1 -1
- package/dist/cliproxy/proxy/proxy-target-resolver.js +3 -3
- 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-fetcher.d.ts.map +1 -1
- package/dist/cliproxy/quota/quota-fetcher.js +28 -9
- package/dist/cliproxy/quota/quota-fetcher.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/proxy-lifecycle-service.d.ts +1 -0
- package/dist/cliproxy/services/proxy-lifecycle-service.d.ts.map +1 -1
- package/dist/cliproxy/services/proxy-lifecycle-service.js +6 -6
- package/dist/cliproxy/services/proxy-lifecycle-service.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/session-tracker.d.ts +1 -0
- package/dist/cliproxy/session-tracker.d.ts.map +1 -1
- package/dist/cliproxy/session-tracker.js +14 -8
- package/dist/cliproxy/session-tracker.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/proxy-lifecycle-subcommand.js +5 -5
- package/dist/commands/cliproxy/proxy-lifecycle-subcommand.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 +4 -4
- 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 +3 -3
- 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 +10 -1
- package/dist/cursor/cursor-profile-executor.d.ts.map +1 -1
- package/dist/cursor/cursor-profile-executor.js +10 -6
- 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 +5 -5
- 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/targets/droid-provider.d.ts.map +1 -1
- package/dist/targets/droid-provider.js +9 -6
- package/dist/targets/droid-provider.js.map +1 -1
- package/dist/ui/assets/{accounts-CDgKt-GZ.js → accounts-CybVGDsm.js} +1 -1
- package/dist/ui/assets/{alert-dialog-CRqbTpjm.js → alert-dialog-C6npAhT0.js} +1 -1
- package/dist/ui/assets/{api-C7W2ibtd.js → api-DZosWVkR.js} +1 -1
- package/dist/ui/assets/{auth-section-RBgQQrdk.js → auth-section-D4MZkgcP.js} +1 -1
- package/dist/ui/assets/{backups-section-DptarTls.js → backups-section-DvMJrmHH.js} +1 -1
- package/dist/ui/assets/{channels-BMQs4wmY.js → channels-BVftYfOn.js} +1 -1
- package/dist/ui/assets/{checkbox-BrRyK0T3.js → checkbox-BLRznRTO.js} +1 -1
- package/dist/ui/assets/{claude-extension-DrSuOyf4.js → claude-extension-C6OeBQ73.js} +1 -1
- package/dist/ui/assets/cliproxy-B3Jyu3r9.js +3 -0
- package/dist/ui/assets/{cliproxy-ai-providers-B8aZTWIe.js → cliproxy-ai-providers-BAJ78pUc.js} +1 -1
- package/dist/ui/assets/{cliproxy-control-panel-BpXgvmht.js → cliproxy-control-panel-XEvUMVJe.js} +1 -1
- package/dist/ui/assets/{codex-CYoq5g4z.js → codex-CY2vikqX.js} +1 -1
- package/dist/ui/assets/{confirm-dialog-CP-4T1Wp.js → confirm-dialog-DjLHh1qX.js} +1 -1
- package/dist/ui/assets/{copilot-aEdlrY3S.js → copilot-afee2lL9.js} +1 -1
- package/dist/ui/assets/{cursor-CSJ0aqxS.js → cursor-DuWy60wp.js} +1 -1
- package/dist/ui/assets/{droid-DTdvqOvV.js → droid-FlceoQ6k.js} +1 -1
- package/dist/ui/assets/{globalenv-section-DXbRVgOM.js → globalenv-section-DpJ7unxC.js} +1 -1
- package/dist/ui/assets/{health-CDce37cB.js → health-BEMgcKD3.js} +1 -1
- package/dist/ui/assets/{index-vN-yw8kw.js → index-0GkznW41.js} +1 -1
- package/dist/ui/assets/{index-DjxqZO4B.js → index-0n_43sCZ.js} +1 -1
- package/dist/ui/assets/{index-Fd17BSGq.js → index-BRtgic66.js} +2 -2
- package/dist/ui/assets/{index-dnIWLkjb.js → index-Ba4ysocb.js} +1 -1
- package/dist/ui/assets/{index-Bm9k7s_T.js → index-Cj7EjEq6.js} +1 -1
- package/dist/ui/assets/{index-KK76yIJk.js → index-Cq9VySs6.js} +1 -1
- package/dist/ui/assets/{index-D_FmvtnX.js → index-DOC7_hun.js} +1 -1
- package/dist/ui/assets/{logs-C_MtpQIE.js → logs-Dth4naJl.js} +1 -1
- package/dist/ui/assets/{masked-input-BAWBYIqo.js → masked-input-DL6pJ8pE.js} +1 -1
- package/dist/ui/assets/{proxy-status-widget-DUqasX3c.js → proxy-status-widget-DW4cPFeD.js} +1 -1
- package/dist/ui/assets/{raw-json-settings-editor-panel-DuVlOXFi.js → raw-json-settings-editor-panel-Dcumu3Qi.js} +1 -1
- package/dist/ui/assets/{searchable-select-BCxZHr8N.js → searchable-select-CWL2D5Ft.js} +1 -1
- package/dist/ui/assets/{separator-BV4BKMsB.js → separator-Do_vqTQD.js} +1 -1
- package/dist/ui/assets/{shared-D-Cu_o1h.js → shared-CwWuZx24.js} +1 -1
- package/dist/ui/assets/{table-DW66THR9.js → table-BP6nBZzg.js} +1 -1
- package/dist/ui/assets/{updates-V0D_Q8n4.js → updates-BTHJZ7Rk.js} +1 -1
- package/dist/ui/index.html +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 +1 -11
- package/dist/web-server/routes/cliproxy-local-proxy.js.map +1 -1
- package/dist/web-server/routes/cliproxy-stats-routes.d.ts.map +1 -1
- package/dist/web-server/routes/cliproxy-stats-routes.js +10 -8
- 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 +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 +40 -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/cliproxy-dashboard-install-service.d.ts.map +1 -1
- package/dist/web-server/services/cliproxy-dashboard-install-service.js +4 -3
- package/dist/web-server/services/cliproxy-dashboard-install-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/codex-native-usage-collector.d.ts +2 -0
- package/dist/web-server/usage/codex-native-usage-collector.d.ts.map +1 -1
- package/dist/web-server/usage/codex-native-usage-collector.js +99 -1
- package/dist/web-server/usage/codex-native-usage-collector.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
- package/dist/commands/cliproxy/resolve-lifecycle-port.d.ts +0 -9
- package/dist/commands/cliproxy/resolve-lifecycle-port.d.ts.map +0 -1
- package/dist/commands/cliproxy/resolve-lifecycle-port.js +0 -14
- package/dist/commands/cliproxy/resolve-lifecycle-port.js.map +0 -1
- package/dist/ui/assets/cliproxy-CdqYwRJH.js +0 -3
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Pre-dispatch side-effect handlers.
|
|
4
|
+
*
|
|
5
|
+
* Extracted from src/ccs.ts (Phase B, lines 145-254 after Phase A extraction).
|
|
6
|
+
* Each handler may short-circuit the dispatch by returning true.
|
|
7
|
+
*
|
|
8
|
+
* Handles: update check, auto-migrate, recovery-manager, root-command router,
|
|
9
|
+
* provider help shortcut, copilot/cursor subcommand routing, first-time install hint.
|
|
10
|
+
*/
|
|
11
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
14
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
15
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
16
|
+
}
|
|
17
|
+
Object.defineProperty(o, k2, desc);
|
|
18
|
+
}) : (function(o, m, k, k2) {
|
|
19
|
+
if (k2 === undefined) k2 = k;
|
|
20
|
+
o[k2] = m[k];
|
|
21
|
+
}));
|
|
22
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
23
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
24
|
+
}) : function(o, v) {
|
|
25
|
+
o["default"] = v;
|
|
26
|
+
});
|
|
27
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
+
exports.runPreDispatchHandlers = void 0;
|
|
36
|
+
const ui_1 = require("../utils/ui");
|
|
37
|
+
const provider_capabilities_1 = require("../cliproxy/provider-capabilities");
|
|
38
|
+
const constants_1 = require("../copilot/constants");
|
|
39
|
+
const constants_2 = require("../cursor/constants");
|
|
40
|
+
const update_checker_1 = require("../utils/update-checker");
|
|
41
|
+
const root_command_router_1 = require("../commands/root-command-router");
|
|
42
|
+
const environment_builder_1 = require("./environment-builder");
|
|
43
|
+
const cli_argument_parser_1 = require("./cli-argument-parser");
|
|
44
|
+
// ========== Pre-Dispatch Runner ==========
|
|
45
|
+
/**
|
|
46
|
+
* Run all pre-dispatch side-effect handlers in sequence.
|
|
47
|
+
* Returns true if a handler consumed the command (caller should return immediately).
|
|
48
|
+
* Returns false if dispatch should continue normally.
|
|
49
|
+
*
|
|
50
|
+
* All process.exit calls and dynamic imports are preserved at original call sites.
|
|
51
|
+
*/
|
|
52
|
+
async function runPreDispatchHandlers(ctx) {
|
|
53
|
+
const { args, cliLogger } = ctx;
|
|
54
|
+
const firstArg = args[0];
|
|
55
|
+
// Update check: show cached notification + refresh background cache
|
|
56
|
+
const skipUpdateCheck = [
|
|
57
|
+
'version',
|
|
58
|
+
'--version',
|
|
59
|
+
'-v',
|
|
60
|
+
'help',
|
|
61
|
+
'--help',
|
|
62
|
+
'-h',
|
|
63
|
+
'update',
|
|
64
|
+
'--update',
|
|
65
|
+
];
|
|
66
|
+
if (process.stdout.isTTY && !process.env['CI'] && !skipUpdateCheck.includes(firstArg ?? '')) {
|
|
67
|
+
// 1. Show cached update notification (async for proper UI)
|
|
68
|
+
await (0, environment_builder_1.showCachedUpdateNotification)();
|
|
69
|
+
// 2. Refresh cache in background if stale (non-blocking)
|
|
70
|
+
if ((0, update_checker_1.isCacheStale)()) {
|
|
71
|
+
(0, environment_builder_1.refreshUpdateCache)();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
// Auto-migrate to unified config format (silent if already migrated)
|
|
75
|
+
// Skip if user is explicitly running migrate command
|
|
76
|
+
if (firstArg !== 'migrate') {
|
|
77
|
+
const { autoMigrate } = await Promise.resolve().then(() => __importStar(require('../config/migration-manager')));
|
|
78
|
+
await autoMigrate();
|
|
79
|
+
}
|
|
80
|
+
// Auto-recovery for missing configuration (BEFORE any early-exit commands)
|
|
81
|
+
// Recovery is safe to run early - it only creates missing files with safe defaults
|
|
82
|
+
// Wrapped in try-catch to prevent blocking --version/--help on permission errors
|
|
83
|
+
try {
|
|
84
|
+
const RecoveryManagerModule = await Promise.resolve().then(() => __importStar(require('../management/recovery-manager')));
|
|
85
|
+
const RecoveryManager = RecoveryManagerModule.default;
|
|
86
|
+
const recovery = new RecoveryManager();
|
|
87
|
+
const recovered = recovery.recoverAll();
|
|
88
|
+
if (recovered) {
|
|
89
|
+
recovery.showRecoveryHints();
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
catch (err) {
|
|
93
|
+
cliLogger.warn('recovery.failed', 'Auto-recovery failed during CLI startup', {
|
|
94
|
+
message: err.message,
|
|
95
|
+
});
|
|
96
|
+
// Recovery is best-effort - don't block basic CLI functionality
|
|
97
|
+
console.warn('[!] Recovery failed:', err.message);
|
|
98
|
+
}
|
|
99
|
+
// Root command router (handles --help, --version, config, doctor, etc.)
|
|
100
|
+
if (await (0, root_command_router_1.tryHandleRootCommand)(args)) {
|
|
101
|
+
return true;
|
|
102
|
+
}
|
|
103
|
+
// Provider help shortcut: `ccs gemini --help` → provider-specific help page
|
|
104
|
+
if (typeof firstArg === 'string' &&
|
|
105
|
+
(0, provider_capabilities_1.isCLIProxyProvider)(firstArg) &&
|
|
106
|
+
args.length > 1 &&
|
|
107
|
+
(args.includes('--help') || args.includes('-h'))) {
|
|
108
|
+
const { showProviderShortcutHelp } = await Promise.resolve().then(() => __importStar(require('../commands/help-command')));
|
|
109
|
+
await showProviderShortcutHelp(firstArg);
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
112
|
+
// Special case: copilot command (GitHub Copilot integration)
|
|
113
|
+
// Route known subcommands to command handler, keep all other args as profile passthrough.
|
|
114
|
+
if (firstArg === 'copilot' && args.length > 1) {
|
|
115
|
+
const copilotToken = args[1];
|
|
116
|
+
const shouldRouteToCopilotCommand = (0, constants_1.isCopilotSubcommandToken)(copilotToken);
|
|
117
|
+
if (shouldRouteToCopilotCommand) {
|
|
118
|
+
const { handleCopilotCommand } = await Promise.resolve().then(() => __importStar(require('../commands/copilot-command')));
|
|
119
|
+
const exitCode = await handleCopilotCommand(args.slice(1));
|
|
120
|
+
process.exit(exitCode);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
// Special case: explicit legacy Cursor bridge namespace.
|
|
124
|
+
if (firstArg === constants_2.LEGACY_CURSOR_PROFILE_NAME && args.length > 1) {
|
|
125
|
+
const { handleCursorCommand } = await Promise.resolve().then(() => __importStar(require('../commands/cursor-command')));
|
|
126
|
+
const cursorToken = args[1];
|
|
127
|
+
if ((0, constants_2.isCursorSubcommandToken)(cursorToken)) {
|
|
128
|
+
const exitCode = await handleCursorCommand(args.slice(1));
|
|
129
|
+
process.exit(exitCode);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
// Compatibility shim: old `ccs cursor <subcommand>` still forwards to the legacy bridge
|
|
133
|
+
// for one migration window, but bare/positional `ccs cursor` now belongs to CLIProxy.
|
|
134
|
+
if (firstArg === 'cursor' && args.length > 1) {
|
|
135
|
+
const { handleCursorCommand } = await Promise.resolve().then(() => __importStar(require('../commands/cursor-command')));
|
|
136
|
+
const cursorToken = args[1];
|
|
137
|
+
if ((0, constants_2.isCursorSubcommandToken)(cursorToken) && cursorToken !== '--help' && cursorToken !== '-h') {
|
|
138
|
+
(0, cli_argument_parser_1.printCursorLegacySubcommandDeprecation)(cursorToken);
|
|
139
|
+
const exitCode = await handleCursorCommand(args.slice(1));
|
|
140
|
+
process.exit(exitCode);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
// First-time install: offer setup wizard for interactive users
|
|
144
|
+
// Check independently of recovery status (user may have empty config.yaml)
|
|
145
|
+
// Skip if headless, CI, or non-TTY environment
|
|
146
|
+
const { isFirstTimeInstall } = await Promise.resolve().then(() => __importStar(require('../commands/setup-command')));
|
|
147
|
+
if (process.stdout.isTTY && !process.env['CI'] && isFirstTimeInstall()) {
|
|
148
|
+
console.log('');
|
|
149
|
+
console.log((0, ui_1.info)('First-time install detected. Run `ccs setup` for guided configuration.'));
|
|
150
|
+
console.log(' Or use `ccs config` for the web dashboard.');
|
|
151
|
+
console.log('');
|
|
152
|
+
}
|
|
153
|
+
return false;
|
|
154
|
+
}
|
|
155
|
+
exports.runPreDispatchHandlers = runPreDispatchHandlers;
|
|
156
|
+
//# sourceMappingURL=pre-dispatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pre-dispatch.js","sourceRoot":"","sources":["../../src/dispatcher/pre-dispatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Profile and target resolution — Phase C extraction from src/ccs.ts.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from main() lines ~136–313 (after Phase B pre-dispatch).
|
|
5
|
+
* Responsible for: dynamic imports of auth modules, profile detection, target type
|
|
6
|
+
* resolution, Claude CLI detection, target adapter resolution, compatibility preflight
|
|
7
|
+
* checks (preserved with duplication per plan risk note 5), binary detection, and
|
|
8
|
+
* per-target argument normalization (droid routing + reasoning flag stripping,
|
|
9
|
+
* codex reasoning normalization, native Claude effort normalization).
|
|
10
|
+
*
|
|
11
|
+
* Outputs a ResolvedProfile context object consumed by Phase D (environment-builder
|
|
12
|
+
* argument normalization) and Phase E (per-profile dispatch flows).
|
|
13
|
+
*/
|
|
14
|
+
import { loadSettings } from '../config/config-loader-facade';
|
|
15
|
+
import { getEffectiveClaudeBrowserAttachConfig } from '../utils/browser';
|
|
16
|
+
import { resolveTargetType } from '../targets/target-resolver';
|
|
17
|
+
import { resolveCliproxyBridgeMetadata } from '../api/services/cliproxy-profile-bridge';
|
|
18
|
+
import type ProfileDetector from '../auth/profile-detector';
|
|
19
|
+
import type { ProfileDetectionResult } from '../auth/profile-detector';
|
|
20
|
+
import type { BrowserLaunchOverride } from '../utils/browser';
|
|
21
|
+
import type { ResolvedBrowserExposure } from '../utils/browser/browser-policy';
|
|
22
|
+
import type { Logger } from '../services/logging/logger';
|
|
23
|
+
import type { TargetAdapter, TargetBinaryInfo } from '../targets';
|
|
24
|
+
export interface ProfileResolutionContext {
|
|
25
|
+
args: string[];
|
|
26
|
+
browserLaunchOverride: BrowserLaunchOverride | undefined;
|
|
27
|
+
cliLogger: Logger;
|
|
28
|
+
}
|
|
29
|
+
export interface ResolvedProfile {
|
|
30
|
+
/** Detected profile name (first positional arg or 'default') */
|
|
31
|
+
profile: string;
|
|
32
|
+
/** Args remaining after stripping profile token and --target flags */
|
|
33
|
+
remainingArgs: string[];
|
|
34
|
+
profileInfo: ProfileDetectionResult;
|
|
35
|
+
resolvedTarget: ReturnType<typeof resolveTargetType>;
|
|
36
|
+
claudeCli: string;
|
|
37
|
+
targetAdapter: TargetAdapter | null;
|
|
38
|
+
targetBinaryInfo: TargetBinaryInfo | null;
|
|
39
|
+
resolvedSettingsPath: string | undefined;
|
|
40
|
+
resolvedSettings: ReturnType<typeof loadSettings> | undefined;
|
|
41
|
+
resolvedCliproxyBridge: ReturnType<typeof resolveCliproxyBridgeMetadata> | undefined;
|
|
42
|
+
/** Per-target normalized args (droid/codex routing applied) */
|
|
43
|
+
targetRemainingArgs: string[];
|
|
44
|
+
/** Claude-specific args with effort normalization applied */
|
|
45
|
+
nativeClaudeRemainingArgs: string[];
|
|
46
|
+
runtimeReasoningOverride: string | number | undefined;
|
|
47
|
+
codexRuntimeConfigOverrides: string[];
|
|
48
|
+
claudeBrowserExposure: ResolvedBrowserExposure | undefined;
|
|
49
|
+
codexBrowserExposure: ResolvedBrowserExposure | undefined;
|
|
50
|
+
claudeAttachConfig: ReturnType<typeof getEffectiveClaudeBrowserAttachConfig> | undefined;
|
|
51
|
+
/** ProfileDetector instance — Phase E account/settings flows need getAllProfiles() */
|
|
52
|
+
detector: InstanceType<typeof ProfileDetector>;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Resolve profile detection, target type, adapter, binary, and per-target arg normalization.
|
|
56
|
+
*
|
|
57
|
+
* Throws ProfileError (caught by main() try/catch) for unknown profiles.
|
|
58
|
+
* Calls process.exit(1) for hard-stop conditions (adapter not found, binary not found, etc.).
|
|
59
|
+
*
|
|
60
|
+
* NOTE: The compatibility preflight block for non-settings profiles (else branch) is
|
|
61
|
+
* INTENTIONALLY duplicated between here (Phase C) and the settings flow (Phase E).
|
|
62
|
+
* Per plan risk note 5, do NOT dedupe in this PR.
|
|
63
|
+
*/
|
|
64
|
+
export declare function resolveProfileAndTarget(ctx: ProfileResolutionContext): Promise<ResolvedProfile>;
|
|
65
|
+
//# sourceMappingURL=profile-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-resolver.d.ts","sourceRoot":"","sources":["../../src/dispatcher/profile-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAK9D,OAAO,EACL,qCAAqC,EAGtC,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAmB,MAAM,4BAA4B,CAAC;AAGhF,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AAUxF,OAAO,KAAK,eAAe,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAIlE,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,CAAC;IACzD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,sBAAsB,CAAC;IACpC,cAAc,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC1C,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,gBAAgB,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,GAAG,SAAS,CAAC;IAC9D,sBAAsB,EAAE,UAAU,CAAC,OAAO,6BAA6B,CAAC,GAAG,SAAS,CAAC;IACrF,+DAA+D;IAC/D,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,6DAA6D;IAC7D,yBAAyB,EAAE,MAAM,EAAE,CAAC;IACpC,wBAAwB,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACtD,2BAA2B,EAAE,MAAM,EAAE,CAAC;IACtC,qBAAqB,EAAE,uBAAuB,GAAG,SAAS,CAAC;IAC3D,oBAAoB,EAAE,uBAAuB,GAAG,SAAS,CAAC;IAC1D,kBAAkB,EAAE,UAAU,CAAC,OAAO,qCAAqC,CAAC,GAAG,SAAS,CAAC;IACzF,sFAAsF;IACtF,QAAQ,EAAE,YAAY,CAAC,OAAO,eAAe,CAAC,CAAC;CAChD;AAID;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,wBAAwB,GAC5B,OAAO,CAAC,eAAe,CAAC,CAuQ1B"}
|
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Profile and target resolution — Phase C extraction from src/ccs.ts.
|
|
4
|
+
*
|
|
5
|
+
* Extracted from main() lines ~136–313 (after Phase B pre-dispatch).
|
|
6
|
+
* Responsible for: dynamic imports of auth modules, profile detection, target type
|
|
7
|
+
* resolution, Claude CLI detection, target adapter resolution, compatibility preflight
|
|
8
|
+
* checks (preserved with duplication per plan risk note 5), binary detection, and
|
|
9
|
+
* per-target argument normalization (droid routing + reasoning flag stripping,
|
|
10
|
+
* codex reasoning normalization, native Claude effort normalization).
|
|
11
|
+
*
|
|
12
|
+
* Outputs a ResolvedProfile context object consumed by Phase D (environment-builder
|
|
13
|
+
* argument normalization) and Phase E (per-profile dispatch flows).
|
|
14
|
+
*/
|
|
15
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
18
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
19
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
20
|
+
}
|
|
21
|
+
Object.defineProperty(o, k2, desc);
|
|
22
|
+
}) : (function(o, m, k, k2) {
|
|
23
|
+
if (k2 === undefined) k2 = k;
|
|
24
|
+
o[k2] = m[k];
|
|
25
|
+
}));
|
|
26
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
27
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
28
|
+
}) : function(o, v) {
|
|
29
|
+
o["default"] = v;
|
|
30
|
+
});
|
|
31
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
32
|
+
if (mod && mod.__esModule) return mod;
|
|
33
|
+
var result = {};
|
|
34
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
35
|
+
__setModuleDefault(result, mod);
|
|
36
|
+
return result;
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.resolveProfileAndTarget = void 0;
|
|
40
|
+
const claude_detector_1 = require("../utils/claude-detector");
|
|
41
|
+
const config_manager_1 = require("../utils/config-manager");
|
|
42
|
+
const config_loader_facade_1 = require("../config/config-loader-facade");
|
|
43
|
+
const helpers_1 = require("../utils/helpers");
|
|
44
|
+
const ui_1 = require("../utils/ui");
|
|
45
|
+
const error_manager_1 = require("../utils/error-manager");
|
|
46
|
+
const config_loader_facade_2 = require("../config/config-loader-facade");
|
|
47
|
+
const browser_1 = require("../utils/browser");
|
|
48
|
+
const targets_1 = require("../targets");
|
|
49
|
+
const target_resolver_1 = require("../targets/target-resolver");
|
|
50
|
+
const droid_reasoning_runtime_1 = require("../targets/droid-reasoning-runtime");
|
|
51
|
+
const droid_command_router_1 = require("../targets/droid-command-router");
|
|
52
|
+
const cliproxy_profile_bridge_1 = require("../api/services/cliproxy-profile-bridge");
|
|
53
|
+
const environment_builder_1 = require("./environment-builder");
|
|
54
|
+
const cli_argument_parser_1 = require("./cli-argument-parser");
|
|
55
|
+
// ========== Profile and Target Resolver ==========
|
|
56
|
+
/**
|
|
57
|
+
* Resolve profile detection, target type, adapter, binary, and per-target arg normalization.
|
|
58
|
+
*
|
|
59
|
+
* Throws ProfileError (caught by main() try/catch) for unknown profiles.
|
|
60
|
+
* Calls process.exit(1) for hard-stop conditions (adapter not found, binary not found, etc.).
|
|
61
|
+
*
|
|
62
|
+
* NOTE: The compatibility preflight block for non-settings profiles (else branch) is
|
|
63
|
+
* INTENTIONALLY duplicated between here (Phase C) and the settings flow (Phase E).
|
|
64
|
+
* Per plan risk note 5, do NOT dedupe in this PR.
|
|
65
|
+
*/
|
|
66
|
+
async function resolveProfileAndTarget(ctx) {
|
|
67
|
+
const { args, browserLaunchOverride } = ctx;
|
|
68
|
+
// Dynamic imports — preserved at original call sites for latency/circular-dep avoidance.
|
|
69
|
+
// InstanceManager, ProfileRegistry, AccountContext, ProfileContinuity are loaded here
|
|
70
|
+
// to match original ordering; their resolved values flow into Phase E via the detector
|
|
71
|
+
// instance or are re-imported inside flow handlers.
|
|
72
|
+
const ProfileDetectorModule = await Promise.resolve().then(() => __importStar(require('../auth/profile-detector')));
|
|
73
|
+
const ProfileDetectorClass = ProfileDetectorModule.default;
|
|
74
|
+
await Promise.resolve().then(() => __importStar(require('../management/instance-manager')));
|
|
75
|
+
await Promise.resolve().then(() => __importStar(require('../auth/profile-registry')));
|
|
76
|
+
await Promise.resolve().then(() => __importStar(require('../auth/account-context')));
|
|
77
|
+
await Promise.resolve().then(() => __importStar(require('../auth/profile-continuity-inheritance')));
|
|
78
|
+
const detector = new ProfileDetectorClass();
|
|
79
|
+
// Detect profile (strip --target flags before profile detection)
|
|
80
|
+
const cleanArgs = (0, target_resolver_1.stripTargetFlag)(args);
|
|
81
|
+
const { profile, remainingArgs } = (0, cli_argument_parser_1.detectProfile)(cleanArgs);
|
|
82
|
+
const profileInfo = detector.detectProfileType(profile);
|
|
83
|
+
let resolvedTarget;
|
|
84
|
+
try {
|
|
85
|
+
resolvedTarget = (0, target_resolver_1.resolveTargetType)(args, profileInfo.target ? { target: profileInfo.target } : undefined);
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
console.error((0, ui_1.fail)(error.message));
|
|
89
|
+
process.exit(1);
|
|
90
|
+
// Unreachable; needed so TS knows resolvedTarget is always assigned below
|
|
91
|
+
throw error;
|
|
92
|
+
}
|
|
93
|
+
// Detect Claude CLI (needed for claude target and all CLIProxy-derived flows)
|
|
94
|
+
const claudeCliRaw = (0, claude_detector_1.detectClaudeCli)();
|
|
95
|
+
if (resolvedTarget === 'claude' && !claudeCliRaw) {
|
|
96
|
+
await error_manager_1.ErrorManager.showClaudeNotFound();
|
|
97
|
+
process.exit(1);
|
|
98
|
+
}
|
|
99
|
+
const claudeCli = claudeCliRaw || '';
|
|
100
|
+
// Resolve non-claude target adapter once.
|
|
101
|
+
const targetAdapter = resolvedTarget !== 'claude' ? ((0, targets_1.getTarget)(resolvedTarget) ?? null) : null;
|
|
102
|
+
let resolvedSettingsPath;
|
|
103
|
+
let resolvedSettings;
|
|
104
|
+
let resolvedCliproxyBridge;
|
|
105
|
+
// Preflight unsupported profile/target combinations BEFORE binary detection,
|
|
106
|
+
// so users get the most actionable error even when the target CLI is not installed.
|
|
107
|
+
if (resolvedTarget !== 'claude') {
|
|
108
|
+
if (!targetAdapter) {
|
|
109
|
+
console.error((0, ui_1.fail)(`Target adapter not found for "${resolvedTarget}"`));
|
|
110
|
+
process.exit(1);
|
|
111
|
+
}
|
|
112
|
+
if (profileInfo.type === 'settings') {
|
|
113
|
+
resolvedSettingsPath = profileInfo.settingsPath
|
|
114
|
+
? (0, helpers_1.expandPath)(profileInfo.settingsPath)
|
|
115
|
+
: (0, config_manager_1.getSettingsPath)(profileInfo.name);
|
|
116
|
+
resolvedSettings = (0, config_loader_facade_1.loadSettings)(resolvedSettingsPath);
|
|
117
|
+
resolvedCliproxyBridge = (0, cliproxy_profile_bridge_1.resolveCliproxyBridgeMetadata)(resolvedSettings);
|
|
118
|
+
const compatibility = (0, targets_1.evaluateTargetRuntimeCompatibility)({
|
|
119
|
+
target: resolvedTarget,
|
|
120
|
+
profileType: profileInfo.type,
|
|
121
|
+
cliproxyBridgeProvider: resolvedCliproxyBridge?.provider ?? null,
|
|
122
|
+
});
|
|
123
|
+
if (!compatibility.supported) {
|
|
124
|
+
console.error((0, ui_1.fail)(compatibility.reason || `${targetAdapter.displayName} does not support this profile.`));
|
|
125
|
+
if (compatibility.suggestion) {
|
|
126
|
+
console.error((0, ui_1.info)(compatibility.suggestion));
|
|
127
|
+
}
|
|
128
|
+
process.exit(1);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
// NOTE: Intentional duplication — Phase E settings flow re-runs this check post-load.
|
|
133
|
+
// Per plan risk note 5, preserve verbatim; do NOT dedupe.
|
|
134
|
+
const compatibility = (0, targets_1.evaluateTargetRuntimeCompatibility)({
|
|
135
|
+
target: resolvedTarget,
|
|
136
|
+
profileType: profileInfo.type,
|
|
137
|
+
cliproxyProvider: profileInfo.type === 'cliproxy' ? profileInfo.provider : undefined,
|
|
138
|
+
isComposite: profileInfo.type === 'cliproxy' ? Boolean(profileInfo.isComposite) : undefined,
|
|
139
|
+
});
|
|
140
|
+
if (!compatibility.supported) {
|
|
141
|
+
console.error((0, ui_1.fail)(compatibility.reason || `${targetAdapter.displayName} does not support this profile.`));
|
|
142
|
+
if (compatibility.suggestion) {
|
|
143
|
+
console.error((0, ui_1.info)(compatibility.suggestion));
|
|
144
|
+
}
|
|
145
|
+
process.exit(1);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
if (profileInfo.type === 'default') {
|
|
149
|
+
if (!targetAdapter.supportsProfileType('default')) {
|
|
150
|
+
console.error((0, ui_1.fail)(`${targetAdapter.displayName} does not support default profile mode`));
|
|
151
|
+
process.exit(1);
|
|
152
|
+
}
|
|
153
|
+
// For default mode, Droid requires explicit credentials from environment.
|
|
154
|
+
if (resolvedTarget === 'droid') {
|
|
155
|
+
const baseUrl = process.env['ANTHROPIC_BASE_URL'] || '';
|
|
156
|
+
const apiKey = process.env['ANTHROPIC_AUTH_TOKEN'] || '';
|
|
157
|
+
if (!baseUrl.trim() || !apiKey.trim()) {
|
|
158
|
+
console.error((0, ui_1.fail)(`${targetAdapter.displayName} default mode requires ANTHROPIC_BASE_URL and ANTHROPIC_AUTH_TOKEN`));
|
|
159
|
+
console.error((0, ui_1.info)('Use a settings-based profile instead: ccs glm --target droid'));
|
|
160
|
+
process.exit(1);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
// For non-claude targets, verify target binary exists once and pass it through.
|
|
166
|
+
const targetBinaryInfo = targetAdapter?.detectBinary() ?? null;
|
|
167
|
+
const browserConfig = (0, config_loader_facade_2.getBrowserConfig)();
|
|
168
|
+
const claudeAttachConfig = resolvedTarget === 'claude' ? (0, browser_1.getEffectiveClaudeBrowserAttachConfig)(browserConfig) : undefined;
|
|
169
|
+
const codexRuntimeConfigOverrides = (0, environment_builder_1.resolveCodexRuntimeConfigOverrides)(resolvedTarget, browserLaunchOverride);
|
|
170
|
+
const claudeBrowserExposure = resolvedTarget === 'claude'
|
|
171
|
+
? (0, browser_1.resolveBrowserExposure)({
|
|
172
|
+
enabled: claudeAttachConfig?.enabled ?? browserConfig.claude.enabled,
|
|
173
|
+
policy: browserConfig.claude.policy,
|
|
174
|
+
}, browserLaunchOverride)
|
|
175
|
+
: undefined;
|
|
176
|
+
const codexBrowserExposure = resolvedTarget === 'codex'
|
|
177
|
+
? (0, browser_1.resolveBrowserExposure)(browserConfig.codex, browserLaunchOverride)
|
|
178
|
+
: undefined;
|
|
179
|
+
const blockedBrowserOverrideWarning = resolvedTarget === 'claude' && claudeBrowserExposure
|
|
180
|
+
? (0, browser_1.getBlockedBrowserOverrideWarning)('Claude Browser Attach', claudeBrowserExposure)
|
|
181
|
+
: resolvedTarget === 'codex' && codexBrowserExposure
|
|
182
|
+
? (0, browser_1.getBlockedBrowserOverrideWarning)('Codex Browser Tools', codexBrowserExposure)
|
|
183
|
+
: undefined;
|
|
184
|
+
if (blockedBrowserOverrideWarning) {
|
|
185
|
+
console.error((0, ui_1.warn)(blockedBrowserOverrideWarning));
|
|
186
|
+
}
|
|
187
|
+
if (resolvedTarget !== 'claude' && !targetBinaryInfo) {
|
|
188
|
+
const displayName = targetAdapter?.displayName || resolvedTarget;
|
|
189
|
+
console.error((0, ui_1.fail)(`${displayName} CLI not found.`));
|
|
190
|
+
if (resolvedTarget === 'droid') {
|
|
191
|
+
console.error((0, ui_1.info)('Install: npm i -g @factory/cli'));
|
|
192
|
+
}
|
|
193
|
+
else if (resolvedTarget === 'codex') {
|
|
194
|
+
console.error((0, ui_1.info)('Install a recent @openai/codex build, then retry.'));
|
|
195
|
+
}
|
|
196
|
+
process.exit(1);
|
|
197
|
+
}
|
|
198
|
+
// Best-effort: prune stale Droid model entries at runtime so settings.json stays clean.
|
|
199
|
+
if (resolvedTarget === 'droid') {
|
|
200
|
+
try {
|
|
201
|
+
const allProfiles = detector.getAllProfiles();
|
|
202
|
+
const activeProfiles = allProfiles.settings.filter((name) => /^[a-zA-Z0-9._-]+$/.test(name));
|
|
203
|
+
await (0, targets_1.pruneOrphanedModels)(activeProfiles);
|
|
204
|
+
}
|
|
205
|
+
catch (error) {
|
|
206
|
+
console.error((0, ui_1.warn)(`[!] Droid prune skipped: ${error.message}`));
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
// Per-target argument normalization
|
|
210
|
+
let targetRemainingArgs = remainingArgs;
|
|
211
|
+
let runtimeReasoningOverride;
|
|
212
|
+
let nativeClaudeRemainingArgs = remainingArgs;
|
|
213
|
+
if (resolvedTarget === 'droid') {
|
|
214
|
+
try {
|
|
215
|
+
const droidRoute = (0, droid_command_router_1.routeDroidCommandArgs)(remainingArgs);
|
|
216
|
+
targetRemainingArgs = droidRoute.argsForDroid;
|
|
217
|
+
if (droidRoute.mode === 'interactive') {
|
|
218
|
+
const runtime = (0, cli_argument_parser_1.resolveRuntimeReasoningFlags)(remainingArgs, process.env['CCS_THINKING']);
|
|
219
|
+
targetRemainingArgs = runtime.argsWithoutReasoningFlags;
|
|
220
|
+
runtimeReasoningOverride = runtime.reasoningOverride;
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
if (droidRoute.duplicateReasoningDisplays.length > 0) {
|
|
224
|
+
console.error((0, ui_1.warn)(`[!] Multiple reasoning flags detected. Using first occurrence: ${droidRoute.reasoningSourceDisplay || '<first-flag>'}`));
|
|
225
|
+
}
|
|
226
|
+
if (droidRoute.autoPrependedExec && process.stdout.isTTY) {
|
|
227
|
+
console.error((0, ui_1.info)('Detected Droid exec-only flags. Routing as: droid exec <flags> [prompt]'));
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
catch (error) {
|
|
232
|
+
if (error instanceof droid_reasoning_runtime_1.DroidReasoningFlagError || error instanceof droid_command_router_1.DroidCommandRouterError) {
|
|
233
|
+
(0, cli_argument_parser_1.exitWithRuntimeReasoningFlagError)(error.message, {
|
|
234
|
+
codexAliasLevels: 'minimal|low|medium|high|xhigh',
|
|
235
|
+
includeDroidExecExample: true,
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
throw error;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
else if (resolvedTarget === 'codex') {
|
|
242
|
+
try {
|
|
243
|
+
const runtime = (0, cli_argument_parser_1.resolveRuntimeReasoningFlags)(remainingArgs, process.env['CCS_THINKING']);
|
|
244
|
+
targetRemainingArgs = runtime.argsWithoutReasoningFlags;
|
|
245
|
+
const normalizedReasoning = (0, cli_argument_parser_1.normalizeCodexRuntimeReasoningOverride)(runtime.reasoningOverride);
|
|
246
|
+
if (runtime.reasoningOverride !== undefined && !normalizedReasoning) {
|
|
247
|
+
if (runtime.reasoningSource === 'flag') {
|
|
248
|
+
throw new droid_reasoning_runtime_1.DroidReasoningFlagError('Codex target supports reasoning levels only: minimal, low, medium, high, xhigh.', '--effort');
|
|
249
|
+
}
|
|
250
|
+
runtimeReasoningOverride = undefined;
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
runtimeReasoningOverride = normalizedReasoning;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
catch (error) {
|
|
257
|
+
if (error instanceof droid_reasoning_runtime_1.DroidReasoningFlagError) {
|
|
258
|
+
(0, cli_argument_parser_1.exitWithRuntimeReasoningFlagError)(error.message, {
|
|
259
|
+
codexAliasLevels: 'minimal|low|medium|high|xhigh',
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
throw error;
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
else if (resolvedTarget === 'claude' && (0, cli_argument_parser_1.shouldNormalizeNativeClaudeEffort)(profileInfo.type)) {
|
|
266
|
+
nativeClaudeRemainingArgs = (0, cli_argument_parser_1.normalizeNativeClaudeEffortArgs)(remainingArgs);
|
|
267
|
+
}
|
|
268
|
+
return {
|
|
269
|
+
profile,
|
|
270
|
+
remainingArgs,
|
|
271
|
+
profileInfo,
|
|
272
|
+
resolvedTarget,
|
|
273
|
+
claudeCli,
|
|
274
|
+
targetAdapter,
|
|
275
|
+
targetBinaryInfo,
|
|
276
|
+
resolvedSettingsPath,
|
|
277
|
+
resolvedSettings,
|
|
278
|
+
resolvedCliproxyBridge,
|
|
279
|
+
targetRemainingArgs,
|
|
280
|
+
nativeClaudeRemainingArgs,
|
|
281
|
+
runtimeReasoningOverride,
|
|
282
|
+
codexRuntimeConfigOverrides,
|
|
283
|
+
claudeBrowserExposure,
|
|
284
|
+
codexBrowserExposure,
|
|
285
|
+
claudeAttachConfig,
|
|
286
|
+
detector,
|
|
287
|
+
};
|
|
288
|
+
}
|
|
289
|
+
exports.resolveProfileAndTarget = resolveProfileAndTarget;
|
|
290
|
+
//# sourceMappingURL=profile-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-resolver.js","sourceRoot":"","sources":["../../src/dispatcher/profile-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Native target execution — short-circuit dispatch for passthrough flag commands,
|
|
3
|
+
* and top-level profile dispatcher (Phase E switch).
|
|
4
|
+
*
|
|
5
|
+
* Extracted from src/ccs.ts (lines 291-295, 394-426).
|
|
6
|
+
* Handles direct execution of native Codex flag passthrough (--help, --version, etc.)
|
|
7
|
+
* before the main profile dispatch loop runs.
|
|
8
|
+
*
|
|
9
|
+
* dispatchProfile() collapses the 6-branch switch in main() to a single call.
|
|
10
|
+
*/
|
|
11
|
+
import type { ProfileDispatchContext } from './dispatcher-context';
|
|
12
|
+
export interface ProfileError extends Error {
|
|
13
|
+
profileName?: string;
|
|
14
|
+
availableProfiles?: string;
|
|
15
|
+
suggestions?: string[];
|
|
16
|
+
}
|
|
17
|
+
export declare function execNativeCodexFlagCommand(args: string[]): void;
|
|
18
|
+
/**
|
|
19
|
+
* Dispatch to the correct per-profile-type flow.
|
|
20
|
+
*
|
|
21
|
+
* Collapses the 6-branch if/else-if switch that previously lived in main() into a
|
|
22
|
+
* single call site. The headless -p delegation short-circuit is handled in main()
|
|
23
|
+
* before this function is called.
|
|
24
|
+
*/
|
|
25
|
+
export declare function dispatchProfile(ctx: ProfileDispatchContext): Promise<void>;
|
|
26
|
+
//# sourceMappingURL=target-executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"target-executor.d.ts","sourceRoot":"","sources":["../../src/dispatcher/target-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAYH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAInE,MAAM,WAAW,YAAa,SAAQ,KAAK;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAID,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAgC/D;AAID;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBhF"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Native target execution — short-circuit dispatch for passthrough flag commands,
|
|
4
|
+
* and top-level profile dispatcher (Phase E switch).
|
|
5
|
+
*
|
|
6
|
+
* Extracted from src/ccs.ts (lines 291-295, 394-426).
|
|
7
|
+
* Handles direct execution of native Codex flag passthrough (--help, --version, etc.)
|
|
8
|
+
* before the main profile dispatch loop runs.
|
|
9
|
+
*
|
|
10
|
+
* dispatchProfile() collapses the 6-branch switch in main() to a single call.
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.dispatchProfile = exports.execNativeCodexFlagCommand = void 0;
|
|
14
|
+
const ui_1 = require("../utils/ui");
|
|
15
|
+
const targets_1 = require("../targets");
|
|
16
|
+
const cli_argument_parser_1 = require("./cli-argument-parser");
|
|
17
|
+
const cliproxy_flow_1 = require("./flows/cliproxy-flow");
|
|
18
|
+
const copilot_flow_1 = require("./flows/copilot-flow");
|
|
19
|
+
const cursor_flow_1 = require("./flows/cursor-flow");
|
|
20
|
+
const settings_flow_1 = require("./flows/settings-flow");
|
|
21
|
+
const account_flow_1 = require("./flows/account-flow");
|
|
22
|
+
const default_flow_1 = require("./flows/default-flow");
|
|
23
|
+
// ========== Native Codex Flag Command Executor ==========
|
|
24
|
+
function execNativeCodexFlagCommand(args) {
|
|
25
|
+
const adapter = (0, targets_1.getTarget)('codex');
|
|
26
|
+
if (!adapter) {
|
|
27
|
+
console.error((0, ui_1.fail)('Target adapter not found for "codex"'));
|
|
28
|
+
process.exit(1);
|
|
29
|
+
}
|
|
30
|
+
const binaryInfo = adapter.detectBinary();
|
|
31
|
+
if (!binaryInfo) {
|
|
32
|
+
console.error((0, ui_1.fail)('Codex CLI not found.'));
|
|
33
|
+
console.error((0, ui_1.info)('Install a recent @openai/codex build, then retry.'));
|
|
34
|
+
process.exit(1);
|
|
35
|
+
}
|
|
36
|
+
const targetArgs = (0, cli_argument_parser_1.getNativeCodexPassthroughArgs)(args);
|
|
37
|
+
if (!targetArgs) {
|
|
38
|
+
console.error((0, ui_1.fail)('Native Codex passthrough args could not be resolved.'));
|
|
39
|
+
process.exit(1);
|
|
40
|
+
}
|
|
41
|
+
const creds = {
|
|
42
|
+
profile: 'default',
|
|
43
|
+
baseUrl: '',
|
|
44
|
+
apiKey: '',
|
|
45
|
+
};
|
|
46
|
+
const builtArgs = adapter.buildArgs('default', targetArgs, {
|
|
47
|
+
creds,
|
|
48
|
+
profileType: 'default',
|
|
49
|
+
binaryInfo,
|
|
50
|
+
});
|
|
51
|
+
const targetEnv = adapter.buildEnv(creds, 'default');
|
|
52
|
+
adapter.exec(builtArgs, targetEnv, { binaryInfo });
|
|
53
|
+
}
|
|
54
|
+
exports.execNativeCodexFlagCommand = execNativeCodexFlagCommand;
|
|
55
|
+
// ========== Profile Dispatcher ==========
|
|
56
|
+
/**
|
|
57
|
+
* Dispatch to the correct per-profile-type flow.
|
|
58
|
+
*
|
|
59
|
+
* Collapses the 6-branch if/else-if switch that previously lived in main() into a
|
|
60
|
+
* single call site. The headless -p delegation short-circuit is handled in main()
|
|
61
|
+
* before this function is called.
|
|
62
|
+
*/
|
|
63
|
+
async function dispatchProfile(ctx) {
|
|
64
|
+
const { profileInfo } = ctx;
|
|
65
|
+
switch (profileInfo.type) {
|
|
66
|
+
case 'cliproxy':
|
|
67
|
+
return (0, cliproxy_flow_1.runCliproxyFlow)(ctx);
|
|
68
|
+
case 'copilot':
|
|
69
|
+
return (0, copilot_flow_1.runCopilotFlow)(ctx);
|
|
70
|
+
case 'cursor':
|
|
71
|
+
return (0, cursor_flow_1.runCursorFlow)(ctx);
|
|
72
|
+
case 'settings':
|
|
73
|
+
return (0, settings_flow_1.runSettingsFlow)(ctx);
|
|
74
|
+
case 'account':
|
|
75
|
+
return (0, account_flow_1.runAccountFlow)(ctx);
|
|
76
|
+
default:
|
|
77
|
+
return (0, default_flow_1.runDefaultFlow)(ctx);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
exports.dispatchProfile = dispatchProfile;
|
|
81
|
+
//# sourceMappingURL=target-executor.js.map
|