@kaitranntt/ccs 7.71.0 → 7.72.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 +39 -2
- package/config/base-codebuddy.settings.json +10 -0
- package/config/base-codex.settings.json +4 -4
- package/config/base-cursor.settings.json +10 -0
- package/config/base-gitlab.settings.json +10 -0
- package/config/base-kilo.settings.json +10 -0
- package/dist/auth/profile-detector.d.ts +2 -3
- package/dist/auth/profile-detector.d.ts.map +1 -1
- package/dist/auth/profile-detector.js +19 -19
- package/dist/auth/profile-detector.js.map +1 -1
- package/dist/ccs.js +84 -16
- package/dist/ccs.js.map +1 -1
- package/dist/cliproxy/accounts/email-account-identity.d.ts.map +1 -1
- package/dist/cliproxy/accounts/email-account-identity.js +22 -2
- package/dist/cliproxy/accounts/email-account-identity.js.map +1 -1
- package/dist/cliproxy/auth/auth-types.d.ts +10 -0
- package/dist/cliproxy/auth/auth-types.d.ts.map +1 -1
- package/dist/cliproxy/auth/auth-types.js +32 -0
- package/dist/cliproxy/auth/auth-types.js.map +1 -1
- package/dist/cliproxy/auth/gitlab-pat-response.d.ts +9 -0
- package/dist/cliproxy/auth/gitlab-pat-response.d.ts.map +1 -0
- package/dist/cliproxy/auth/gitlab-pat-response.js +64 -0
- package/dist/cliproxy/auth/gitlab-pat-response.js.map +1 -0
- package/dist/cliproxy/auth/kiro-import.js +1 -1
- package/dist/cliproxy/auth/kiro-import.js.map +1 -1
- package/dist/cliproxy/auth/oauth-handler.d.ts +3 -0
- package/dist/cliproxy/auth/oauth-handler.d.ts.map +1 -1
- package/dist/cliproxy/auth/oauth-handler.js +120 -4
- package/dist/cliproxy/auth/oauth-handler.js.map +1 -1
- package/dist/cliproxy/auth/provider-refreshers/index.d.ts +1 -2
- package/dist/cliproxy/auth/provider-refreshers/index.d.ts.map +1 -1
- package/dist/cliproxy/auth/provider-refreshers/index.js +6 -25
- package/dist/cliproxy/auth/provider-refreshers/index.js.map +1 -1
- package/dist/cliproxy/auth/token-manager.d.ts +1 -1
- package/dist/cliproxy/auth/token-manager.d.ts.map +1 -1
- package/dist/cliproxy/auth/token-manager.js +9 -6
- package/dist/cliproxy/auth/token-manager.js.map +1 -1
- package/dist/cliproxy/binary/lifecycle.d.ts.map +1 -1
- package/dist/cliproxy/binary/lifecycle.js +12 -1
- package/dist/cliproxy/binary/lifecycle.js.map +1 -1
- package/dist/cliproxy/binary-manager.d.ts +5 -1
- package/dist/cliproxy/binary-manager.d.ts.map +1 -1
- package/dist/cliproxy/binary-manager.js +10 -2
- package/dist/cliproxy/binary-manager.js.map +1 -1
- package/dist/cliproxy/codex-plan-compatibility.d.ts.map +1 -1
- package/dist/cliproxy/codex-plan-compatibility.js +6 -6
- package/dist/cliproxy/codex-plan-compatibility.js.map +1 -1
- package/dist/cliproxy/config/env-builder.d.ts +5 -0
- package/dist/cliproxy/config/env-builder.d.ts.map +1 -1
- package/dist/cliproxy/config/env-builder.js +56 -4
- package/dist/cliproxy/config/env-builder.js.map +1 -1
- package/dist/cliproxy/config/path-resolver.d.ts +21 -0
- package/dist/cliproxy/config/path-resolver.d.ts.map +1 -1
- package/dist/cliproxy/config/path-resolver.js +42 -2
- package/dist/cliproxy/config/path-resolver.js.map +1 -1
- package/dist/cliproxy/executor/index.d.ts +1 -0
- package/dist/cliproxy/executor/index.d.ts.map +1 -1
- package/dist/cliproxy/executor/index.js +40 -7
- package/dist/cliproxy/executor/index.js.map +1 -1
- package/dist/cliproxy/model-catalog.d.ts.map +1 -1
- package/dist/cliproxy/model-catalog.js +14 -59
- package/dist/cliproxy/model-catalog.js.map +1 -1
- package/dist/cliproxy/model-config.js +4 -4
- package/dist/cliproxy/model-config.js.map +1 -1
- package/dist/cliproxy/model-id-normalizer.d.ts +2 -0
- package/dist/cliproxy/model-id-normalizer.d.ts.map +1 -1
- package/dist/cliproxy/model-id-normalizer.js +25 -1
- package/dist/cliproxy/model-id-normalizer.js.map +1 -1
- package/dist/cliproxy/provider-capabilities.d.ts.map +1 -1
- package/dist/cliproxy/provider-capabilities.js +49 -1
- package/dist/cliproxy/provider-capabilities.js.map +1 -1
- package/dist/cliproxy/quota-fetcher-claude-normalizer.d.ts +1 -5
- package/dist/cliproxy/quota-fetcher-claude-normalizer.d.ts.map +1 -1
- package/dist/cliproxy/quota-fetcher-claude-normalizer.js +33 -6
- package/dist/cliproxy/quota-fetcher-claude-normalizer.js.map +1 -1
- package/dist/cliproxy/quota-fetcher-claude.d.ts +2 -2
- package/dist/cliproxy/quota-fetcher-claude.d.ts.map +1 -1
- package/dist/cliproxy/quota-fetcher-claude.js +18 -32
- package/dist/cliproxy/quota-fetcher-claude.js.map +1 -1
- package/dist/cliproxy/quota-fetcher-codex.d.ts.map +1 -1
- package/dist/cliproxy/quota-fetcher-codex.js +2 -0
- package/dist/cliproxy/quota-fetcher-codex.js.map +1 -1
- package/dist/cliproxy/quota-fetcher-gemini-cli.d.ts.map +1 -1
- package/dist/cliproxy/quota-fetcher-gemini-cli.js +221 -99
- package/dist/cliproxy/quota-fetcher-gemini-cli.js.map +1 -1
- package/dist/cliproxy/quota-types.d.ts +2 -2
- package/dist/cliproxy/quota-types.d.ts.map +1 -1
- package/dist/cliproxy/service-manager.d.ts.map +1 -1
- package/dist/cliproxy/service-manager.js +4 -1
- package/dist/cliproxy/service-manager.js.map +1 -1
- package/dist/cliproxy/types.d.ts +11 -3
- package/dist/cliproxy/types.d.ts.map +1 -1
- package/dist/cliproxy/types.js +8 -1
- package/dist/cliproxy/types.js.map +1 -1
- package/dist/commands/browser-command.d.ts +5 -0
- package/dist/commands/browser-command.d.ts.map +1 -0
- package/dist/commands/browser-command.js +118 -0
- package/dist/commands/browser-command.js.map +1 -0
- package/dist/commands/command-catalog.d.ts +3 -2
- package/dist/commands/command-catalog.d.ts.map +1 -1
- package/dist/commands/command-catalog.js +29 -4
- package/dist/commands/command-catalog.js.map +1 -1
- package/dist/commands/completion-backend.d.ts.map +1 -1
- package/dist/commands/completion-backend.js +4 -0
- package/dist/commands/completion-backend.js.map +1 -1
- package/dist/commands/cursor-command-display.d.ts.map +1 -1
- package/dist/commands/cursor-command-display.js +43 -30
- package/dist/commands/cursor-command-display.js.map +1 -1
- package/dist/commands/cursor-command.d.ts.map +1 -1
- package/dist/commands/cursor-command.js +30 -13
- package/dist/commands/cursor-command.js.map +1 -1
- package/dist/commands/help-command.d.ts +2 -0
- package/dist/commands/help-command.d.ts.map +1 -1
- package/dist/commands/help-command.js +62 -3
- package/dist/commands/help-command.js.map +1 -1
- package/dist/commands/index.d.ts +1 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +3 -1
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/proxy-command.d.ts +2 -0
- package/dist/commands/proxy-command.d.ts.map +1 -0
- package/dist/commands/proxy-command.js +156 -0
- package/dist/commands/proxy-command.js.map +1 -0
- package/dist/commands/root-command-router.d.ts.map +1 -1
- package/dist/commands/root-command-router.js +14 -0
- package/dist/commands/root-command-router.js.map +1 -1
- package/dist/config/reserved-names.d.ts +1 -1
- package/dist/config/reserved-names.d.ts.map +1 -1
- package/dist/config/reserved-names.js +10 -0
- package/dist/config/reserved-names.js.map +1 -1
- package/dist/config/unified-config-loader.d.ts +6 -1
- package/dist/config/unified-config-loader.d.ts.map +1 -1
- package/dist/config/unified-config-loader.js +67 -1
- package/dist/config/unified-config-loader.js.map +1 -1
- package/dist/config/unified-config-types.d.ts +37 -0
- package/dist/config/unified-config-types.d.ts.map +1 -1
- package/dist/config/unified-config-types.js +25 -1
- package/dist/config/unified-config-types.js.map +1 -1
- package/dist/cursor/constants.d.ts +3 -0
- package/dist/cursor/constants.d.ts.map +1 -1
- package/dist/cursor/constants.js +26 -1
- package/dist/cursor/constants.js.map +1 -1
- package/dist/cursor/cursor-anthropic-response.d.ts +1 -6
- package/dist/cursor/cursor-anthropic-response.d.ts.map +1 -1
- package/dist/cursor/cursor-anthropic-response.js +3 -186
- package/dist/cursor/cursor-anthropic-response.js.map +1 -1
- package/dist/cursor/cursor-daemon-entry.js +2 -2
- package/dist/cursor/cursor-daemon-entry.js.map +1 -1
- package/dist/cursor/cursor-profile-executor.js +4 -4
- package/dist/cursor/cursor-profile-executor.js.map +1 -1
- package/dist/cursor/cursor-runtime-probe.js +3 -3
- package/dist/cursor/cursor-runtime-probe.js.map +1 -1
- package/dist/glmt/sse-parser.d.ts.map +1 -1
- package/dist/glmt/sse-parser.js +46 -41
- package/dist/glmt/sse-parser.js.map +1 -1
- package/dist/management/shared-manager.d.ts +2 -0
- package/dist/management/shared-manager.d.ts.map +1 -1
- package/dist/management/shared-manager.js +25 -10
- package/dist/management/shared-manager.js.map +1 -1
- package/dist/proxy/index.d.ts +8 -0
- package/dist/proxy/index.d.ts.map +1 -0
- package/dist/proxy/index.js +24 -0
- package/dist/proxy/index.js.map +1 -0
- package/dist/proxy/profile-router.d.ts +28 -0
- package/dist/proxy/profile-router.d.ts.map +1 -0
- package/dist/proxy/profile-router.js +43 -0
- package/dist/proxy/profile-router.js.map +1 -0
- package/dist/proxy/proxy-daemon-entry.d.ts +2 -0
- package/dist/proxy/proxy-daemon-entry.d.ts.map +1 -0
- package/dist/proxy/proxy-daemon-entry.js +68 -0
- package/dist/proxy/proxy-daemon-entry.js.map +1 -0
- package/dist/proxy/proxy-daemon-paths.d.ts +6 -0
- package/dist/proxy/proxy-daemon-paths.d.ts.map +1 -0
- package/dist/proxy/proxy-daemon-paths.js +43 -0
- package/dist/proxy/proxy-daemon-paths.js.map +1 -0
- package/dist/proxy/proxy-daemon-state.d.ts +18 -0
- package/dist/proxy/proxy-daemon-state.d.ts.map +1 -0
- package/dist/proxy/proxy-daemon-state.js +92 -0
- package/dist/proxy/proxy-daemon-state.js.map +1 -0
- package/dist/proxy/proxy-daemon.d.ts +26 -0
- package/dist/proxy/proxy-daemon.d.ts.map +1 -0
- package/dist/proxy/proxy-daemon.js +350 -0
- package/dist/proxy/proxy-daemon.js.map +1 -0
- package/dist/proxy/proxy-env.d.ts +3 -0
- package/dist/proxy/proxy-env.d.ts.map +1 -0
- package/dist/proxy/proxy-env.js +26 -0
- package/dist/proxy/proxy-env.js.map +1 -0
- package/dist/proxy/request-router.d.ts +12 -0
- package/dist/proxy/request-router.d.ts.map +1 -0
- package/dist/proxy/request-router.js +163 -0
- package/dist/proxy/request-router.js.map +1 -0
- package/dist/proxy/routing-config.d.ts +10 -0
- package/dist/proxy/routing-config.d.ts.map +1 -0
- package/dist/proxy/routing-config.js +79 -0
- package/dist/proxy/routing-config.js.map +1 -0
- package/dist/proxy/server/http-helpers.d.ts +8 -0
- package/dist/proxy/server/http-helpers.d.ts.map +1 -0
- package/dist/proxy/server/http-helpers.js +73 -0
- package/dist/proxy/server/http-helpers.js.map +1 -0
- package/dist/proxy/server/messages-route.d.ts +12 -0
- package/dist/proxy/server/messages-route.d.ts.map +1 -0
- package/dist/proxy/server/messages-route.js +208 -0
- package/dist/proxy/server/messages-route.js.map +1 -0
- package/dist/proxy/server/proxy-server.d.ts +12 -0
- package/dist/proxy/server/proxy-server.d.ts.map +1 -0
- package/dist/proxy/server/proxy-server.js +110 -0
- package/dist/proxy/server/proxy-server.js.map +1 -0
- package/dist/proxy/transformers/request-transformer.d.ts +52 -0
- package/dist/proxy/transformers/request-transformer.d.ts.map +1 -0
- package/dist/proxy/transformers/request-transformer.js +254 -0
- package/dist/proxy/transformers/request-transformer.js.map +1 -0
- package/dist/proxy/transformers/sse-stream-transformer.d.ts +11 -0
- package/dist/proxy/transformers/sse-stream-transformer.d.ts.map +1 -0
- package/dist/proxy/transformers/sse-stream-transformer.js +199 -0
- package/dist/proxy/transformers/sse-stream-transformer.js.map +1 -0
- package/dist/proxy/upstream-url.d.ts +3 -0
- package/dist/proxy/upstream-url.d.ts.map +1 -0
- package/dist/proxy/upstream-url.js +35 -0
- package/dist/proxy/upstream-url.js.map +1 -0
- package/dist/shared/claude-extension-setup.js +1 -1
- package/dist/shared/claude-extension-setup.js.map +1 -1
- package/dist/targets/codex-detector.d.ts.map +1 -1
- package/dist/targets/codex-detector.js +17 -8
- package/dist/targets/codex-detector.js.map +1 -1
- package/dist/targets/droid-provider.d.ts.map +1 -1
- package/dist/targets/droid-provider.js +2 -0
- package/dist/targets/droid-provider.js.map +1 -1
- package/dist/types/config.d.ts +13 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/ui/assets/{accounts-B8EmUjf7.js → accounts-DfkqFx14.js} +1 -1
- package/dist/ui/assets/{alert-dialog-zvnFuSZG.js → alert-dialog-BJ9GwHLZ.js} +1 -1
- package/dist/ui/assets/{api-vTHvDFg5.js → api-BVo8Vm1B.js} +1 -1
- package/dist/ui/assets/{auth-section-Dg3AdWQR.js → auth-section-B-Ms1O_M.js} +1 -1
- package/dist/ui/assets/{backups-section-CuRlCk7U.js → backups-section-f8hvkPfH.js} +1 -1
- package/dist/ui/assets/{channels-ByIXpMal.js → channels-Bgvry5fT.js} +1 -1
- package/dist/ui/assets/{checkbox-DoV2JinM.js → checkbox-CbI3Vbww.js} +1 -1
- package/dist/ui/assets/{claude-extension-B-Ofp87Z.js → claude-extension-lDT7lp8C.js} +1 -1
- package/dist/ui/assets/cliproxy-D50Owb9u.js +3 -0
- package/dist/ui/assets/{cliproxy-ai-providers-BVOtMT7b.js → cliproxy-ai-providers-Cjrk90aJ.js} +8 -8
- package/dist/ui/assets/{cliproxy-control-panel-qL0R878z.js → cliproxy-control-panel-DL8JoyKU.js} +1 -1
- package/dist/ui/assets/codex-B3bW7lzx.js +27 -0
- package/dist/ui/assets/{confirm-dialog-BcfzKHj3.js → confirm-dialog-Bm2Y3ArL.js} +1 -1
- package/dist/ui/assets/{copilot-Dti40Uv-.js → copilot-CPLBRpFA.js} +1 -1
- package/dist/ui/assets/cursor-D1xhqEEF.js +1 -0
- package/dist/ui/assets/{droid-BmuIeDFh.js → droid-DiFtSJkl.js} +2 -2
- package/dist/ui/assets/{globalenv-section-CGbpkbpW.js → globalenv-section-BadlR8mm.js} +1 -1
- package/dist/ui/assets/{health-DryU1jzv.js → health-Bxol1p1X.js} +1 -1
- package/dist/ui/assets/{icons-KVCk4_U8.js → icons-Dmi9qMuE.js} +1 -1
- package/dist/ui/assets/{index-Dgu-LYP_.js → index-BPCsEKJ8.js} +1 -1
- package/dist/ui/assets/{index-B_vdNMI1.js → index-BZYBDV6A.js} +1 -1
- package/dist/ui/assets/index-C2-J9AKi.js +1 -0
- package/dist/ui/assets/{index-DUCkRc_D.js → index-CA4r5qY8.js} +1 -1
- package/dist/ui/assets/index-CXRoMyUA.js +9 -0
- package/dist/ui/assets/index-DM7Qb4kd.js +72 -0
- package/dist/ui/assets/index-DuTB1_9r.css +1 -0
- package/dist/ui/assets/{index-Cu--MLG0.js → index-x07V45Iw.js} +1 -1
- package/dist/ui/assets/{logs-CtIgaS7y.js → logs-kvpMF-pw.js} +1 -1
- package/dist/ui/assets/{masked-input-Dm8T-Vtr.js → masked-input-CFQ05toP.js} +1 -1
- package/dist/ui/assets/providers/codebuddy.png +0 -0
- package/dist/ui/assets/providers/cursor.svg +5 -0
- package/dist/ui/assets/providers/gitlab.svg +22 -0
- package/dist/ui/assets/providers/kilo.png +0 -0
- package/dist/ui/assets/{proxy-status-widget-BXghaDz7.js → proxy-status-widget-Df_-wCR0.js} +1 -1
- package/dist/ui/assets/{raw-json-settings-editor-panel-DhhcWn5Q.js → raw-json-settings-editor-panel-DeWgWDSP.js} +1 -1
- package/dist/ui/assets/{searchable-select-DiGUiefs.js → searchable-select-CPbVBSoE.js} +1 -1
- package/dist/ui/assets/{separator-DnQqlaL0.js → separator--T-CzItG.js} +1 -1
- package/dist/ui/assets/{shared-BPuiJsYO.js → shared-Dx_5pa5N.js} +1 -1
- package/dist/ui/assets/{table-BDsTJlxT.js → table-wE_LUUUQ.js} +1 -1
- package/dist/ui/assets/{updates-DQxYQBCf.js → updates-mWDqf-fm.js} +1 -1
- package/dist/ui/index.html +3 -3
- package/dist/utils/browser/browser-settings.d.ts +21 -0
- package/dist/utils/browser/browser-settings.d.ts.map +1 -0
- package/dist/utils/browser/browser-settings.js +101 -0
- package/dist/utils/browser/browser-settings.js.map +1 -0
- package/dist/utils/browser/browser-status.d.ts +39 -0
- package/dist/utils/browser/browser-status.d.ts.map +1 -0
- package/dist/utils/browser/browser-status.js +134 -0
- package/dist/utils/browser/browser-status.js.map +1 -0
- package/dist/utils/browser/index.d.ts +3 -0
- package/dist/utils/browser/index.d.ts.map +1 -1
- package/dist/utils/browser/index.js +7 -1
- package/dist/utils/browser/index.js.map +1 -1
- package/dist/utils/browser/platform.d.ts +4 -0
- package/dist/utils/browser/platform.d.ts.map +1 -0
- package/dist/utils/browser/platform.js +12 -0
- package/dist/utils/browser/platform.js.map +1 -0
- package/dist/utils/hooks/image-analysis-backend-resolver.js +1 -1
- package/dist/utils/hooks/image-analysis-backend-resolver.js.map +1 -1
- package/dist/web-server/routes/browser-routes.d.ts +3 -0
- package/dist/web-server/routes/browser-routes.d.ts.map +1 -0
- package/dist/web-server/routes/browser-routes.js +116 -0
- package/dist/web-server/routes/browser-routes.js.map +1 -0
- package/dist/web-server/routes/cliproxy-auth-routes.d.ts.map +1 -1
- package/dist/web-server/routes/cliproxy-auth-routes.js +124 -1
- package/dist/web-server/routes/cliproxy-auth-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 +3 -0
- package/dist/web-server/routes/config-routes.js.map +1 -1
- package/dist/web-server/routes/index.d.ts.map +1 -1
- package/dist/web-server/routes/index.js +3 -0
- package/dist/web-server/routes/index.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 -0
- package/dist/web-server/routes/settings-routes.js.map +1 -1
- package/dist/web-server/services/compatible-cli-docs-registry.d.ts.map +1 -1
- package/dist/web-server/services/compatible-cli-docs-registry.js +1 -0
- package/dist/web-server/services/compatible-cli-docs-registry.js.map +1 -1
- package/package.json +1 -1
- package/dist/cliproxy/auth/gemini-token-refresh.d.ts +0 -40
- package/dist/cliproxy/auth/gemini-token-refresh.d.ts.map +0 -1
- package/dist/cliproxy/auth/gemini-token-refresh.js +0 -371
- package/dist/cliproxy/auth/gemini-token-refresh.js.map +0 -1
- package/dist/ui/assets/cliproxy-Bhu0JvIb.js +0 -3
- package/dist/ui/assets/codex-BCHZ-0dx.js +0 -27
- package/dist/ui/assets/cursor-BG0Y8Z5F.js +0 -1
- package/dist/ui/assets/index-B1mN7ZR-.js +0 -72
- package/dist/ui/assets/index-BBVoDJnl.js +0 -1
- package/dist/ui/assets/index-BMC5Tudw.css +0 -1
package/README.md
CHANGED
|
@@ -50,6 +50,40 @@ ccs glm
|
|
|
50
50
|
ccs ollama
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
+
## OpenAI-Compatible Routing
|
|
54
|
+
|
|
55
|
+
CCS can now bridge Claude Code into OpenAI-compatible providers through a local
|
|
56
|
+
Anthropic-compatible proxy instead of requiring a native Anthropic upstream.
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
ccs api create --preset hf
|
|
60
|
+
ccs hf
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Need to manage the proxy manually?
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
ccs proxy start hf
|
|
67
|
+
eval "$(ccs proxy activate)"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
The proxy also supports request-time `profile:model` selectors, scenario-based
|
|
71
|
+
model routing through `proxy.routing`, and explicit activation helpers such as
|
|
72
|
+
`ccs proxy activate --fish`.
|
|
73
|
+
|
|
74
|
+
Guide: [OpenAI-Compatible Provider Routing](./docs/openai-compatible-providers.md)
|
|
75
|
+
|
|
76
|
+
### Related Project: claude-code-router
|
|
77
|
+
|
|
78
|
+
[claude-code-router](https://github.com/musistudio/claude-code-router) is an
|
|
79
|
+
excellent standalone tool for routing Claude Code requests to OpenAI-compatible
|
|
80
|
+
providers. CCS's local proxy and SSE transformation work was directly informed
|
|
81
|
+
by CCR's transformer architecture.
|
|
82
|
+
|
|
83
|
+
Use CCR when you want a standalone router without CCS profile management.
|
|
84
|
+
Use CCS when you want the routing flow integrated with CCS profiles, runtime
|
|
85
|
+
bridges, and the existing `ccs` command surface.
|
|
86
|
+
|
|
53
87
|
Need the full setup path instead of the short version?
|
|
54
88
|
|
|
55
89
|
| Need | Start here |
|
|
@@ -93,8 +127,10 @@ Deep dive:
|
|
|
93
127
|

|
|
94
128
|
|
|
95
129
|
CCS can provision first-class local tools like WebSearch and image analysis for
|
|
96
|
-
third-party launches instead of leaving you to wire them by hand.
|
|
97
|
-
|
|
130
|
+
third-party launches instead of leaving you to wire them by hand. Browser
|
|
131
|
+
automation now has a first-class setup path as well. Deep dive:
|
|
132
|
+
[WebSearch](https://docs.ccs.kaitran.ca/features/ai/websearch) |
|
|
133
|
+
[Browser Automation](./docs/browser-automation.md).
|
|
98
134
|
|
|
99
135
|
## Docs Matrix
|
|
100
136
|
|
|
@@ -110,6 +146,7 @@ reference material.
|
|
|
110
146
|
| Compare OAuth providers, Claude accounts, and API profiles | [Provider Overview](https://docs.ccs.kaitran.ca/providers/concepts/overview) |
|
|
111
147
|
| Learn the dashboard structure and feature pages | [Dashboard Overview](https://docs.ccs.kaitran.ca/features/dashboard/overview) |
|
|
112
148
|
| Configure profiles, paths, and environment variables | [Configuration](https://docs.ccs.kaitran.ca/getting-started/configuration) |
|
|
149
|
+
| Understand browser attach vs Codex browser tooling | [Browser Automation](./docs/browser-automation.md) |
|
|
113
150
|
| Keep OpenCode aligned with your live CCS setup | [OpenCode Sync Plugin](https://docs.ccs.kaitran.ca/features/workflow/opencode-sync) |
|
|
114
151
|
| Browse every command and flag | [CLI Commands](https://docs.ccs.kaitran.ca/reference/cli-commands) |
|
|
115
152
|
| Recover from install, auth, or provider failures | [Troubleshooting](https://docs.ccs.kaitran.ca/reference/troubleshooting) |
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"env": {
|
|
3
|
+
"ANTHROPIC_BASE_URL": "http://127.0.0.1:8317/api/provider/codebuddy",
|
|
4
|
+
"ANTHROPIC_AUTH_TOKEN": "ccs-internal-managed",
|
|
5
|
+
"ANTHROPIC_MODEL": "auto",
|
|
6
|
+
"ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-5.1",
|
|
7
|
+
"ANTHROPIC_DEFAULT_SONNET_MODEL": "kimi-k2.5",
|
|
8
|
+
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v3-2-volc"
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"env": {
|
|
3
3
|
"ANTHROPIC_BASE_URL": "http://127.0.0.1:8317/api/provider/codex",
|
|
4
4
|
"ANTHROPIC_AUTH_TOKEN": "ccs-internal-managed",
|
|
5
|
-
"ANTHROPIC_MODEL": "gpt-5
|
|
6
|
-
"ANTHROPIC_DEFAULT_OPUS_MODEL": "gpt-5
|
|
7
|
-
"ANTHROPIC_DEFAULT_SONNET_MODEL": "gpt-5
|
|
8
|
-
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "gpt-5-
|
|
5
|
+
"ANTHROPIC_MODEL": "gpt-5.4",
|
|
6
|
+
"ANTHROPIC_DEFAULT_OPUS_MODEL": "gpt-5.4",
|
|
7
|
+
"ANTHROPIC_DEFAULT_SONNET_MODEL": "gpt-5.4",
|
|
8
|
+
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "gpt-5.4-mini"
|
|
9
9
|
}
|
|
10
10
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"env": {
|
|
3
|
+
"ANTHROPIC_BASE_URL": "http://127.0.0.1:8317/api/provider/cursor",
|
|
4
|
+
"ANTHROPIC_AUTH_TOKEN": "ccs-internal-managed",
|
|
5
|
+
"ANTHROPIC_MODEL": "composer-2",
|
|
6
|
+
"ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-4-sonnet",
|
|
7
|
+
"ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-4-sonnet",
|
|
8
|
+
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "cursor-small"
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"env": {
|
|
3
|
+
"ANTHROPIC_BASE_URL": "http://127.0.0.1:8317/api/provider/gitlab",
|
|
4
|
+
"ANTHROPIC_AUTH_TOKEN": "ccs-internal-managed",
|
|
5
|
+
"ANTHROPIC_MODEL": "gitlab-duo",
|
|
6
|
+
"ANTHROPIC_DEFAULT_OPUS_MODEL": "duo-chat-opus-4-6",
|
|
7
|
+
"ANTHROPIC_DEFAULT_SONNET_MODEL": "duo-chat-sonnet-4-6",
|
|
8
|
+
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "duo-chat-haiku-4-5"
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"env": {
|
|
3
|
+
"ANTHROPIC_BASE_URL": "http://127.0.0.1:8317/api/provider/kilo",
|
|
4
|
+
"ANTHROPIC_AUTH_TOKEN": "ccs-internal-managed",
|
|
5
|
+
"ANTHROPIC_MODEL": "kilo/auto",
|
|
6
|
+
"ANTHROPIC_DEFAULT_OPUS_MODEL": "kilo/auto",
|
|
7
|
+
"ANTHROPIC_DEFAULT_SONNET_MODEL": "kilo/auto",
|
|
8
|
+
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "kilo/auto"
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -90,9 +90,8 @@ declare class ProfileDetector {
|
|
|
90
90
|
* Detect profile type and return routing information
|
|
91
91
|
*
|
|
92
92
|
* Priority order:
|
|
93
|
-
* 0. Hardcoded
|
|
94
|
-
* 0.5.
|
|
95
|
-
* 0.75. Cursor profile (if enabled in config)
|
|
93
|
+
* 0. Hardcoded special runtime profiles (copilot, cursor)
|
|
94
|
+
* 0.5. Hardcoded CLIProxy profiles (gemini, codex, agy, qwen, ...)
|
|
96
95
|
* 1. Unified config profiles (if config.yaml exists or CCS_UNIFIED_CONFIG=1)
|
|
97
96
|
* 2. User-defined CLIProxy variants (config.cliproxy section) [legacy]
|
|
98
97
|
* 3. Settings-based profiles (config.profiles section) [legacy]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-detector.d.ts","sourceRoot":"","sources":["../../src/auth/profile-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,EAAU,QAAQ,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAEL,aAAa,EACb,YAAY,EAGZ,mBAAmB,EACpB,MAAM,gCAAgC,CAAC;AAIxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"profile-detector.d.ts","sourceRoot":"","sources":["../../src/auth/profile-detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,6 +41,7 @@ const unified_config_loader_1 = require("../config/unified-config-loader");
|
|
|
41
41
|
const config_manager_1 = require("../utils/config-manager");
|
|
42
42
|
const profile_compat_1 = require("../utils/profile-compat");
|
|
43
43
|
const provider_capabilities_1 = require("../cliproxy/provider-capabilities");
|
|
44
|
+
const constants_1 = require("../cursor/constants");
|
|
44
45
|
const copilot_model_normalizer_1 = require("../copilot/copilot-model-normalizer");
|
|
45
46
|
/** CLIProxy profile names (OAuth-based, zero config) */
|
|
46
47
|
exports.CLIPROXY_PROFILES = provider_capabilities_1.CLIPROXY_PROVIDER_IDS;
|
|
@@ -199,9 +200,8 @@ class ProfileDetector {
|
|
|
199
200
|
* Detect profile type and return routing information
|
|
200
201
|
*
|
|
201
202
|
* Priority order:
|
|
202
|
-
* 0. Hardcoded
|
|
203
|
-
* 0.5.
|
|
204
|
-
* 0.75. Cursor profile (if enabled in config)
|
|
203
|
+
* 0. Hardcoded special runtime profiles (copilot, cursor)
|
|
204
|
+
* 0.5. Hardcoded CLIProxy profiles (gemini, codex, agy, qwen, ...)
|
|
205
205
|
* 1. Unified config profiles (if config.yaml exists or CCS_UNIFIED_CONFIG=1)
|
|
206
206
|
* 2. User-defined CLIProxy variants (config.cliproxy section) [legacy]
|
|
207
207
|
* 3. Settings-based profiles (config.profiles section) [legacy]
|
|
@@ -212,15 +212,7 @@ class ProfileDetector {
|
|
|
212
212
|
if (profileName === 'default' || profileName === null || profileName === undefined) {
|
|
213
213
|
return this.resolveDefaultProfile();
|
|
214
214
|
}
|
|
215
|
-
// Priority 0: Check
|
|
216
|
-
if ((0, provider_capabilities_1.isCLIProxyProvider)(profileName)) {
|
|
217
|
-
return {
|
|
218
|
-
type: 'cliproxy',
|
|
219
|
-
name: profileName,
|
|
220
|
-
provider: profileName,
|
|
221
|
-
};
|
|
222
|
-
}
|
|
223
|
-
// Priority 0.5: Check Copilot profile - GitHub Copilot subscription via copilot-api
|
|
215
|
+
// Priority 0: Check Copilot profile - GitHub Copilot subscription via copilot-api
|
|
224
216
|
if (profileName === 'copilot') {
|
|
225
217
|
const unifiedConfig = this.readUnifiedConfig();
|
|
226
218
|
const copilotConfig = unifiedConfig?.copilot;
|
|
@@ -245,15 +237,15 @@ class ProfileDetector {
|
|
|
245
237
|
copilotConfig,
|
|
246
238
|
};
|
|
247
239
|
}
|
|
248
|
-
// Priority 0.
|
|
249
|
-
if (profileName ===
|
|
240
|
+
// Priority 0.25: Check explicit legacy Cursor bridge profile.
|
|
241
|
+
if (profileName === constants_1.LEGACY_CURSOR_PROFILE_NAME) {
|
|
250
242
|
const cursorConfig = (0, unified_config_loader_1.getCursorConfig)();
|
|
251
243
|
if (!cursorConfig?.enabled) {
|
|
252
|
-
const error = new Error('Cursor profile is not enabled.\n\n' +
|
|
244
|
+
const error = new Error('Legacy Cursor profile is not enabled.\n\n' +
|
|
253
245
|
'To enable Cursor integration:\n' +
|
|
254
|
-
' 1. Run: ccs cursor enable\n' +
|
|
255
|
-
' 2. Import auth: ccs cursor auth\n' +
|
|
256
|
-
' 3. Start daemon: ccs cursor start\n\n' +
|
|
246
|
+
' 1. Run: ccs legacy cursor enable\n' +
|
|
247
|
+
' 2. Import auth: ccs legacy cursor auth\n' +
|
|
248
|
+
' 3. Start daemon: ccs legacy cursor start\n\n' +
|
|
257
249
|
'Or manually edit ~/.ccs/config.yaml:\n' +
|
|
258
250
|
' cursor:\n' +
|
|
259
251
|
' enabled: true');
|
|
@@ -264,10 +256,18 @@ class ProfileDetector {
|
|
|
264
256
|
}
|
|
265
257
|
return {
|
|
266
258
|
type: 'cursor',
|
|
267
|
-
name:
|
|
259
|
+
name: constants_1.LEGACY_CURSOR_PROFILE_NAME,
|
|
268
260
|
cursorConfig,
|
|
269
261
|
};
|
|
270
262
|
}
|
|
263
|
+
// Priority 0.5: Check CLIProxy profiles (gemini, codex, agy, qwen, ...)
|
|
264
|
+
if ((0, provider_capabilities_1.isCLIProxyProvider)(profileName)) {
|
|
265
|
+
return {
|
|
266
|
+
type: 'cliproxy',
|
|
267
|
+
name: profileName,
|
|
268
|
+
provider: profileName,
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
271
|
// Priority 1: Try unified config if available
|
|
272
272
|
const unifiedConfig = this.readUnifiedConfig();
|
|
273
273
|
if (unifiedConfig) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-detector.js","sourceRoot":"","sources":["../../src/auth/profile-detector.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAC7B,8CAAkE;AAUlE,2EAAoG;AACpG,4DAAoD;AACpD,4DAA2F;AAE3F,6EAA8F;AAC9F,kFAA8E;AAK9E,wDAAwD;AAC3C,QAAA,iBAAiB,GAAgC,6CAAqB,CAAC;AA4CpF;;GAEG;AACH;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,YAAoB;IACvD,MAAM,YAAY,GAAG,IAAA,oBAAU,EAAC,YAAY,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;YAAE,OAAO,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAqC,CAAC;QACzE,OAAO,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAVD,oDAUC;AAED,MAAM,eAAe;IAInB;QACE,MAAM,MAAM,GAAG,IAAA,0BAAS,GAAE,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACnD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACzD,CAAC;IAED;;;OAGG;IACK,iBAAiB;QACvB,IAAI,CAAC,IAAA,qCAAa,GAAE;YAAE,OAAO,IAAI,CAAC;QAClC,OAAO,IAAA,yCAAiB,GAAE,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACK,wBAAwB,CAC9B,WAAmB,EACnB,MAAqB;QAErB,gCAAgC;QAChC,IAAI,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAEtD,4BAA4B;YAC5B,IAAI,MAAM,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACtD,MAAM,SAAS,GAAG,OAAiC,CAAC;gBAEpD,qDAAqD;gBACrD,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;oBAChD,OAAO,CAAC,IAAI,CACV,mCAAmC,WAAW,qCAAqC,CACpF,CAAC;oBACF,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,MAAM,iBAAiB,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;gBAClE,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvB,OAAO,CAAC,IAAI,CACV,mCAAmC,WAAW,sCAAsC,SAAS,CAAC,YAAY,GAAG,CAC9G,CAAC;oBACF,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,OAAO;oBACL,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,WAAW;oBACjB,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,QAAQ,EAAE,iBAAiB,CAAC,QAA+B;oBAC3D,YAAY,EAAE,SAAS,CAAC,QAAQ;oBAChC,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,WAAW,EAAE,IAAI;oBACjB,oBAAoB,EAAE,SAAS,CAAC,YAAY;oBAC5C,cAAc,EAAE,SAAS,CAAC,KAAK;iBAChC,CAAC;YACJ,CAAC;YAED,MAAM,aAAa,GAAG,OAAgC,CAAC;YACvD,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,aAAa,CAAC,MAAM;gBAC5B,QAAQ,EAAE,aAAa,CAAC,QAA+B;gBACvD,YAAY,EAAE,aAAa,CAAC,QAAQ;gBACpC,IAAI,EAAE,aAAa,CAAC,IAAI;aACzB,CAAC;QACJ,CAAC;QAED,uEAAuE;QACvE,KAAK,MAAM,SAAS,IAAI,IAAA,2CAA0B,EAAC,WAAW,CAAC,EAAE,CAAC;YAChE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClC,SAAS;YACX,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC3C,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;YACtC,MAAM,WAAW,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;YACvD,MAAM,cAAc,GAAG,IAAA,qCAAoB,EAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAEpE,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,YAAY;gBACZ,GAAG,EAAE,WAAW;gBAChB,OAAO,EAAE,cAAc;oBACrB,CAAC,CAAC,6BAA6B,SAAS,UAAU,WAAW,IAAI;oBACjE,CAAC,CAAC,SAAS;aACd,CAAC;QACJ,CAAC;QAED,iBAAiB;QACjB,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC7C,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE;oBACP,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;oBAClC,aAAa,EAAE,OAAO,CAAC,aAAa;oBACpC,eAAe,EAAE,OAAO,CAAC,eAAe;oBACxC,IAAI,EAAE,OAAO,CAAC,IAAI;iBACnB;aACF,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,UAAU;QAChB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACpC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAW,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,4CAA6C,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YACrF,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,YAAY;QAClB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YACtC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACxD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,8CAA+C,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YACvF,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAC9C,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACH,iBAAiB,CAAC,WAAsC;QACtD,oDAAoD;QACpD,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YACnF,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACtC,CAAC;QAED,4FAA4F;QAC5F,IAAI,IAAA,0CAAkB,EAAC,WAAW,CAAC,EAAE,CAAC;YACpC,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,WAAW;aACtB,CAAC;QACJ,CAAC;QAED,oFAAoF;QACpF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC/C,MAAM,aAAa,GAAG,aAAa,EAAE,OAAO,CAAC;YAE7C,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,CAAC;gBAC5B,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,qCAAqC;oBACnC,yCAAyC;oBACzC,wBAAwB;oBACxB,uCAAuC;oBACvC,+BAA+B;oBAC/B,yDAAyD;oBACzD,wCAAwC;oBACxC,cAAc;oBACd,mBAAmB,CACE,CAAC;gBAC1B,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;gBAChC,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC;gBACvB,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACvD,MAAM,KAAK,CAAC;YACd,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,aAAa;aACd,CAAC;QACJ,CAAC;QAED,oEAAoE;QACpE,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,YAAY,GAAG,IAAA,uCAAe,GAAE,CAAC;YAEvC,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,oCAAoC;oBAClC,iCAAiC;oBACjC,+BAA+B;oBAC/B,qCAAqC;oBACrC,yCAAyC;oBACzC,wCAAwC;oBACxC,aAAa;oBACb,mBAAmB,CACE,CAAC;gBAC1B,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;gBAChC,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC;gBACvB,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACvD,MAAM,KAAK,CAAC;YACd,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,YAAY;aACb,CAAC;QACJ,CAAC;QAED,8CAA8C;QAC9C,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/C,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;YACzE,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;YAC1B,wDAAwD;QAC1D,CAAC;QAED,6EAA6E;QAC7E,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,MAAM,eAAe,GAAI,MAA2D;aACjF,eAAe,CAAC;QAEnB,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACpD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC7C,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,QAAQ,EAAE,OAAO,CAAC,QAA+B;gBACjD,YAAY,EAAE,OAAO,CAAC,QAAQ;gBAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB,CAAC;QACJ,CAAC;QAED,wEAAwE;QACxE,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,KAAK,MAAM,SAAS,IAAI,IAAA,2CAA0B,EAAC,WAAW,CAAC,EAAE,CAAC;gBAChE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBAChC,SAAS;gBACX,CAAC;gBAED,MAAM,cAAc,GAAG,IAAA,qCAAoB,EAAC,WAAW,EAAE,SAAS,CAAC,CAAC;gBACpE,OAAO;oBACL,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,WAAW;oBACjB,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;oBACxC,MAAM,EAAE,eAAe,EAAE,CAAC,SAAS,CAAC;oBACpC,OAAO,EAAE,cAAc;wBACrB,CAAC,CAAC,6BAA6B,SAAS,UAAU,WAAW,IAAI;wBACjE,CAAC,CAAC,SAAS;iBACd,CAAC;YACJ,CAAC;QACH,CAAC;QAED,8EAA8E;QAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAErC,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACxD,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;aACxC,CAAC;QACJ,CAAC;QAED,mCAAmC;QACnC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,MAAM,eAAe,GAAG;YACtB,GAAG,WAAW,CAAC,QAAQ;YACvB,GAAG,WAAW,CAAC,gBAAgB;YAC/B,GAAG,WAAW,CAAC,QAAQ;YACvB,GAAG,WAAW,CAAC,QAAQ;SACxB,CAAC;QACF,MAAM,WAAW,GAAG,IAAA,4BAAkB,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAErE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,sBAAsB,WAAW,EAAE,CAAyB,CAAC;QACrF,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QAChC,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QAChC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACvD,MAAM,KAAK,CAAC;IACd,CAAC;IAED;;OAEG;IACK,qBAAqB;QAC3B,6BAA6B;QAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/C,IAAI,aAAa,EAAE,OAAO,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YACnF,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;QAC5B,CAAC;QAED,iDAAiD;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAErC,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5D,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ,CAAC,OAAO;gBACtB,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;aAC7C,CAAC;QACJ,CAAC;QAED,yCAAyC;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,MAAM,eAAe,GAAI,MAA2D;aACjF,eAAe,CAAC;QAEnB,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAClD,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAChD,kFAAkF;YAClF,8EAA8E;YAC9E,gFAAgF;YAChF,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC/E,OAAO;oBACL,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,+CAA+C;iBACzD,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;gBACf,YAAY;gBACZ,MAAM,EAAE,eAAe,EAAE,CAAC,SAAS,CAAC;aACrC,CAAC;QACJ,CAAC;QAED,2DAA2D;QAC3D,OAAO;YACL,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,kEAAkE;SAC5E,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,2BAA2B;QACzB,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACtC,CAAC;IAED;;OAEG;IACK,qBAAqB;QAC3B,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,oDAAoD;QACpD,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACtD,yBAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACjC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,6BAA6B;QAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/C,IAAI,aAAa,EAAE,CAAC;YAClB,+BAA+B;YAC/B,IAAI,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;gBACnC,MAAM,mBAAmB,GAAG,IAAA,kDAAuB,EAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjF,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;gBAChD,KAAK,CAAC,IAAI,CAAC,uBAAuB,mBAAmB,GAAG,CAAC,CAAC;YAC5D,CAAC;YAED,IAAI,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gBAClC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBAClC,KAAK,CAAC,IAAI,CAAC,sBAAsB,aAAa,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;YAClE,CAAC;YAED,wCAAwC;YACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;YACrE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;gBAClD,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACxB,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACvD,MAAM,KAAK,GACT,OAAO,IAAI,MAAM,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW;wBAC1D,CAAC,CAAC,WAAW;wBACb,CAAC,CAAE,OAAiC,EAAE,QAAQ,IAAI,SAAS,CAAC;oBAChE,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,KAAK,GAAG,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;YACL,CAAC;YAED,mCAAmC;YACnC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YAC9D,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;gBAC7C,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC3B,MAAM,SAAS,GAAG,IAAI,KAAK,aAAa,CAAC,OAAO,CAAC;oBACjD,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5D,CAAC,CAAC,CAAC;YACL,CAAC;YAED,uCAAuC;YACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YAC3D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;gBACjD,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACxB,MAAM,SAAS,GAAG,IAAI,KAAK,aAAa,CAAC,OAAO,CAAC;oBACjD,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5D,CAAC,CAAC,CAAC;YACL,CAAC;YAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,qCAAqC;QACrC,mCAAmC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QAE5D,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC;QACvC,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC;YAClD,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YAChD,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAChC,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;gBACrC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;QACL,CAAC;QAED,0BAA0B;QAC1B,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QAE5D,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YACzD,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAChC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC;QAED,yBAAyB;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QAE7D,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACtC,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC/B,MAAM,SAAS,GAAG,IAAI,KAAK,QAAQ,CAAC,OAAO,CAAC;gBAC5C,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,WAAmB;QAC5B,IAAI,CAAC;YACH,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,6BAA6B;QAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/C,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO;gBACL,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,IAAI,EAAE,CAAC;gBACnD,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,IAAI,EAAE,CAAC;gBACnD,QAAQ,EAAE,CAAC,GAAG,yBAAiB,CAAC;gBAChC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC;gBACrE,OAAO,EAAE,aAAa,CAAC,OAAO;aAC/B,CAAC;QACJ,CAAC;QAED,6BAA6B;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAErC,OAAO;YACL,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;YAC5C,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;YAC9C,QAAQ,EAAE,CAAC,GAAG,yBAAiB,CAAC;YAChC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;YACpD,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC1B,CAAC;IACJ,CAAC;CACF;AAED,kBAAe,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"profile-detector.js","sourceRoot":"","sources":["../../src/auth/profile-detector.ts"],"names":[],"mappings":"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"}
|
package/dist/ccs.js
CHANGED
|
@@ -45,6 +45,7 @@ const constants_1 = require("./copilot/constants");
|
|
|
45
45
|
const official_channels_runtime_1 = require("./channels/official-channels-runtime");
|
|
46
46
|
const official_channels_store_1 = require("./channels/official-channels-store");
|
|
47
47
|
const constants_2 = require("./cursor/constants");
|
|
48
|
+
const provider_capabilities_1 = require("./cliproxy/provider-capabilities");
|
|
48
49
|
// Import centralized error handling
|
|
49
50
|
const errors_1 = require("./errors");
|
|
50
51
|
const root_command_router_1 = require("./commands/root-command-router");
|
|
@@ -60,13 +61,14 @@ const target_resolver_1 = require("./targets/target-resolver");
|
|
|
60
61
|
const droid_reasoning_runtime_1 = require("./targets/droid-reasoning-runtime");
|
|
61
62
|
const droid_command_router_1 = require("./targets/droid-command-router");
|
|
62
63
|
const cliproxy_profile_bridge_1 = require("./api/services/cliproxy-profile-bridge");
|
|
64
|
+
const proxy_1 = require("./proxy");
|
|
63
65
|
// Version and Update check utilities
|
|
64
66
|
const version_1 = require("./utils/version");
|
|
65
67
|
const update_checker_1 = require("./utils/update-checker");
|
|
66
68
|
const CODEX_RUNTIME_REASONING_LEVELS = new Set(['minimal', 'low', 'medium', 'high', 'xhigh']);
|
|
67
69
|
const CODEX_NATIVE_PASSTHROUGH_FLAGS = new Set(['--help', '-h', '--version', '-v']);
|
|
68
70
|
function resolveCodexRuntimeConfigOverrides(target) {
|
|
69
|
-
if (target !== 'codex') {
|
|
71
|
+
if (target !== 'codex' || !(0, unified_config_loader_1.getBrowserConfig)().codex.enabled) {
|
|
70
72
|
return [];
|
|
71
73
|
}
|
|
72
74
|
return (0, browser_codex_overrides_1.buildCodexBrowserMcpOverrides)();
|
|
@@ -84,6 +86,17 @@ function detectProfile(args) {
|
|
|
84
86
|
return { profile: args[0], remainingArgs: args.slice(1) };
|
|
85
87
|
}
|
|
86
88
|
}
|
|
89
|
+
function normalizeLegacyCursorArgs(args) {
|
|
90
|
+
if (args[0] === 'legacy' && args[1] === 'cursor') {
|
|
91
|
+
return [constants_2.LEGACY_CURSOR_PROFILE_NAME, ...args.slice(2)];
|
|
92
|
+
}
|
|
93
|
+
return args;
|
|
94
|
+
}
|
|
95
|
+
function printCursorLegacySubcommandDeprecation(subcommand) {
|
|
96
|
+
console.error((0, ui_1.info)(`\`ccs cursor ${subcommand}\` is deprecated for the legacy Cursor IDE bridge.`));
|
|
97
|
+
console.error((0, ui_1.info)(`Use \`ccs legacy cursor ${subcommand}\` for the old bridge, or \`ccs cursor --auth|--accounts|--config\` for the CLIProxy provider.`));
|
|
98
|
+
console.error('');
|
|
99
|
+
}
|
|
87
100
|
function resolveRuntimeReasoningFlags(args, envThinkingValue) {
|
|
88
101
|
const runtime = (0, droid_reasoning_runtime_1.resolveDroidReasoningRuntime)(args, envThinkingValue);
|
|
89
102
|
if (runtime.duplicateDisplays.length > 0) {
|
|
@@ -226,7 +239,7 @@ async function main() {
|
|
|
226
239
|
(0, targets_1.registerTarget)(new targets_1.DroidAdapter());
|
|
227
240
|
(0, targets_1.registerTarget)(new targets_1.CodexAdapter());
|
|
228
241
|
const cliLogger = (0, logging_1.createLogger)('cli');
|
|
229
|
-
|
|
242
|
+
let args = process.argv.slice(2);
|
|
230
243
|
const isCompletionCommand = args[0] === '__complete';
|
|
231
244
|
// Initialize UI colors early to ensure consistent colored output
|
|
232
245
|
// Must happen before any status messages (ok, info, fail, etc.)
|
|
@@ -296,6 +309,7 @@ async function main() {
|
|
|
296
309
|
await (0, root_command_router_1.tryHandleRootCommand)(args);
|
|
297
310
|
return;
|
|
298
311
|
}
|
|
312
|
+
args = normalizeLegacyCursorArgs(args);
|
|
299
313
|
cliLogger.info('command.start', 'CLI invocation started', {
|
|
300
314
|
command: args[0] || 'default',
|
|
301
315
|
argCount: args.length,
|
|
@@ -355,6 +369,14 @@ async function main() {
|
|
|
355
369
|
if (await (0, root_command_router_1.tryHandleRootCommand)(args)) {
|
|
356
370
|
return;
|
|
357
371
|
}
|
|
372
|
+
if (typeof firstArg === 'string' &&
|
|
373
|
+
(0, provider_capabilities_1.isCLIProxyProvider)(firstArg) &&
|
|
374
|
+
args.length > 1 &&
|
|
375
|
+
(args.includes('--help') || args.includes('-h'))) {
|
|
376
|
+
const { showProviderShortcutHelp } = await Promise.resolve().then(() => __importStar(require('./commands/help-command')));
|
|
377
|
+
await showProviderShortcutHelp(firstArg);
|
|
378
|
+
return;
|
|
379
|
+
}
|
|
358
380
|
// Special case: copilot command (GitHub Copilot integration)
|
|
359
381
|
// Route known subcommands to command handler, keep all other args as profile passthrough.
|
|
360
382
|
if (firstArg === 'copilot' && args.length > 1) {
|
|
@@ -366,9 +388,8 @@ async function main() {
|
|
|
366
388
|
process.exit(exitCode);
|
|
367
389
|
}
|
|
368
390
|
}
|
|
369
|
-
// Special case:
|
|
370
|
-
|
|
371
|
-
if (firstArg === 'cursor' && args.length > 1) {
|
|
391
|
+
// Special case: explicit legacy Cursor bridge namespace.
|
|
392
|
+
if (firstArg === constants_2.LEGACY_CURSOR_PROFILE_NAME && args.length > 1) {
|
|
372
393
|
const { handleCursorCommand } = await Promise.resolve().then(() => __importStar(require('./commands/cursor-command')));
|
|
373
394
|
const cursorToken = args[1];
|
|
374
395
|
if ((0, constants_2.isCursorSubcommandToken)(cursorToken)) {
|
|
@@ -376,6 +397,17 @@ async function main() {
|
|
|
376
397
|
process.exit(exitCode);
|
|
377
398
|
}
|
|
378
399
|
}
|
|
400
|
+
// Compatibility shim: old `ccs cursor <subcommand>` still forwards to the legacy bridge
|
|
401
|
+
// for one migration window, but bare/positional `ccs cursor` now belongs to CLIProxy.
|
|
402
|
+
if (firstArg === 'cursor' && args.length > 1) {
|
|
403
|
+
const { handleCursorCommand } = await Promise.resolve().then(() => __importStar(require('./commands/cursor-command')));
|
|
404
|
+
const cursorToken = args[1];
|
|
405
|
+
if ((0, constants_2.isCursorSubcommandToken)(cursorToken) && cursorToken !== '--help' && cursorToken !== '-h') {
|
|
406
|
+
printCursorLegacySubcommandDeprecation(cursorToken);
|
|
407
|
+
const exitCode = await handleCursorCommand(args.slice(1));
|
|
408
|
+
process.exit(exitCode);
|
|
409
|
+
}
|
|
410
|
+
}
|
|
379
411
|
// First-time install: offer setup wizard for interactive users
|
|
380
412
|
// Check independently of recovery status (user may have empty config.yaml)
|
|
381
413
|
// Skip if headless, CI, or non-TTY environment
|
|
@@ -781,12 +813,12 @@ async function main() {
|
|
|
781
813
|
// Settings-based profiles (glm, glmt) are third-party providers
|
|
782
814
|
const imageAnalysisMcpReady = resolvedTarget === 'claude' ? (0, image_analysis_1.ensureImageAnalysisMcpOrThrow)() : true;
|
|
783
815
|
let browserRuntimeEnv;
|
|
784
|
-
const
|
|
785
|
-
? (0, browser_1.
|
|
816
|
+
const browserAttachConfig = resolvedTarget === 'claude'
|
|
817
|
+
? (0, browser_1.getEffectiveClaudeBrowserAttachConfig)((0, unified_config_loader_1.getBrowserConfig)())
|
|
786
818
|
: undefined;
|
|
787
819
|
if (resolvedTarget === 'claude') {
|
|
788
820
|
(0, websearch_manager_1.ensureWebSearchMcpOrThrow)();
|
|
789
|
-
if (
|
|
821
|
+
if (browserAttachConfig?.enabled) {
|
|
790
822
|
(0, browser_1.ensureBrowserMcpOrThrow)();
|
|
791
823
|
}
|
|
792
824
|
}
|
|
@@ -805,7 +837,7 @@ async function main() {
|
|
|
805
837
|
const inheritedClaudeConfigDir = continuityInheritance.claudeConfigDir;
|
|
806
838
|
(0, websearch_manager_1.syncWebSearchMcpToConfigDir)(inheritedClaudeConfigDir);
|
|
807
839
|
(0, image_analysis_1.syncImageAnalysisMcpToConfigDir)(inheritedClaudeConfigDir);
|
|
808
|
-
if (
|
|
840
|
+
if (browserAttachConfig?.enabled &&
|
|
809
841
|
inheritedClaudeConfigDir &&
|
|
810
842
|
!(0, browser_1.syncBrowserMcpToConfigDir)(inheritedClaudeConfigDir)) {
|
|
811
843
|
throw new Error('Browser MCP is enabled, but CCS could not sync the browser MCP config into the inherited Claude instance.');
|
|
@@ -978,10 +1010,13 @@ async function main() {
|
|
|
978
1010
|
}
|
|
979
1011
|
// Explicitly inject effective settings env vars so stale ANTHROPIC_*
|
|
980
1012
|
// values from prior sessions cannot leak into the active profile.
|
|
981
|
-
if (
|
|
1013
|
+
if (browserAttachConfig?.enabled) {
|
|
982
1014
|
browserRuntimeEnv = {
|
|
983
1015
|
...(await (0, browser_1.resolveBrowserRuntimeEnv)({
|
|
984
|
-
profileDir:
|
|
1016
|
+
profileDir: browserAttachConfig.userDataDir,
|
|
1017
|
+
devtoolsPort: browserAttachConfig.hasExplicitDevtoolsPort
|
|
1018
|
+
? String(browserAttachConfig.devtoolsPort)
|
|
1019
|
+
: undefined,
|
|
985
1020
|
})),
|
|
986
1021
|
};
|
|
987
1022
|
}
|
|
@@ -1033,6 +1068,36 @@ async function main() {
|
|
|
1033
1068
|
const browserArgs = browserRuntimeEnv
|
|
1034
1069
|
? (0, browser_1.appendBrowserToolArgs)(imageAnalysisArgs)
|
|
1035
1070
|
: imageAnalysisArgs;
|
|
1071
|
+
const openAICompatProfile = (0, proxy_1.resolveOpenAICompatProfileConfig)(profileInfo.name, expandedSettingsPath, settingsEnv);
|
|
1072
|
+
if (openAICompatProfile) {
|
|
1073
|
+
const proxyStart = await (0, proxy_1.startOpenAICompatProxy)(openAICompatProfile, {
|
|
1074
|
+
insecure: openAICompatProfile.insecure,
|
|
1075
|
+
});
|
|
1076
|
+
if (!proxyStart.success) {
|
|
1077
|
+
console.error((0, ui_1.fail)(proxyStart.error || 'Failed to start local OpenAI-compatible proxy'));
|
|
1078
|
+
process.exit(1);
|
|
1079
|
+
}
|
|
1080
|
+
console.error((0, ui_1.info)(`Using local OpenAI-compatible proxy for "${profileInfo.name}" on port ${proxyStart.port}`));
|
|
1081
|
+
const proxyEnv = {
|
|
1082
|
+
...envVars,
|
|
1083
|
+
...(0, proxy_1.buildOpenAICompatProxyEnv)(openAICompatProfile, proxyStart.port, proxyStart.authToken || '', inheritedClaudeConfigDir),
|
|
1084
|
+
};
|
|
1085
|
+
delete proxyEnv.ANTHROPIC_API_KEY;
|
|
1086
|
+
const launchArgs = [
|
|
1087
|
+
'--settings',
|
|
1088
|
+
expandedSettingsPath,
|
|
1089
|
+
...(0, websearch_manager_1.appendThirdPartyWebSearchToolArgs)(browserArgs),
|
|
1090
|
+
];
|
|
1091
|
+
const traceEnv = (0, websearch_manager_1.createWebSearchTraceContext)({
|
|
1092
|
+
launcher: 'ccs.settings-profile.proxy',
|
|
1093
|
+
args: launchArgs,
|
|
1094
|
+
profile: profileInfo.name,
|
|
1095
|
+
profileType: profileInfo.type,
|
|
1096
|
+
settingsPath: expandedSettingsPath,
|
|
1097
|
+
});
|
|
1098
|
+
(0, shell_executor_1.execClaude)(claudeCli, launchArgs, { ...proxyEnv, ...traceEnv });
|
|
1099
|
+
return;
|
|
1100
|
+
}
|
|
1036
1101
|
const launchArgs = [
|
|
1037
1102
|
'--settings',
|
|
1038
1103
|
expandedSettingsPath,
|
|
@@ -1093,15 +1158,18 @@ async function main() {
|
|
|
1093
1158
|
CCS_IMAGE_ANALYSIS_SKIP: '1',
|
|
1094
1159
|
};
|
|
1095
1160
|
let browserRuntimeEnv;
|
|
1096
|
-
const
|
|
1097
|
-
? (0, browser_1.
|
|
1161
|
+
const browserAttachConfig = resolvedTarget === 'claude'
|
|
1162
|
+
? (0, browser_1.getEffectiveClaudeBrowserAttachConfig)((0, unified_config_loader_1.getBrowserConfig)())
|
|
1098
1163
|
: undefined;
|
|
1099
1164
|
if (resolvedTarget === 'claude') {
|
|
1100
|
-
if (
|
|
1165
|
+
if (browserAttachConfig?.enabled) {
|
|
1101
1166
|
(0, browser_1.ensureBrowserMcpOrThrow)();
|
|
1102
1167
|
browserRuntimeEnv = {
|
|
1103
1168
|
...(await (0, browser_1.resolveBrowserRuntimeEnv)({
|
|
1104
|
-
profileDir:
|
|
1169
|
+
profileDir: browserAttachConfig.userDataDir,
|
|
1170
|
+
devtoolsPort: browserAttachConfig.hasExplicitDevtoolsPort
|
|
1171
|
+
? String(browserAttachConfig.devtoolsPort)
|
|
1172
|
+
: undefined,
|
|
1105
1173
|
})),
|
|
1106
1174
|
};
|
|
1107
1175
|
Object.assign(envVars, browserRuntimeEnv);
|
|
@@ -1116,7 +1184,7 @@ async function main() {
|
|
|
1116
1184
|
}
|
|
1117
1185
|
if (defaultContinuityInheritance.claudeConfigDir) {
|
|
1118
1186
|
envVars.CLAUDE_CONFIG_DIR = defaultContinuityInheritance.claudeConfigDir;
|
|
1119
|
-
if (
|
|
1187
|
+
if (browserAttachConfig?.enabled &&
|
|
1120
1188
|
!(0, browser_1.syncBrowserMcpToConfigDir)(defaultContinuityInheritance.claudeConfigDir)) {
|
|
1121
1189
|
throw new Error('Browser MCP is enabled, but CCS could not sync the browser MCP config into the inherited Claude instance.');
|
|
1122
1190
|
}
|