@jonnyhoo/ccs 1.1.1 → 1.1.3
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/.claude/skills/ccs-delegation/SKILL.md +7 -7
- package/.claude/skills/ccs-delegation/references/troubleshooting.md +20 -20
- package/config/base-codex.settings.json +3 -3
- package/dist/api/services/index.d.ts +1 -1
- package/dist/api/services/index.d.ts.map +1 -1
- package/dist/api/services/index.js.map +1 -1
- package/dist/api/services/profile-reader.d.ts.map +1 -1
- package/dist/api/services/profile-reader.js +1 -21
- package/dist/api/services/profile-reader.js.map +1 -1
- package/dist/api/services/profile-types.d.ts +0 -7
- package/dist/api/services/profile-types.d.ts.map +1 -1
- package/dist/api/services/profile-writer.d.ts +1 -1
- package/dist/api/services/profile-writer.d.ts.map +1 -1
- package/dist/api/services/profile-writer.js +14 -11
- package/dist/api/services/profile-writer.js.map +1 -1
- package/dist/api/services/validation-service.d.ts.map +1 -1
- package/dist/api/services/validation-service.js +44 -3
- package/dist/api/services/validation-service.js.map +1 -1
- package/dist/ccs.js +263 -451
- package/dist/ccs.js.map +1 -1
- package/dist/commands/api-command.d.ts.map +1 -1
- package/dist/commands/api-command.js +22 -21
- package/dist/commands/api-command.js.map +1 -1
- package/dist/config/index.d.ts +1 -3
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +2 -6
- package/dist/config/index.js.map +1 -1
- package/dist/config/profile-detector.d.ts +64 -0
- package/dist/config/profile-detector.d.ts.map +1 -0
- package/dist/config/profile-detector.js +220 -0
- package/dist/config/profile-detector.js.map +1 -0
- package/dist/config/unified-config-loader.d.ts +3 -96
- package/dist/config/unified-config-loader.d.ts.map +1 -1
- package/dist/config/unified-config-loader.js +42 -474
- package/dist/config/unified-config-loader.js.map +1 -1
- package/dist/config/unified-config-types.d.ts +21 -489
- package/dist/config/unified-config-types.d.ts.map +1 -1
- package/dist/config/unified-config-types.js +8 -172
- package/dist/config/unified-config-types.js.map +1 -1
- package/dist/delegation/background-monitor.d.ts +80 -0
- package/dist/delegation/background-monitor.d.ts.map +1 -0
- package/dist/delegation/background-monitor.js +300 -0
- package/dist/delegation/background-monitor.js.map +1 -0
- package/dist/delegation/delegation-handler.d.ts +2 -1
- package/dist/delegation/delegation-handler.d.ts.map +1 -1
- package/dist/delegation/delegation-handler.js +48 -30
- package/dist/delegation/delegation-handler.js.map +1 -1
- package/dist/delegation/executor/types.d.ts +2 -0
- package/dist/delegation/executor/types.d.ts.map +1 -1
- package/dist/delegation/headless-executor.d.ts +3 -0
- package/dist/delegation/headless-executor.d.ts.map +1 -1
- package/dist/delegation/headless-executor.js +162 -14
- package/dist/delegation/headless-executor.js.map +1 -1
- package/dist/delegation/result-formatter.d.ts +1 -29
- package/dist/delegation/result-formatter.d.ts.map +1 -1
- package/dist/delegation/result-formatter.js +3 -188
- package/dist/delegation/result-formatter.js.map +1 -1
- package/dist/{cliproxy → proxy}/anthropic-to-openai-proxy.d.ts +17 -1
- package/dist/proxy/anthropic-to-openai-proxy.d.ts.map +1 -0
- package/dist/proxy/anthropic-to-openai-proxy.js +1708 -0
- package/dist/proxy/anthropic-to-openai-proxy.js.map +1 -0
- package/dist/proxy/cliproxy-autostart.d.ts +28 -0
- package/dist/proxy/cliproxy-autostart.d.ts.map +1 -0
- package/dist/proxy/cliproxy-autostart.js +226 -0
- package/dist/proxy/cliproxy-autostart.js.map +1 -0
- package/dist/proxy/tool-name-mapper.d.ts.map +1 -0
- package/dist/{cliproxy → proxy}/tool-name-mapper.js +13 -6
- package/dist/proxy/tool-name-mapper.js.map +1 -0
- package/dist/{cliproxy → proxy}/tool-name-sanitizer.d.ts +17 -21
- package/dist/proxy/tool-name-sanitizer.d.ts.map +1 -0
- package/dist/{cliproxy → proxy}/tool-name-sanitizer.js +46 -33
- package/dist/proxy/tool-name-sanitizer.js.map +1 -0
- package/dist/proxy/tool-sanitization-proxy.d.ts.map +1 -0
- package/dist/{cliproxy → proxy}/tool-sanitization-proxy.js +22 -2
- package/dist/proxy/tool-sanitization-proxy.js.map +1 -0
- package/dist/types/config.d.ts +0 -24
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js.map +1 -1
- package/dist/types/index.d.ts +1 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/config-manager.d.ts +0 -27
- package/dist/utils/config-manager.d.ts.map +1 -1
- package/dist/utils/config-manager.js +4 -65
- package/dist/utils/config-manager.js.map +1 -1
- package/dist/utils/delegation-validator.d.ts.map +1 -1
- package/dist/utils/delegation-validator.js +0 -11
- package/dist/utils/delegation-validator.js.map +1 -1
- package/dist/utils/error-manager.d.ts +0 -28
- package/dist/utils/error-manager.d.ts.map +1 -1
- package/dist/utils/error-manager.js +6 -105
- package/dist/utils/error-manager.js.map +1 -1
- package/dist/utils/helpers.js +1 -1
- package/dist/utils/helpers.js.map +1 -1
- package/dist/utils/index.d.ts +0 -5
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -17
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/shell-executor.d.ts.map +1 -1
- package/dist/utils/shell-executor.js +3 -9
- package/dist/utils/shell-executor.js.map +1 -1
- package/dist/utils/ui/index.d.ts +0 -4
- package/dist/utils/ui/index.d.ts.map +1 -1
- package/dist/utils/ui/index.js +1 -5
- package/dist/utils/ui/index.js.map +1 -1
- package/dist/utils/ui/init.d.ts.map +1 -1
- package/dist/utils/ui/init.js +1 -3
- package/dist/utils/ui/init.js.map +1 -1
- package/dist/utils/ui.d.ts +1 -2
- package/dist/utils/ui.d.ts.map +1 -1
- package/dist/utils/ui.js +2 -2
- package/dist/utils/ui.js.map +1 -1
- package/package.json +3 -29
- package/scripts/background-redis-bridge.js +320 -0
- package/scripts/dev-install.sh +2 -1
- package/scripts/monitor-task.js +313 -0
- package/dist/auth/auth-commands.d.ts +0 -62
- package/dist/auth/auth-commands.d.ts.map +0 -1
- package/dist/auth/auth-commands.js +0 -191
- package/dist/auth/auth-commands.js.map +0 -1
- package/dist/auth/commands/create-command.d.ts +0 -11
- package/dist/auth/commands/create-command.d.ts.map +0 -1
- package/dist/auth/commands/create-command.js +0 -137
- package/dist/auth/commands/create-command.js.map +0 -1
- package/dist/auth/commands/default-command.d.ts +0 -15
- package/dist/auth/commands/default-command.d.ts.map +0 -1
- package/dist/auth/commands/default-command.js +0 -71
- package/dist/auth/commands/default-command.js.map +0 -1
- package/dist/auth/commands/index.d.ts +0 -12
- package/dist/auth/commands/index.d.ts.map +0 -1
- package/dist/auth/commands/index.js +0 -25
- package/dist/auth/commands/index.js.map +0 -1
- package/dist/auth/commands/list-command.d.ts +0 -11
- package/dist/auth/commands/list-command.d.ts.map +0 -1
- package/dist/auth/commands/list-command.js +0 -124
- package/dist/auth/commands/list-command.js.map +0 -1
- package/dist/auth/commands/remove-command.d.ts +0 -11
- package/dist/auth/commands/remove-command.d.ts.map +0 -1
- package/dist/auth/commands/remove-command.js +0 -102
- package/dist/auth/commands/remove-command.js.map +0 -1
- package/dist/auth/commands/show-command.d.ts +0 -11
- package/dist/auth/commands/show-command.d.ts.map +0 -1
- package/dist/auth/commands/show-command.js +0 -103
- package/dist/auth/commands/show-command.js.map +0 -1
- package/dist/auth/commands/types.d.ts +0 -50
- package/dist/auth/commands/types.d.ts.map +0 -1
- package/dist/auth/commands/types.js +0 -26
- package/dist/auth/commands/types.js.map +0 -1
- package/dist/auth/index.d.ts +0 -8
- package/dist/auth/index.d.ts.map +0 -1
- package/dist/auth/index.js +0 -16
- package/dist/auth/index.js.map +0 -1
- package/dist/auth/profile-detector.d.ts +0 -106
- package/dist/auth/profile-detector.d.ts.map +0 -1
- package/dist/auth/profile-detector.js +0 -431
- package/dist/auth/profile-detector.js.map +0 -1
- package/dist/auth/profile-registry.d.ts +0 -110
- package/dist/auth/profile-registry.d.ts.map +0 -1
- package/dist/auth/profile-registry.js +0 -318
- package/dist/auth/profile-registry.js.map +0 -1
- package/dist/cliproxy/account-manager.d.ts +0 -218
- package/dist/cliproxy/account-manager.d.ts.map +0 -1
- package/dist/cliproxy/account-manager.js +0 -808
- package/dist/cliproxy/account-manager.js.map +0 -1
- package/dist/cliproxy/anthropic-to-openai-proxy.d.ts.map +0 -1
- package/dist/cliproxy/anthropic-to-openai-proxy.js +0 -856
- package/dist/cliproxy/anthropic-to-openai-proxy.js.map +0 -1
- package/dist/cliproxy/auth/auth-types.d.ts +0 -106
- package/dist/cliproxy/auth/auth-types.d.ts.map +0 -1
- package/dist/cliproxy/auth/auth-types.js +0 -164
- package/dist/cliproxy/auth/auth-types.js.map +0 -1
- package/dist/cliproxy/auth/environment-detector.d.ts +0 -30
- package/dist/cliproxy/auth/environment-detector.d.ts.map +0 -1
- package/dist/cliproxy/auth/environment-detector.js +0 -129
- package/dist/cliproxy/auth/environment-detector.js.map +0 -1
- package/dist/cliproxy/auth/gemini-token-refresh.d.ts +0 -38
- package/dist/cliproxy/auth/gemini-token-refresh.d.ts.map +0 -1
- package/dist/cliproxy/auth/gemini-token-refresh.js +0 -327
- package/dist/cliproxy/auth/gemini-token-refresh.js.map +0 -1
- package/dist/cliproxy/auth/index.d.ts +0 -11
- package/dist/cliproxy/auth/index.d.ts.map +0 -1
- package/dist/cliproxy/auth/index.js +0 -35
- package/dist/cliproxy/auth/index.js.map +0 -1
- package/dist/cliproxy/auth/kiro-import.d.ts +0 -23
- package/dist/cliproxy/auth/kiro-import.d.ts.map +0 -1
- package/dist/cliproxy/auth/kiro-import.js +0 -140
- package/dist/cliproxy/auth/kiro-import.js.map +0 -1
- package/dist/cliproxy/auth/oauth-handler.d.ts +0 -31
- package/dist/cliproxy/auth/oauth-handler.d.ts.map +0 -1
- package/dist/cliproxy/auth/oauth-handler.js +0 -422
- package/dist/cliproxy/auth/oauth-handler.js.map +0 -1
- package/dist/cliproxy/auth/oauth-process.d.ts +0 -27
- package/dist/cliproxy/auth/oauth-process.d.ts.map +0 -1
- package/dist/cliproxy/auth/oauth-process.js +0 -386
- package/dist/cliproxy/auth/oauth-process.js.map +0 -1
- package/dist/cliproxy/auth/provider-refreshers/index.d.ts +0 -21
- package/dist/cliproxy/auth/provider-refreshers/index.d.ts.map +0 -1
- package/dist/cliproxy/auth/provider-refreshers/index.js +0 -57
- package/dist/cliproxy/auth/provider-refreshers/index.js.map +0 -1
- package/dist/cliproxy/auth/token-expiry-checker.d.ts +0 -37
- package/dist/cliproxy/auth/token-expiry-checker.d.ts.map +0 -1
- package/dist/cliproxy/auth/token-expiry-checker.js +0 -115
- package/dist/cliproxy/auth/token-expiry-checker.js.map +0 -1
- package/dist/cliproxy/auth/token-manager.d.ts +0 -66
- package/dist/cliproxy/auth/token-manager.d.ts.map +0 -1
- package/dist/cliproxy/auth/token-manager.js +0 -309
- package/dist/cliproxy/auth/token-manager.js.map +0 -1
- package/dist/cliproxy/auth/token-refresh-config.d.ts +0 -13
- package/dist/cliproxy/auth/token-refresh-config.d.ts.map +0 -1
- package/dist/cliproxy/auth/token-refresh-config.js +0 -31
- package/dist/cliproxy/auth/token-refresh-config.js.map +0 -1
- package/dist/cliproxy/auth/token-refresh-worker.d.ts +0 -83
- package/dist/cliproxy/auth/token-refresh-worker.d.ts.map +0 -1
- package/dist/cliproxy/auth/token-refresh-worker.js +0 -214
- package/dist/cliproxy/auth/token-refresh-worker.js.map +0 -1
- package/dist/cliproxy/auth-handler.d.ts +0 -31
- package/dist/cliproxy/auth-handler.d.ts.map +0 -1
- package/dist/cliproxy/auth-handler.js +0 -60
- package/dist/cliproxy/auth-handler.js.map +0 -1
- package/dist/cliproxy/auth-session-manager.d.ts +0 -51
- package/dist/cliproxy/auth-session-manager.d.ts.map +0 -1
- package/dist/cliproxy/auth-session-manager.js +0 -134
- package/dist/cliproxy/auth-session-manager.js.map +0 -1
- package/dist/cliproxy/auth-token-manager.d.ts +0 -82
- package/dist/cliproxy/auth-token-manager.d.ts.map +0 -1
- package/dist/cliproxy/auth-token-manager.js +0 -187
- package/dist/cliproxy/auth-token-manager.js.map +0 -1
- package/dist/cliproxy/auth-utils.d.ts +0 -16
- package/dist/cliproxy/auth-utils.d.ts.map +0 -1
- package/dist/cliproxy/auth-utils.js +0 -33
- package/dist/cliproxy/auth-utils.js.map +0 -1
- package/dist/cliproxy/base-config-loader.d.ts +0 -42
- package/dist/cliproxy/base-config-loader.d.ts.map +0 -1
- package/dist/cliproxy/base-config-loader.js +0 -123
- package/dist/cliproxy/base-config-loader.js.map +0 -1
- package/dist/cliproxy/binary/downloader.d.ts +0 -42
- package/dist/cliproxy/binary/downloader.d.ts.map +0 -1
- package/dist/cliproxy/binary/downloader.js +0 -407
- package/dist/cliproxy/binary/downloader.js.map +0 -1
- package/dist/cliproxy/binary/extractor.d.ts +0 -12
- package/dist/cliproxy/binary/extractor.d.ts.map +0 -1
- package/dist/cliproxy/binary/extractor.js +0 -28
- package/dist/cliproxy/binary/extractor.js.map +0 -1
- package/dist/cliproxy/binary/index.d.ts +0 -13
- package/dist/cliproxy/binary/index.d.ts.map +0 -1
- package/dist/cliproxy/binary/index.js +0 -54
- package/dist/cliproxy/binary/index.js.map +0 -1
- package/dist/cliproxy/binary/installer.d.ts +0 -25
- package/dist/cliproxy/binary/installer.d.ts.map +0 -1
- package/dist/cliproxy/binary/installer.js +0 -129
- package/dist/cliproxy/binary/installer.js.map +0 -1
- package/dist/cliproxy/binary/lifecycle.d.ts +0 -11
- package/dist/cliproxy/binary/lifecycle.d.ts.map +0 -1
- package/dist/cliproxy/binary/lifecycle.js +0 -150
- package/dist/cliproxy/binary/lifecycle.js.map +0 -1
- package/dist/cliproxy/binary/tar-extractor.d.ts +0 -10
- package/dist/cliproxy/binary/tar-extractor.d.ts.map +0 -1
- package/dist/cliproxy/binary/tar-extractor.js +0 -118
- package/dist/cliproxy/binary/tar-extractor.js.map +0 -1
- package/dist/cliproxy/binary/types.d.ts +0 -49
- package/dist/cliproxy/binary/types.d.ts.map +0 -1
- package/dist/cliproxy/binary/types.js +0 -32
- package/dist/cliproxy/binary/types.js.map +0 -1
- package/dist/cliproxy/binary/updater.d.ts +0 -7
- package/dist/cliproxy/binary/updater.d.ts.map +0 -1
- package/dist/cliproxy/binary/updater.js +0 -18
- package/dist/cliproxy/binary/updater.js.map +0 -1
- package/dist/cliproxy/binary/verifier.d.ts +0 -18
- package/dist/cliproxy/binary/verifier.d.ts.map +0 -1
- package/dist/cliproxy/binary/verifier.js +0 -82
- package/dist/cliproxy/binary/verifier.js.map +0 -1
- package/dist/cliproxy/binary/version-cache.d.ts +0 -64
- package/dist/cliproxy/binary/version-cache.d.ts.map +0 -1
- package/dist/cliproxy/binary/version-cache.js +0 -239
- package/dist/cliproxy/binary/version-cache.js.map +0 -1
- package/dist/cliproxy/binary/version-checker.d.ts +0 -36
- package/dist/cliproxy/binary/version-checker.d.ts.map +0 -1
- package/dist/cliproxy/binary/version-checker.js +0 -135
- package/dist/cliproxy/binary/version-checker.js.map +0 -1
- package/dist/cliproxy/binary/zip-extractor.d.ts +0 -10
- package/dist/cliproxy/binary/zip-extractor.d.ts.map +0 -1
- package/dist/cliproxy/binary/zip-extractor.js +0 -110
- package/dist/cliproxy/binary/zip-extractor.js.map +0 -1
- package/dist/cliproxy/binary-manager.d.ts +0 -59
- package/dist/cliproxy/binary-manager.d.ts.map +0 -1
- package/dist/cliproxy/binary-manager.js +0 -211
- package/dist/cliproxy/binary-manager.js.map +0 -1
- package/dist/cliproxy/cliproxy-executor.d.ts +0 -33
- package/dist/cliproxy/cliproxy-executor.d.ts.map +0 -1
- package/dist/cliproxy/cliproxy-executor.js +0 -1228
- package/dist/cliproxy/cliproxy-executor.js.map +0 -1
- package/dist/cliproxy/codex-reasoning-proxy.d.ts +0 -54
- package/dist/cliproxy/codex-reasoning-proxy.d.ts.map +0 -1
- package/dist/cliproxy/codex-reasoning-proxy.js +0 -373
- package/dist/cliproxy/codex-reasoning-proxy.js.map +0 -1
- package/dist/cliproxy/config-generator.d.ts +0 -236
- package/dist/cliproxy/config-generator.d.ts.map +0 -1
- package/dist/cliproxy/config-generator.js +0 -932
- package/dist/cliproxy/config-generator.js.map +0 -1
- package/dist/cliproxy/device-code-handler.d.ts +0 -28
- package/dist/cliproxy/device-code-handler.d.ts.map +0 -1
- package/dist/cliproxy/device-code-handler.js +0 -22
- package/dist/cliproxy/device-code-handler.js.map +0 -1
- package/dist/cliproxy/endpoint-setup.d.ts +0 -44
- package/dist/cliproxy/endpoint-setup.d.ts.map +0 -1
- package/dist/cliproxy/endpoint-setup.js +0 -299
- package/dist/cliproxy/endpoint-setup.js.map +0 -1
- package/dist/cliproxy/https-tunnel-proxy.d.ts +0 -44
- package/dist/cliproxy/https-tunnel-proxy.d.ts.map +0 -1
- package/dist/cliproxy/https-tunnel-proxy.js +0 -224
- package/dist/cliproxy/https-tunnel-proxy.js.map +0 -1
- package/dist/cliproxy/index.d.ts +0 -41
- package/dist/cliproxy/index.d.ts.map +0 -1
- package/dist/cliproxy/index.js +0 -152
- package/dist/cliproxy/index.js.map +0 -1
- package/dist/cliproxy/management-api-client.d.ts +0 -67
- package/dist/cliproxy/management-api-client.d.ts.map +0 -1
- package/dist/cliproxy/management-api-client.js +0 -347
- package/dist/cliproxy/management-api-client.js.map +0 -1
- package/dist/cliproxy/management-api-types.d.ts +0 -107
- package/dist/cliproxy/management-api-types.d.ts.map +0 -1
- package/dist/cliproxy/management-api-types.js +0 -9
- package/dist/cliproxy/management-api-types.js.map +0 -1
- package/dist/cliproxy/model-catalog.d.ts +0 -108
- package/dist/cliproxy/model-catalog.d.ts.map +0 -1
- package/dist/cliproxy/model-catalog.js +0 -247
- package/dist/cliproxy/model-catalog.js.map +0 -1
- package/dist/cliproxy/model-config.d.ts +0 -31
- package/dist/cliproxy/model-config.d.ts.map +0 -1
- package/dist/cliproxy/model-config.js +0 -250
- package/dist/cliproxy/model-config.js.map +0 -1
- package/dist/cliproxy/openai-compat-manager.d.ts +0 -46
- package/dist/cliproxy/openai-compat-manager.d.ts.map +0 -1
- package/dist/cliproxy/openai-compat-manager.js +0 -191
- package/dist/cliproxy/openai-compat-manager.js.map +0 -1
- package/dist/cliproxy/platform-detector.d.ts +0 -99
- package/dist/cliproxy/platform-detector.d.ts.map +0 -1
- package/dist/cliproxy/platform-detector.js +0 -174
- package/dist/cliproxy/platform-detector.js.map +0 -1
- package/dist/cliproxy/project-selection-handler.d.ts +0 -105
- package/dist/cliproxy/project-selection-handler.d.ts.map +0 -1
- package/dist/cliproxy/project-selection-handler.js +0 -167
- package/dist/cliproxy/project-selection-handler.js.map +0 -1
- package/dist/cliproxy/proxy-config-resolver.d.ts +0 -86
- package/dist/cliproxy/proxy-config-resolver.d.ts.map +0 -1
- package/dist/cliproxy/proxy-config-resolver.js +0 -253
- package/dist/cliproxy/proxy-config-resolver.js.map +0 -1
- package/dist/cliproxy/proxy-detector.d.ts +0 -72
- package/dist/cliproxy/proxy-detector.d.ts.map +0 -1
- package/dist/cliproxy/proxy-detector.js +0 -196
- package/dist/cliproxy/proxy-detector.js.map +0 -1
- package/dist/cliproxy/proxy-target-resolver.d.ts +0 -50
- package/dist/cliproxy/proxy-target-resolver.d.ts.map +0 -1
- package/dist/cliproxy/proxy-target-resolver.js +0 -105
- package/dist/cliproxy/proxy-target-resolver.js.map +0 -1
- package/dist/cliproxy/quota-fetcher-codex.d.ts +0 -66
- package/dist/cliproxy/quota-fetcher-codex.d.ts.map +0 -1
- package/dist/cliproxy/quota-fetcher-codex.js +0 -315
- package/dist/cliproxy/quota-fetcher-codex.js.map +0 -1
- package/dist/cliproxy/quota-fetcher-gemini-cli.d.ts +0 -51
- package/dist/cliproxy/quota-fetcher-gemini-cli.d.ts.map +0 -1
- package/dist/cliproxy/quota-fetcher-gemini-cli.js +0 -492
- package/dist/cliproxy/quota-fetcher-gemini-cli.js.map +0 -1
- package/dist/cliproxy/quota-fetcher.d.ts +0 -95
- package/dist/cliproxy/quota-fetcher.d.ts.map +0 -1
- package/dist/cliproxy/quota-fetcher.js +0 -589
- package/dist/cliproxy/quota-fetcher.js.map +0 -1
- package/dist/cliproxy/quota-manager.d.ts +0 -88
- package/dist/cliproxy/quota-manager.d.ts.map +0 -1
- package/dist/cliproxy/quota-manager.js +0 -278
- package/dist/cliproxy/quota-manager.js.map +0 -1
- package/dist/cliproxy/quota-response-cache.d.ts +0 -46
- package/dist/cliproxy/quota-response-cache.d.ts.map +0 -1
- package/dist/cliproxy/quota-response-cache.js +0 -98
- package/dist/cliproxy/quota-response-cache.js.map +0 -1
- package/dist/cliproxy/quota-types.d.ts +0 -84
- package/dist/cliproxy/quota-types.d.ts.map +0 -1
- package/dist/cliproxy/quota-types.js +0 -9
- package/dist/cliproxy/quota-types.js.map +0 -1
- package/dist/cliproxy/remote-auth-fetcher.d.ts +0 -28
- package/dist/cliproxy/remote-auth-fetcher.d.ts.map +0 -1
- package/dist/cliproxy/remote-auth-fetcher.js +0 -117
- package/dist/cliproxy/remote-auth-fetcher.js.map +0 -1
- package/dist/cliproxy/remote-proxy-client.d.ts +0 -59
- package/dist/cliproxy/remote-proxy-client.d.ts.map +0 -1
- package/dist/cliproxy/remote-proxy-client.js +0 -278
- package/dist/cliproxy/remote-proxy-client.js.map +0 -1
- package/dist/cliproxy/remote-token-uploader.d.ts +0 -28
- package/dist/cliproxy/remote-token-uploader.d.ts.map +0 -1
- package/dist/cliproxy/remote-token-uploader.js +0 -178
- package/dist/cliproxy/remote-token-uploader.js.map +0 -1
- package/dist/cliproxy/service-manager.d.ts +0 -55
- package/dist/cliproxy/service-manager.d.ts.map +0 -1
- package/dist/cliproxy/service-manager.js +0 -327
- package/dist/cliproxy/service-manager.js.map +0 -1
- package/dist/cliproxy/services/binary-service.d.ts +0 -67
- package/dist/cliproxy/services/binary-service.d.ts.map +0 -1
- package/dist/cliproxy/services/binary-service.js +0 -176
- package/dist/cliproxy/services/binary-service.js.map +0 -1
- package/dist/cliproxy/services/index.d.ts +0 -8
- package/dist/cliproxy/services/index.d.ts.map +0 -1
- package/dist/cliproxy/services/index.js +0 -31
- package/dist/cliproxy/services/index.js.map +0 -1
- package/dist/cliproxy/services/proxy-lifecycle-service.d.ts +0 -38
- package/dist/cliproxy/services/proxy-lifecycle-service.d.ts.map +0 -1
- package/dist/cliproxy/services/proxy-lifecycle-service.js +0 -41
- package/dist/cliproxy/services/proxy-lifecycle-service.js.map +0 -1
- package/dist/cliproxy/services/variant-config-adapter.d.ts +0 -48
- package/dist/cliproxy/services/variant-config-adapter.d.ts.map +0 -1
- package/dist/cliproxy/services/variant-config-adapter.js +0 -215
- package/dist/cliproxy/services/variant-config-adapter.js.map +0 -1
- package/dist/cliproxy/services/variant-service.d.ts +0 -52
- package/dist/cliproxy/services/variant-service.d.ts.map +0 -1
- package/dist/cliproxy/services/variant-service.js +0 -218
- package/dist/cliproxy/services/variant-service.js.map +0 -1
- package/dist/cliproxy/services/variant-settings.d.ts +0 -37
- package/dist/cliproxy/services/variant-settings.d.ts.map +0 -1
- package/dist/cliproxy/services/variant-settings.js +0 -168
- package/dist/cliproxy/services/variant-settings.js.map +0 -1
- package/dist/cliproxy/session-tracker.d.ts +0 -100
- package/dist/cliproxy/session-tracker.d.ts.map +0 -1
- package/dist/cliproxy/session-tracker.js +0 -420
- package/dist/cliproxy/session-tracker.js.map +0 -1
- package/dist/cliproxy/startup-lock.d.ts +0 -57
- package/dist/cliproxy/startup-lock.d.ts.map +0 -1
- package/dist/cliproxy/startup-lock.js +0 -216
- package/dist/cliproxy/startup-lock.js.map +0 -1
- package/dist/cliproxy/stats-fetcher.d.ts +0 -106
- package/dist/cliproxy/stats-fetcher.d.ts.map +0 -1
- package/dist/cliproxy/stats-fetcher.js +0 -267
- package/dist/cliproxy/stats-fetcher.js.map +0 -1
- package/dist/cliproxy/sync/auto-sync-watcher.d.ts +0 -37
- package/dist/cliproxy/sync/auto-sync-watcher.d.ts.map +0 -1
- package/dist/cliproxy/sync/auto-sync-watcher.js +0 -211
- package/dist/cliproxy/sync/auto-sync-watcher.js.map +0 -1
- package/dist/cliproxy/sync/index.d.ts +0 -10
- package/dist/cliproxy/sync/index.d.ts.map +0 -1
- package/dist/cliproxy/sync/index.js +0 -27
- package/dist/cliproxy/sync/index.js.map +0 -1
- package/dist/cliproxy/sync/local-config-sync.d.ts +0 -28
- package/dist/cliproxy/sync/local-config-sync.d.ts.map +0 -1
- package/dist/cliproxy/sync/local-config-sync.js +0 -223
- package/dist/cliproxy/sync/local-config-sync.js.map +0 -1
- package/dist/cliproxy/sync/profile-mapper.d.ts +0 -55
- package/dist/cliproxy/sync/profile-mapper.d.ts.map +0 -1
- package/dist/cliproxy/sync/profile-mapper.js +0 -173
- package/dist/cliproxy/sync/profile-mapper.js.map +0 -1
- package/dist/cliproxy/thinking-validator.d.ts +0 -67
- package/dist/cliproxy/thinking-validator.d.ts.map +0 -1
- package/dist/cliproxy/thinking-validator.js +0 -327
- package/dist/cliproxy/thinking-validator.js.map +0 -1
- package/dist/cliproxy/tool-name-mapper.d.ts.map +0 -1
- package/dist/cliproxy/tool-name-mapper.js.map +0 -1
- package/dist/cliproxy/tool-name-sanitizer.d.ts.map +0 -1
- package/dist/cliproxy/tool-name-sanitizer.js.map +0 -1
- package/dist/cliproxy/tool-sanitization-proxy.d.ts.map +0 -1
- package/dist/cliproxy/tool-sanitization-proxy.js.map +0 -1
- package/dist/cliproxy/types.d.ts +0 -218
- package/dist/cliproxy/types.d.ts.map +0 -1
- package/dist/cliproxy/types.js +0 -12
- package/dist/cliproxy/types.js.map +0 -1
- package/dist/commands/cleanup-command.d.ts +0 -12
- package/dist/commands/cleanup-command.d.ts.map +0 -1
- package/dist/commands/cleanup-command.js +0 -350
- package/dist/commands/cleanup-command.js.map +0 -1
- package/dist/commands/cliproxy-command.d.ts +0 -21
- package/dist/commands/cliproxy-command.d.ts.map +0 -1
- package/dist/commands/cliproxy-command.js +0 -1099
- package/dist/commands/cliproxy-command.js.map +0 -1
- package/dist/commands/cliproxy-sync-handler.d.ts +0 -19
- package/dist/commands/cliproxy-sync-handler.d.ts.map +0 -1
- package/dist/commands/cliproxy-sync-handler.js +0 -99
- package/dist/commands/cliproxy-sync-handler.js.map +0 -1
- package/dist/commands/config-auth/disable-command.d.ts +0 -10
- package/dist/commands/config-auth/disable-command.d.ts.map +0 -1
- package/dist/commands/config-auth/disable-command.js +0 -64
- package/dist/commands/config-auth/disable-command.js.map +0 -1
- package/dist/commands/config-auth/index.d.ts +0 -14
- package/dist/commands/config-auth/index.d.ts.map +0 -1
- package/dist/commands/config-auth/index.js +0 -84
- package/dist/commands/config-auth/index.js.map +0 -1
- package/dist/commands/config-auth/setup-command.d.ts +0 -13
- package/dist/commands/config-auth/setup-command.d.ts.map +0 -1
- package/dist/commands/config-auth/setup-command.js +0 -121
- package/dist/commands/config-auth/setup-command.js.map +0 -1
- package/dist/commands/config-auth/show-command.d.ts +0 -10
- package/dist/commands/config-auth/show-command.d.ts.map +0 -1
- package/dist/commands/config-auth/show-command.js +0 -79
- package/dist/commands/config-auth/show-command.js.map +0 -1
- package/dist/commands/config-auth/types.d.ts +0 -25
- package/dist/commands/config-auth/types.d.ts.map +0 -1
- package/dist/commands/config-auth/types.js +0 -8
- package/dist/commands/config-auth/types.js.map +0 -1
- package/dist/commands/config-command.d.ts +0 -12
- package/dist/commands/config-command.d.ts.map +0 -1
- package/dist/commands/config-command.js +0 -184
- package/dist/commands/config-command.js.map +0 -1
- package/dist/commands/config-image-analysis-command.d.ts +0 -8
- package/dist/commands/config-image-analysis-command.d.ts.map +0 -1
- package/dist/commands/config-image-analysis-command.js +0 -174
- package/dist/commands/config-image-analysis-command.js.map +0 -1
- package/dist/commands/copilot-command.d.ts +0 -10
- package/dist/commands/copilot-command.d.ts.map +0 -1
- package/dist/commands/copilot-command.js +0 -228
- package/dist/commands/copilot-command.js.map +0 -1
- package/dist/commands/doctor-command.d.ts +0 -11
- package/dist/commands/doctor-command.d.ts.map +0 -1
- package/dist/commands/doctor-command.js +0 -92
- package/dist/commands/doctor-command.js.map +0 -1
- package/dist/commands/help-command.d.ts +0 -5
- package/dist/commands/help-command.d.ts.map +0 -1
- package/dist/commands/help-command.js +0 -359
- package/dist/commands/help-command.js.map +0 -1
- package/dist/commands/index.d.ts +0 -18
- package/dist/commands/index.d.ts.map +0 -1
- package/dist/commands/index.js +0 -35
- package/dist/commands/index.js.map +0 -1
- package/dist/commands/install-command.d.ts +0 -14
- package/dist/commands/install-command.d.ts.map +0 -1
- package/dist/commands/install-command.js +0 -62
- package/dist/commands/install-command.js.map +0 -1
- package/dist/commands/migrate-command.d.ts +0 -17
- package/dist/commands/migrate-command.d.ts.map +0 -1
- package/dist/commands/migrate-command.js +0 -139
- package/dist/commands/migrate-command.js.map +0 -1
- package/dist/commands/persist-command.d.ts +0 -12
- package/dist/commands/persist-command.d.ts.map +0 -1
- package/dist/commands/persist-command.js +0 -565
- package/dist/commands/persist-command.js.map +0 -1
- package/dist/commands/router.d.ts +0 -41
- package/dist/commands/router.d.ts.map +0 -1
- package/dist/commands/router.js +0 -234
- package/dist/commands/router.js.map +0 -1
- package/dist/commands/setup-command.d.ts +0 -29
- package/dist/commands/setup-command.d.ts.map +0 -1
- package/dist/commands/setup-command.js +0 -426
- package/dist/commands/setup-command.js.map +0 -1
- package/dist/commands/shell-completion-command.d.ts +0 -10
- package/dist/commands/shell-completion-command.d.ts.map +0 -1
- package/dist/commands/shell-completion-command.js +0 -90
- package/dist/commands/shell-completion-command.js.map +0 -1
- package/dist/commands/sync-command.d.ts +0 -10
- package/dist/commands/sync-command.d.ts.map +0 -1
- package/dist/commands/sync-command.js +0 -67
- package/dist/commands/sync-command.js.map +0 -1
- package/dist/commands/tokens-command.d.ts +0 -19
- package/dist/commands/tokens-command.d.ts.map +0 -1
- package/dist/commands/tokens-command.js +0 -173
- package/dist/commands/tokens-command.js.map +0 -1
- package/dist/commands/update-command.d.ts +0 -19
- package/dist/commands/update-command.d.ts.map +0 -1
- package/dist/commands/update-command.js +0 -290
- package/dist/commands/update-command.js.map +0 -1
- package/dist/commands/version-command.d.ts +0 -10
- package/dist/commands/version-command.d.ts.map +0 -1
- package/dist/commands/version-command.js +0 -100
- package/dist/commands/version-command.js.map +0 -1
- package/dist/config/feature-flags.d.ts +0 -19
- package/dist/config/feature-flags.d.ts.map +0 -1
- package/dist/config/feature-flags.js +0 -31
- package/dist/config/feature-flags.js.map +0 -1
- package/dist/config/migration-manager.d.ts +0 -75
- package/dist/config/migration-manager.d.ts.map +0 -1
- package/dist/config/migration-manager.js +0 -446
- package/dist/config/migration-manager.js.map +0 -1
- package/dist/config/reserved-names.d.ts +0 -31
- package/dist/config/reserved-names.d.ts.map +0 -1
- package/dist/config/reserved-names.js +0 -80
- package/dist/config/reserved-names.js.map +0 -1
- package/dist/copilot/copilot-auth.d.ts +0 -52
- package/dist/copilot/copilot-auth.d.ts.map +0 -1
- package/dist/copilot/copilot-auth.js +0 -201
- package/dist/copilot/copilot-auth.js.map +0 -1
- package/dist/copilot/copilot-daemon.d.ts +0 -36
- package/dist/copilot/copilot-daemon.d.ts.map +0 -1
- package/dist/copilot/copilot-daemon.js +0 -237
- package/dist/copilot/copilot-daemon.js.map +0 -1
- package/dist/copilot/copilot-executor.d.ts +0 -26
- package/dist/copilot/copilot-executor.d.ts.map +0 -1
- package/dist/copilot/copilot-executor.js +0 -150
- package/dist/copilot/copilot-executor.js.map +0 -1
- package/dist/copilot/copilot-models.d.ts +0 -34
- package/dist/copilot/copilot-models.d.ts.map +0 -1
- package/dist/copilot/copilot-models.js +0 -261
- package/dist/copilot/copilot-models.js.map +0 -1
- package/dist/copilot/copilot-package-manager.d.ts +0 -93
- package/dist/copilot/copilot-package-manager.d.ts.map +0 -1
- package/dist/copilot/copilot-package-manager.js +0 -488
- package/dist/copilot/copilot-package-manager.js.map +0 -1
- package/dist/copilot/index.d.ts +0 -13
- package/dist/copilot/index.d.ts.map +0 -1
- package/dist/copilot/index.js +0 -63
- package/dist/copilot/index.js.map +0 -1
- package/dist/copilot/types.d.ts +0 -65
- package/dist/copilot/types.d.ts.map +0 -1
- package/dist/copilot/types.js +0 -8
- package/dist/copilot/types.js.map +0 -1
- package/dist/management/checks/cliproxy-check.d.ts +0 -37
- package/dist/management/checks/cliproxy-check.d.ts.map +0 -1
- package/dist/management/checks/cliproxy-check.js +0 -187
- package/dist/management/checks/cliproxy-check.js.map +0 -1
- package/dist/management/checks/config-check.d.ts +0 -38
- package/dist/management/checks/config-check.d.ts.map +0 -1
- package/dist/management/checks/config-check.js +0 -215
- package/dist/management/checks/config-check.js.map +0 -1
- package/dist/management/checks/env-check.d.ts +0 -17
- package/dist/management/checks/env-check.d.ts.map +0 -1
- package/dist/management/checks/env-check.js +0 -71
- package/dist/management/checks/env-check.js.map +0 -1
- package/dist/management/checks/image-analysis-check.d.ts +0 -16
- package/dist/management/checks/image-analysis-check.d.ts.map +0 -1
- package/dist/management/checks/image-analysis-check.js +0 -140
- package/dist/management/checks/image-analysis-check.js.map +0 -1
- package/dist/management/checks/index.d.ts +0 -13
- package/dist/management/checks/index.d.ts.map +0 -1
- package/dist/management/checks/index.js +0 -52
- package/dist/management/checks/index.js.map +0 -1
- package/dist/management/checks/oauth-check.d.ts +0 -16
- package/dist/management/checks/oauth-check.d.ts.map +0 -1
- package/dist/management/checks/oauth-check.js +0 -68
- package/dist/management/checks/oauth-check.js.map +0 -1
- package/dist/management/checks/profile-check.d.ts +0 -40
- package/dist/management/checks/profile-check.d.ts.map +0 -1
- package/dist/management/checks/profile-check.js +0 -190
- package/dist/management/checks/profile-check.js.map +0 -1
- package/dist/management/checks/symlink-check.d.ts +0 -30
- package/dist/management/checks/symlink-check.d.ts.map +0 -1
- package/dist/management/checks/symlink-check.js +0 -214
- package/dist/management/checks/symlink-check.js.map +0 -1
- package/dist/management/checks/system-check.d.ts +0 -25
- package/dist/management/checks/system-check.d.ts.map +0 -1
- package/dist/management/checks/system-check.js +0 -135
- package/dist/management/checks/system-check.js.map +0 -1
- package/dist/management/checks/types.d.ts +0 -64
- package/dist/management/checks/types.d.ts.map +0 -1
- package/dist/management/checks/types.js +0 -64
- package/dist/management/checks/types.js.map +0 -1
- package/dist/management/doctor.d.ts +0 -34
- package/dist/management/doctor.d.ts.map +0 -1
- package/dist/management/doctor.js +0 -154
- package/dist/management/doctor.js.map +0 -1
- package/dist/management/environment-diagnostics.d.ts +0 -69
- package/dist/management/environment-diagnostics.d.ts.map +0 -1
- package/dist/management/environment-diagnostics.js +0 -229
- package/dist/management/environment-diagnostics.js.map +0 -1
- package/dist/management/index.d.ts +0 -15
- package/dist/management/index.d.ts.map +0 -1
- package/dist/management/index.js +0 -56
- package/dist/management/index.js.map +0 -1
- package/dist/management/instance-manager.d.ts +0 -57
- package/dist/management/instance-manager.d.ts.map +0 -1
- package/dist/management/instance-manager.js +0 -195
- package/dist/management/instance-manager.js.map +0 -1
- package/dist/management/oauth-port-diagnostics.d.ts +0 -115
- package/dist/management/oauth-port-diagnostics.d.ts.map +0 -1
- package/dist/management/oauth-port-diagnostics.js +0 -291
- package/dist/management/oauth-port-diagnostics.js.map +0 -1
- package/dist/management/recovery-manager.d.ts +0 -56
- package/dist/management/recovery-manager.d.ts.map +0 -1
- package/dist/management/recovery-manager.js +0 -239
- package/dist/management/recovery-manager.js.map +0 -1
- package/dist/management/repair/auto-repair.d.ts +0 -13
- package/dist/management/repair/auto-repair.d.ts.map +0 -1
- package/dist/management/repair/auto-repair.js +0 -186
- package/dist/management/repair/auto-repair.js.map +0 -1
- package/dist/management/repair/index.d.ts +0 -5
- package/dist/management/repair/index.d.ts.map +0 -1
- package/dist/management/repair/index.js +0 -9
- package/dist/management/repair/index.js.map +0 -1
- package/dist/management/shared-manager.d.ts +0 -55
- package/dist/management/shared-manager.d.ts.map +0 -1
- package/dist/management/shared-manager.js +0 -424
- package/dist/management/shared-manager.js.map +0 -1
- package/dist/router/index.d.ts +0 -13
- package/dist/router/index.d.ts.map +0 -1
- package/dist/router/index.js +0 -25
- package/dist/router/index.js.map +0 -1
- package/dist/router/scenario-router.d.ts +0 -86
- package/dist/router/scenario-router.d.ts.map +0 -1
- package/dist/router/scenario-router.js +0 -178
- package/dist/router/scenario-router.js.map +0 -1
- package/dist/router/scenario-routing-proxy.d.ts +0 -138
- package/dist/router/scenario-routing-proxy.d.ts.map +0 -1
- package/dist/router/scenario-routing-proxy.js +0 -380
- package/dist/router/scenario-routing-proxy.js.map +0 -1
- package/dist/router/settings-routing-executor.d.ts +0 -21
- package/dist/router/settings-routing-executor.d.ts.map +0 -1
- package/dist/router/settings-routing-executor.js +0 -111
- package/dist/router/settings-routing-executor.js.map +0 -1
- package/dist/router/types.d.ts +0 -72
- package/dist/router/types.d.ts.map +0 -1
- package/dist/router/types.js +0 -20
- package/dist/router/types.js.map +0 -1
- package/dist/types/glmt.d.ts +0 -95
- package/dist/types/glmt.d.ts.map +0 -1
- package/dist/types/glmt.js +0 -7
- package/dist/types/glmt.js.map +0 -1
- package/dist/utils/api-key-validator.d.ts +0 -14
- package/dist/utils/api-key-validator.d.ts.map +0 -1
- package/dist/utils/api-key-validator.js +0 -143
- package/dist/utils/api-key-validator.js.map +0 -1
- package/dist/utils/claude-dir-installer.d.ts +0 -46
- package/dist/utils/claude-dir-installer.d.ts.map +0 -1
- package/dist/utils/claude-dir-installer.js +0 -289
- package/dist/utils/claude-dir-installer.js.map +0 -1
- package/dist/utils/claude-spawner.d.ts +0 -54
- package/dist/utils/claude-spawner.d.ts.map +0 -1
- package/dist/utils/claude-spawner.js +0 -118
- package/dist/utils/claude-spawner.js.map +0 -1
- package/dist/utils/claude-symlink-manager.d.ts +0 -75
- package/dist/utils/claude-symlink-manager.d.ts.map +0 -1
- package/dist/utils/claude-symlink-manager.js +0 -393
- package/dist/utils/claude-symlink-manager.js.map +0 -1
- package/dist/utils/hooks/get-image-analysis-hook-env.d.ts +0 -17
- package/dist/utils/hooks/get-image-analysis-hook-env.d.ts.map +0 -1
- package/dist/utils/hooks/get-image-analysis-hook-env.js +0 -42
- package/dist/utils/hooks/get-image-analysis-hook-env.js.map +0 -1
- package/dist/utils/hooks/image-analyzer-hook-configuration.d.ts +0 -17
- package/dist/utils/hooks/image-analyzer-hook-configuration.d.ts.map +0 -1
- package/dist/utils/hooks/image-analyzer-hook-configuration.js +0 -71
- package/dist/utils/hooks/image-analyzer-hook-configuration.js.map +0 -1
- package/dist/utils/hooks/image-analyzer-hook-installer.d.ts +0 -31
- package/dist/utils/hooks/image-analyzer-hook-installer.d.ts.map +0 -1
- package/dist/utils/hooks/image-analyzer-hook-installer.js +0 -149
- package/dist/utils/hooks/image-analyzer-hook-installer.js.map +0 -1
- package/dist/utils/hooks/image-analyzer-profile-hook-injector.d.ts +0 -24
- package/dist/utils/hooks/image-analyzer-profile-hook-injector.d.ts.map +0 -1
- package/dist/utils/hooks/image-analyzer-profile-hook-injector.js +0 -251
- package/dist/utils/hooks/image-analyzer-profile-hook-injector.js.map +0 -1
- package/dist/utils/hooks/index.d.ts +0 -11
- package/dist/utils/hooks/index.d.ts.map +0 -1
- package/dist/utils/hooks/index.js +0 -21
- package/dist/utils/hooks/index.js.map +0 -1
- package/dist/utils/image-analysis/hook-installer.d.ts +0 -19
- package/dist/utils/image-analysis/hook-installer.d.ts.map +0 -1
- package/dist/utils/image-analysis/hook-installer.js +0 -112
- package/dist/utils/image-analysis/hook-installer.js.map +0 -1
- package/dist/utils/image-analysis/index.d.ts +0 -7
- package/dist/utils/image-analysis/index.d.ts.map +0 -1
- package/dist/utils/image-analysis/index.js +0 -12
- package/dist/utils/image-analysis/index.js.map +0 -1
- package/dist/utils/package-manager-detector.d.ts +0 -11
- package/dist/utils/package-manager-detector.d.ts.map +0 -1
- package/dist/utils/package-manager-detector.js +0 -103
- package/dist/utils/package-manager-detector.js.map +0 -1
- package/dist/utils/platform-commands.d.ts +0 -53
- package/dist/utils/platform-commands.d.ts.map +0 -1
- package/dist/utils/platform-commands.js +0 -189
- package/dist/utils/platform-commands.js.map +0 -1
- package/dist/utils/port-utils.d.ts +0 -55
- package/dist/utils/port-utils.d.ts.map +0 -1
- package/dist/utils/port-utils.js +0 -217
- package/dist/utils/port-utils.js.map +0 -1
- package/dist/utils/sensitive-keys.d.ts +0 -35
- package/dist/utils/sensitive-keys.d.ts.map +0 -1
- package/dist/utils/sensitive-keys.js +0 -67
- package/dist/utils/sensitive-keys.js.map +0 -1
- package/dist/utils/shell-completion.d.ts +0 -54
- package/dist/utils/shell-completion.d.ts.map +0 -1
- package/dist/utils/shell-completion.js +0 -260
- package/dist/utils/shell-completion.js.map +0 -1
- package/dist/utils/ui/tasks.d.ts +0 -26
- package/dist/utils/ui/tasks.d.ts.map +0 -1
- package/dist/utils/ui/tasks.js +0 -102
- package/dist/utils/ui/tasks.js.map +0 -1
- package/dist/utils/update-checker.d.ts +0 -71
- package/dist/utils/update-checker.d.ts.map +0 -1
- package/dist/utils/update-checker.js +0 -377
- package/dist/utils/update-checker.js.map +0 -1
- package/dist/utils/version.d.ts +0 -8
- package/dist/utils/version.d.ts.map +0 -1
- package/dist/utils/version.js +0 -51
- package/dist/utils/version.js.map +0 -1
- package/dist/utils/websearch/gemini-cli.d.ts +0 -36
- package/dist/utils/websearch/gemini-cli.d.ts.map +0 -1
- package/dist/utils/websearch/gemini-cli.js +0 -132
- package/dist/utils/websearch/gemini-cli.js.map +0 -1
- package/dist/utils/websearch/grok-cli.d.ts +0 -26
- package/dist/utils/websearch/grok-cli.d.ts.map +0 -1
- package/dist/utils/websearch/grok-cli.js +0 -81
- package/dist/utils/websearch/grok-cli.js.map +0 -1
- package/dist/utils/websearch/hook-config.d.ts +0 -27
- package/dist/utils/websearch/hook-config.d.ts.map +0 -1
- package/dist/utils/websearch/hook-config.js +0 -280
- package/dist/utils/websearch/hook-config.js.map +0 -1
- package/dist/utils/websearch/hook-env.d.ts +0 -16
- package/dist/utils/websearch/hook-env.d.ts.map +0 -1
- package/dist/utils/websearch/hook-env.js +0 -62
- package/dist/utils/websearch/hook-env.js.map +0 -1
- package/dist/utils/websearch/hook-installer.d.ts +0 -30
- package/dist/utils/websearch/hook-installer.d.ts.map +0 -1
- package/dist/utils/websearch/hook-installer.js +0 -148
- package/dist/utils/websearch/hook-installer.js.map +0 -1
- package/dist/utils/websearch/hook-utils.d.ts +0 -18
- package/dist/utils/websearch/hook-utils.d.ts.map +0 -1
- package/dist/utils/websearch/hook-utils.js +0 -59
- package/dist/utils/websearch/hook-utils.js.map +0 -1
- package/dist/utils/websearch/index.d.ts +0 -17
- package/dist/utils/websearch/index.d.ts.map +0 -1
- package/dist/utils/websearch/index.js +0 -51
- package/dist/utils/websearch/index.js.map +0 -1
- package/dist/utils/websearch/opencode-cli.d.ts +0 -26
- package/dist/utils/websearch/opencode-cli.d.ts.map +0 -1
- package/dist/utils/websearch/opencode-cli.js +0 -81
- package/dist/utils/websearch/opencode-cli.js.map +0 -1
- package/dist/utils/websearch/profile-hook-injector.d.ts +0 -20
- package/dist/utils/websearch/profile-hook-injector.d.ts.map +0 -1
- package/dist/utils/websearch/profile-hook-injector.js +0 -250
- package/dist/utils/websearch/profile-hook-injector.js.map +0 -1
- package/dist/utils/websearch/status.d.ts +0 -36
- package/dist/utils/websearch/status.d.ts.map +0 -1
- package/dist/utils/websearch/status.js +0 -192
- package/dist/utils/websearch/status.js.map +0 -1
- package/dist/utils/websearch/types.d.ts +0 -85
- package/dist/utils/websearch/types.d.ts.map +0 -1
- package/dist/utils/websearch/types.js +0 -10
- package/dist/utils/websearch/types.js.map +0 -1
- package/dist/utils/websearch-manager.d.ts +0 -31
- package/dist/utils/websearch-manager.d.ts.map +0 -1
- package/dist/utils/websearch-manager.js +0 -72
- package/dist/utils/websearch-manager.js.map +0 -1
- package/dist/web-server/data-aggregator.d.ts +0 -7
- package/dist/web-server/data-aggregator.d.ts.map +0 -1
- package/dist/web-server/data-aggregator.js +0 -23
- package/dist/web-server/data-aggregator.js.map +0 -1
- package/dist/web-server/file-watcher.d.ts +0 -15
- package/dist/web-server/file-watcher.d.ts.map +0 -1
- package/dist/web-server/file-watcher.js +0 -93
- package/dist/web-server/file-watcher.js.map +0 -1
- package/dist/web-server/health/cliproxy-checks.d.ts +0 -23
- package/dist/web-server/health/cliproxy-checks.d.ts.map +0 -1
- package/dist/web-server/health/cliproxy-checks.js +0 -171
- package/dist/web-server/health/cliproxy-checks.js.map +0 -1
- package/dist/web-server/health/config-checks.d.ts +0 -20
- package/dist/web-server/health/config-checks.d.ts.map +0 -1
- package/dist/web-server/health/config-checks.js +0 -212
- package/dist/web-server/health/config-checks.js.map +0 -1
- package/dist/web-server/health/environment-checks.d.ts +0 -11
- package/dist/web-server/health/environment-checks.d.ts.map +0 -1
- package/dist/web-server/health/environment-checks.js +0 -40
- package/dist/web-server/health/environment-checks.js.map +0 -1
- package/dist/web-server/health/index.d.ts +0 -13
- package/dist/web-server/health/index.d.ts.map +0 -1
- package/dist/web-server/health/index.js +0 -41
- package/dist/web-server/health/index.js.map +0 -1
- package/dist/web-server/health/oauth-checks.d.ts +0 -11
- package/dist/web-server/health/oauth-checks.d.ts.map +0 -1
- package/dist/web-server/health/oauth-checks.js +0 -34
- package/dist/web-server/health/oauth-checks.js.map +0 -1
- package/dist/web-server/health/profile-checks.d.ts +0 -20
- package/dist/web-server/health/profile-checks.d.ts.map +0 -1
- package/dist/web-server/health/profile-checks.js +0 -184
- package/dist/web-server/health/profile-checks.js.map +0 -1
- package/dist/web-server/health/symlink-checks.d.ts +0 -15
- package/dist/web-server/health/symlink-checks.d.ts.map +0 -1
- package/dist/web-server/health/symlink-checks.js +0 -173
- package/dist/web-server/health/symlink-checks.js.map +0 -1
- package/dist/web-server/health/system-checks.d.ts +0 -19
- package/dist/web-server/health/system-checks.d.ts.map +0 -1
- package/dist/web-server/health/system-checks.js +0 -127
- package/dist/web-server/health/system-checks.js.map +0 -1
- package/dist/web-server/health/types.d.ts +0 -34
- package/dist/web-server/health/types.d.ts.map +0 -1
- package/dist/web-server/health/types.js +0 -8
- package/dist/web-server/health/types.js.map +0 -1
- package/dist/web-server/health/websearch-checks.d.ts +0 -11
- package/dist/web-server/health/websearch-checks.d.ts.map +0 -1
- package/dist/web-server/health/websearch-checks.js +0 -53
- package/dist/web-server/health/websearch-checks.js.map +0 -1
- package/dist/web-server/health-service.d.ts +0 -20
- package/dist/web-server/health-service.d.ts.map +0 -1
- package/dist/web-server/health-service.js +0 -162
- package/dist/web-server/health-service.js.map +0 -1
- package/dist/web-server/index.d.ts +0 -25
- package/dist/web-server/index.d.ts.map +0 -1
- package/dist/web-server/index.js +0 -118
- package/dist/web-server/index.js.map +0 -1
- package/dist/web-server/jsonl-parser.d.ts +0 -68
- package/dist/web-server/jsonl-parser.d.ts.map +0 -1
- package/dist/web-server/jsonl-parser.js +0 -214
- package/dist/web-server/jsonl-parser.js.map +0 -1
- package/dist/web-server/middleware/auth-middleware.d.ts +0 -27
- package/dist/web-server/middleware/auth-middleware.d.ts.map +0 -1
- package/dist/web-server/middleware/auth-middleware.js +0 -116
- package/dist/web-server/middleware/auth-middleware.js.map +0 -1
- package/dist/web-server/model-pricing.d.ts +0 -42
- package/dist/web-server/model-pricing.d.ts.map +0 -1
- package/dist/web-server/model-pricing.js +0 -669
- package/dist/web-server/model-pricing.js.map +0 -1
- package/dist/web-server/overview-routes.d.ts +0 -7
- package/dist/web-server/overview-routes.d.ts.map +0 -1
- package/dist/web-server/overview-routes.js +0 -75
- package/dist/web-server/overview-routes.js.map +0 -1
- package/dist/web-server/routes/account-routes.d.ts +0 -9
- package/dist/web-server/routes/account-routes.d.ts.map +0 -1
- package/dist/web-server/routes/account-routes.js +0 -274
- package/dist/web-server/routes/account-routes.js.map +0 -1
- package/dist/web-server/routes/auth-routes.d.ts +0 -7
- package/dist/web-server/routes/auth-routes.d.ts.map +0 -1
- package/dist/web-server/routes/auth-routes.js +0 -108
- package/dist/web-server/routes/auth-routes.js.map +0 -1
- package/dist/web-server/routes/cliproxy-auth-routes.d.ts +0 -3
- package/dist/web-server/routes/cliproxy-auth-routes.d.ts.map +0 -1
- package/dist/web-server/routes/cliproxy-auth-routes.js +0 -610
- package/dist/web-server/routes/cliproxy-auth-routes.js.map +0 -1
- package/dist/web-server/routes/cliproxy-stats-routes.d.ts +0 -6
- package/dist/web-server/routes/cliproxy-stats-routes.d.ts.map +0 -1
- package/dist/web-server/routes/cliproxy-stats-routes.js +0 -681
- package/dist/web-server/routes/cliproxy-stats-routes.js.map +0 -1
- package/dist/web-server/routes/cliproxy-sync-routes.d.ts +0 -6
- package/dist/web-server/routes/cliproxy-sync-routes.d.ts.map +0 -1
- package/dist/web-server/routes/cliproxy-sync-routes.js +0 -157
- package/dist/web-server/routes/cliproxy-sync-routes.js.map +0 -1
- package/dist/web-server/routes/config-routes.d.ts +0 -6
- package/dist/web-server/routes/config-routes.d.ts.map +0 -1
- package/dist/web-server/routes/config-routes.js +0 -130
- package/dist/web-server/routes/config-routes.js.map +0 -1
- package/dist/web-server/routes/copilot-routes.d.ts +0 -6
- package/dist/web-server/routes/copilot-routes.d.ts.map +0 -1
- package/dist/web-server/routes/copilot-routes.js +0 -195
- package/dist/web-server/routes/copilot-routes.js.map +0 -1
- package/dist/web-server/routes/copilot-settings-routes.d.ts +0 -6
- package/dist/web-server/routes/copilot-settings-routes.d.ts.map +0 -1
- package/dist/web-server/routes/copilot-settings-routes.js +0 -122
- package/dist/web-server/routes/copilot-settings-routes.js.map +0 -1
- package/dist/web-server/routes/health-routes.d.ts +0 -6
- package/dist/web-server/routes/health-routes.d.ts.map +0 -1
- package/dist/web-server/routes/health-routes.js +0 -40
- package/dist/web-server/routes/health-routes.js.map +0 -1
- package/dist/web-server/routes/index.d.ts +0 -8
- package/dist/web-server/routes/index.d.ts.map +0 -1
- package/dist/web-server/routes/index.js +0 -62
- package/dist/web-server/routes/index.js.map +0 -1
- package/dist/web-server/routes/misc-routes.d.ts +0 -6
- package/dist/web-server/routes/misc-routes.d.ts.map +0 -1
- package/dist/web-server/routes/misc-routes.js +0 -396
- package/dist/web-server/routes/misc-routes.js.map +0 -1
- package/dist/web-server/routes/persist-routes.d.ts +0 -6
- package/dist/web-server/routes/persist-routes.d.ts.map +0 -1
- package/dist/web-server/routes/persist-routes.js +0 -286
- package/dist/web-server/routes/persist-routes.js.map +0 -1
- package/dist/web-server/routes/profile-routes.d.ts +0 -9
- package/dist/web-server/routes/profile-routes.d.ts.map +0 -1
- package/dist/web-server/routes/profile-routes.js +0 -116
- package/dist/web-server/routes/profile-routes.js.map +0 -1
- package/dist/web-server/routes/provider-routes.d.ts +0 -6
- package/dist/web-server/routes/provider-routes.d.ts.map +0 -1
- package/dist/web-server/routes/provider-routes.js +0 -146
- package/dist/web-server/routes/provider-routes.js.map +0 -1
- package/dist/web-server/routes/proxy-routes.d.ts +0 -11
- package/dist/web-server/routes/proxy-routes.d.ts.map +0 -1
- package/dist/web-server/routes/proxy-routes.js +0 -154
- package/dist/web-server/routes/proxy-routes.js.map +0 -1
- package/dist/web-server/routes/route-helpers.d.ts +0 -50
- package/dist/web-server/routes/route-helpers.d.ts.map +0 -1
- package/dist/web-server/routes/route-helpers.js +0 -179
- package/dist/web-server/routes/route-helpers.js.map +0 -1
- package/dist/web-server/routes/settings-routes.d.ts +0 -6
- package/dist/web-server/routes/settings-routes.d.ts.map +0 -1
- package/dist/web-server/routes/settings-routes.js +0 -413
- package/dist/web-server/routes/settings-routes.js.map +0 -1
- package/dist/web-server/routes/variant-routes.d.ts +0 -8
- package/dist/web-server/routes/variant-routes.d.ts.map +0 -1
- package/dist/web-server/routes/variant-routes.js +0 -119
- package/dist/web-server/routes/variant-routes.js.map +0 -1
- package/dist/web-server/routes/websearch-routes.d.ts +0 -6
- package/dist/web-server/routes/websearch-routes.d.ts.map +0 -1
- package/dist/web-server/routes/websearch-routes.js +0 -130
- package/dist/web-server/routes/websearch-routes.js.map +0 -1
- package/dist/web-server/services/index.d.ts +0 -7
- package/dist/web-server/services/index.d.ts.map +0 -1
- package/dist/web-server/services/index.js +0 -21
- package/dist/web-server/services/index.js.map +0 -1
- package/dist/web-server/services/usage-aggregator.d.ts +0 -7
- package/dist/web-server/services/usage-aggregator.d.ts.map +0 -1
- package/dist/web-server/services/usage-aggregator.js +0 -23
- package/dist/web-server/services/usage-aggregator.js.map +0 -1
- package/dist/web-server/shared-routes.d.ts +0 -7
- package/dist/web-server/shared-routes.d.ts.map +0 -1
- package/dist/web-server/shared-routes.js +0 -168
- package/dist/web-server/shared-routes.js.map +0 -1
- package/dist/web-server/shutdown.d.ts +0 -14
- package/dist/web-server/shutdown.d.ts.map +0 -1
- package/dist/web-server/shutdown.js +0 -29
- package/dist/web-server/shutdown.js.map +0 -1
- package/dist/web-server/usage/aggregator.d.ts +0 -54
- package/dist/web-server/usage/aggregator.d.ts.map +0 -1
- package/dist/web-server/usage/aggregator.js +0 -470
- package/dist/web-server/usage/aggregator.js.map +0 -1
- package/dist/web-server/usage/data-aggregator.d.ts +0 -55
- package/dist/web-server/usage/data-aggregator.d.ts.map +0 -1
- package/dist/web-server/usage/data-aggregator.js +0 -391
- package/dist/web-server/usage/data-aggregator.js.map +0 -1
- package/dist/web-server/usage/disk-cache.d.ts +0 -46
- package/dist/web-server/usage/disk-cache.d.ts.map +0 -1
- package/dist/web-server/usage/disk-cache.js +0 -162
- package/dist/web-server/usage/disk-cache.js.map +0 -1
- package/dist/web-server/usage/handlers.d.ts +0 -50
- package/dist/web-server/usage/handlers.d.ts.map +0 -1
- package/dist/web-server/usage/handlers.js +0 -524
- package/dist/web-server/usage/handlers.js.map +0 -1
- package/dist/web-server/usage/index.d.ts +0 -12
- package/dist/web-server/usage/index.d.ts.map +0 -1
- package/dist/web-server/usage/index.js +0 -54
- package/dist/web-server/usage/index.js.map +0 -1
- package/dist/web-server/usage/routes.d.ts +0 -11
- package/dist/web-server/usage/routes.d.ts.map +0 -1
- package/dist/web-server/usage/routes.js +0 -37
- package/dist/web-server/usage/routes.js.map +0 -1
- package/dist/web-server/usage/types.d.ts +0 -119
- package/dist/web-server/usage/types.d.ts.map +0 -1
- package/dist/web-server/usage/types.js +0 -9
- package/dist/web-server/usage/types.js.map +0 -1
- package/dist/web-server/usage-disk-cache.d.ts +0 -7
- package/dist/web-server/usage-disk-cache.d.ts.map +0 -1
- package/dist/web-server/usage-disk-cache.js +0 -23
- package/dist/web-server/usage-disk-cache.js.map +0 -1
- package/dist/web-server/usage-routes.d.ts +0 -7
- package/dist/web-server/usage-routes.d.ts.map +0 -1
- package/dist/web-server/usage-routes.js +0 -14
- package/dist/web-server/usage-routes.js.map +0 -1
- package/dist/web-server/usage-types.d.ts +0 -7
- package/dist/web-server/usage-types.d.ts.map +0 -1
- package/dist/web-server/usage-types.js +0 -23
- package/dist/web-server/usage-types.js.map +0 -1
- package/dist/web-server/websocket.d.ts +0 -15
- package/dist/web-server/websocket.d.ts.map +0 -1
- package/dist/web-server/websocket.js +0 -162
- package/dist/web-server/websocket.js.map +0 -1
- package/lib/hooks/block-websearch.cjs +0 -75
- package/lib/hooks/websearch-transformer.cjs +0 -632
- /package/dist/{cliproxy → proxy}/tool-name-mapper.d.ts +0 -0
- /package/dist/{cliproxy → proxy}/tool-sanitization-proxy.d.ts +0 -0
package/dist/ccs.js
CHANGED
|
@@ -27,50 +27,31 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
27
27
|
const child_process_1 = require("child_process");
|
|
28
28
|
const path = __importStar(require("path"));
|
|
29
29
|
const fs = __importStar(require("fs"));
|
|
30
|
+
const os = __importStar(require("os"));
|
|
30
31
|
const claude_detector_1 = require("./utils/claude-detector");
|
|
31
32
|
const config_manager_1 = require("./utils/config-manager");
|
|
32
|
-
const api_key_validator_1 = require("./utils/api-key-validator");
|
|
33
33
|
const error_manager_1 = require("./utils/error-manager");
|
|
34
|
-
const cliproxy_1 = require("./cliproxy");
|
|
35
|
-
const websearch_manager_1 = require("./utils/websearch-manager");
|
|
36
34
|
const unified_config_loader_1 = require("./config/unified-config-loader");
|
|
37
|
-
const image_analyzer_profile_hook_injector_1 = require("./utils/hooks/image-analyzer-profile-hook-injector");
|
|
38
35
|
const ui_1 = require("./utils/ui");
|
|
39
|
-
const
|
|
40
|
-
//
|
|
36
|
+
const cliproxy_autostart_1 = require("./proxy/cliproxy-autostart");
|
|
37
|
+
// 集中错误处理
|
|
41
38
|
const errors_1 = require("./errors");
|
|
42
|
-
//
|
|
43
|
-
const version_command_1 = require("./commands/version-command");
|
|
44
|
-
const help_command_1 = require("./commands/help-command");
|
|
45
|
-
const install_command_1 = require("./commands/install-command");
|
|
46
|
-
const doctor_command_1 = require("./commands/doctor-command");
|
|
47
|
-
const sync_command_1 = require("./commands/sync-command");
|
|
48
|
-
const shell_completion_command_1 = require("./commands/shell-completion-command");
|
|
49
|
-
const update_command_1 = require("./commands/update-command");
|
|
50
|
-
// Import extracted utility functions
|
|
39
|
+
// Shell 执行工具
|
|
51
40
|
const shell_executor_1 = require("./utils/shell-executor");
|
|
52
|
-
// Version and Update check utilities
|
|
53
|
-
const version_1 = require("./utils/version");
|
|
54
|
-
const update_checker_1 = require("./utils/update-checker");
|
|
55
41
|
/**
|
|
56
|
-
*
|
|
42
|
+
* 从命令行参数中检测 profile 名称
|
|
57
43
|
*/
|
|
58
44
|
function detectProfile(args) {
|
|
59
45
|
if (args.length === 0 || args[0].startsWith('-')) {
|
|
60
|
-
// No args or first arg is a flag → use default profile
|
|
61
46
|
return { profile: 'default', remainingArgs: args };
|
|
62
47
|
}
|
|
63
|
-
|
|
64
|
-
// First arg doesn't start with '-' → treat as profile name
|
|
65
|
-
return { profile: args[0], remainingArgs: args.slice(1) };
|
|
66
|
-
}
|
|
48
|
+
return { profile: args[0], remainingArgs: args.slice(1) };
|
|
67
49
|
}
|
|
68
50
|
// ========== GLMT Proxy Execution ==========
|
|
69
51
|
/**
|
|
70
|
-
*
|
|
52
|
+
* 通过内嵌 GLMT 代理执行 Claude CLI(用于 glmt profile)
|
|
71
53
|
*/
|
|
72
54
|
async function execClaudeWithProxy(claudeCli, profileName, args) {
|
|
73
|
-
// 1. Read settings to get API key
|
|
74
55
|
const settingsPath = (0, config_manager_1.getSettingsPath)(profileName);
|
|
75
56
|
const settings = JSON.parse(fs.readFileSync(settingsPath, 'utf8'));
|
|
76
57
|
const envData = settings.env;
|
|
@@ -80,13 +61,9 @@ async function execClaudeWithProxy(claudeCli, profileName, args) {
|
|
|
80
61
|
console.error(' Edit ~/.ccs/glmt.settings.json and set ANTHROPIC_AUTH_TOKEN');
|
|
81
62
|
process.exit(1);
|
|
82
63
|
}
|
|
83
|
-
// Detect verbose flag
|
|
84
64
|
const verbose = args.includes('--verbose') || args.includes('-v');
|
|
85
|
-
// 2. Spawn embedded proxy with verbose flag
|
|
86
65
|
const proxyPath = path.join(__dirname, 'glmt', 'glmt-proxy.js');
|
|
87
66
|
const proxyArgs = verbose ? ['--verbose'] : [];
|
|
88
|
-
// Use process.execPath for Windows compatibility (CVE-2024-27980)
|
|
89
|
-
// Pass environment variables to proxy subprocess (required for auth)
|
|
90
67
|
const proxy = (0, child_process_1.spawn)(process.execPath, [proxyPath, ...proxyArgs], {
|
|
91
68
|
stdio: ['ignore', 'pipe', verbose ? 'pipe' : 'inherit'],
|
|
92
69
|
env: {
|
|
@@ -95,7 +72,6 @@ async function execClaudeWithProxy(claudeCli, profileName, args) {
|
|
|
95
72
|
ANTHROPIC_BASE_URL: envData['ANTHROPIC_BASE_URL'],
|
|
96
73
|
},
|
|
97
74
|
});
|
|
98
|
-
// 3. Wait for proxy ready signal (with timeout)
|
|
99
75
|
const { ProgressIndicator } = await Promise.resolve().then(() => __importStar(require('./utils/progress-indicator')));
|
|
100
76
|
const spinner = new ProgressIndicator('Starting GLMT proxy');
|
|
101
77
|
spinner.start();
|
|
@@ -129,22 +105,9 @@ async function execClaudeWithProxy(claudeCli, profileName, args) {
|
|
|
129
105
|
const err = error;
|
|
130
106
|
spinner.fail('Failed to start GLMT proxy');
|
|
131
107
|
console.error((0, ui_1.fail)(`Error: ${err.message}`));
|
|
132
|
-
console.error('');
|
|
133
|
-
console.error('Possible causes:');
|
|
134
|
-
console.error(' 1. Port conflict (unlikely with random port)');
|
|
135
|
-
console.error(' 2. Node.js permission issue');
|
|
136
|
-
console.error(' 3. Firewall blocking localhost');
|
|
137
|
-
console.error('');
|
|
138
|
-
console.error('Workarounds:');
|
|
139
|
-
console.error(' - Use non-thinking mode: ccs glm "prompt"');
|
|
140
|
-
console.error(' - Enable verbose logging: ccs glmt --verbose "prompt"');
|
|
141
|
-
console.error(' - Check proxy logs in ~/.ccs/logs/ (if debug enabled)');
|
|
142
|
-
console.error('');
|
|
143
108
|
proxy.kill();
|
|
144
109
|
process.exit(1);
|
|
145
110
|
}
|
|
146
|
-
// 4. Spawn Claude CLI with proxy URL
|
|
147
|
-
// Use model from user's settings (not hardcoded) - fixes issue #358
|
|
148
111
|
const configuredModel = envData['ANTHROPIC_MODEL'] || 'glm-4.7';
|
|
149
112
|
const envVars = {
|
|
150
113
|
ANTHROPIC_BASE_URL: `http://127.0.0.1:${port}`,
|
|
@@ -153,31 +116,19 @@ async function execClaudeWithProxy(claudeCli, profileName, args) {
|
|
|
153
116
|
};
|
|
154
117
|
const isWindows = process.platform === 'win32';
|
|
155
118
|
const needsShell = isWindows && /\.(cmd|bat|ps1)$/i.test(claudeCli);
|
|
156
|
-
const webSearchEnv = (0, websearch_manager_1.getWebSearchHookEnv)();
|
|
157
119
|
const env = {
|
|
158
120
|
...process.env,
|
|
159
121
|
...envVars,
|
|
160
|
-
|
|
161
|
-
CCS_PROFILE_TYPE: 'settings', // Signal to WebSearch hook this is a third-party provider
|
|
122
|
+
CCS_PROFILE_TYPE: 'settings',
|
|
162
123
|
};
|
|
163
124
|
let claude;
|
|
164
125
|
if (needsShell) {
|
|
165
126
|
const cmdString = [claudeCli, ...args].map(shell_executor_1.escapeShellArg).join(' ');
|
|
166
|
-
claude = (0, child_process_1.spawn)(cmdString, {
|
|
167
|
-
stdio: 'inherit',
|
|
168
|
-
windowsHide: true,
|
|
169
|
-
shell: true,
|
|
170
|
-
env,
|
|
171
|
-
});
|
|
127
|
+
claude = (0, child_process_1.spawn)(cmdString, { stdio: 'inherit', windowsHide: true, shell: true, env });
|
|
172
128
|
}
|
|
173
129
|
else {
|
|
174
|
-
claude = (0, child_process_1.spawn)(claudeCli, args, {
|
|
175
|
-
stdio: 'inherit',
|
|
176
|
-
windowsHide: true,
|
|
177
|
-
env,
|
|
178
|
-
});
|
|
130
|
+
claude = (0, child_process_1.spawn)(claudeCli, args, { stdio: 'inherit', windowsHide: true, env });
|
|
179
131
|
}
|
|
180
|
-
// 5. Cleanup: kill proxy when Claude exits
|
|
181
132
|
claude.on('exit', (code, signal) => {
|
|
182
133
|
proxy.kill('SIGTERM');
|
|
183
134
|
if (signal)
|
|
@@ -190,7 +141,6 @@ async function execClaudeWithProxy(claudeCli, profileName, args) {
|
|
|
190
141
|
proxy.kill('SIGTERM');
|
|
191
142
|
process.exit(1);
|
|
192
143
|
});
|
|
193
|
-
// Also handle parent process termination
|
|
194
144
|
process.once('SIGTERM', () => {
|
|
195
145
|
proxy.kill('SIGTERM');
|
|
196
146
|
claude.kill('SIGTERM');
|
|
@@ -200,468 +150,330 @@ async function execClaudeWithProxy(claudeCli, profileName, args) {
|
|
|
200
150
|
claude.kill('SIGTERM');
|
|
201
151
|
});
|
|
202
152
|
}
|
|
153
|
+
// ========== OpenAI Translation Proxy Execution ==========
|
|
203
154
|
/**
|
|
204
|
-
*
|
|
155
|
+
* 通过 AnthropicToOpenAIProxy 执行 Claude CLI(用于 OpenAI 兼容端点)
|
|
205
156
|
*/
|
|
206
|
-
async function
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
157
|
+
async function execClaudeWithOpenAIProxy(claudeCli, profileName, args) {
|
|
158
|
+
const settingsPath = (0, config_manager_1.getSettingsPath)(profileName);
|
|
159
|
+
const settings = JSON.parse(fs.readFileSync(settingsPath, 'utf8'));
|
|
160
|
+
const envData = settings.env || {};
|
|
161
|
+
const baseUrl = envData['ANTHROPIC_BASE_URL'];
|
|
162
|
+
const apiKey = envData['ANTHROPIC_AUTH_TOKEN'] || '';
|
|
163
|
+
const model = envData['ANTHROPIC_MODEL'] || 'default';
|
|
164
|
+
if (!baseUrl) {
|
|
165
|
+
console.error((0, ui_1.fail)(`Profile '${profileName}' has no ANTHROPIC_BASE_URL configured`));
|
|
166
|
+
process.exit(1);
|
|
214
167
|
}
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
168
|
+
const verbose = args.includes('--verbose') || args.includes('-v');
|
|
169
|
+
const { AnthropicToOpenAIProxy } = await Promise.resolve().then(() => __importStar(require('./proxy/anthropic-to-openai-proxy')));
|
|
170
|
+
const proxy = new AnthropicToOpenAIProxy({
|
|
171
|
+
targetBaseUrl: baseUrl,
|
|
172
|
+
apiKey,
|
|
173
|
+
verbose,
|
|
174
|
+
timeoutMs: 120000,
|
|
175
|
+
useResponsesApi: false,
|
|
176
|
+
});
|
|
177
|
+
let proxyPort;
|
|
221
178
|
try {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
return true;
|
|
179
|
+
proxyPort = await proxy.start();
|
|
180
|
+
if (verbose) {
|
|
181
|
+
console.error(`[openai-proxy] Translation proxy active on port ${proxyPort}`);
|
|
182
|
+
console.error(`[openai-proxy] Target: ${baseUrl} (Chat Completions mode)`);
|
|
227
183
|
}
|
|
228
184
|
}
|
|
229
|
-
catch (
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
}
|
|
234
|
-
async function main() {
|
|
235
|
-
const args = process.argv.slice(2);
|
|
236
|
-
const firstArg = args[0];
|
|
237
|
-
// Initialize UI colors early to ensure consistent colored output
|
|
238
|
-
// Must happen before any status messages (ok, info, fail, etc.)
|
|
239
|
-
if (process.stdout.isTTY && !process.env['CI']) {
|
|
240
|
-
const { initUI } = await Promise.resolve().then(() => __importStar(require('./utils/ui')));
|
|
241
|
-
await initUI();
|
|
185
|
+
catch (error) {
|
|
186
|
+
const err = error;
|
|
187
|
+
console.error((0, ui_1.fail)(`Failed to start OpenAI translation proxy: ${err.message}`));
|
|
188
|
+
process.exit(1);
|
|
242
189
|
}
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
const
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
190
|
+
const globalEnvConfig = (0, unified_config_loader_1.getGlobalEnvConfig)();
|
|
191
|
+
const globalEnv = globalEnvConfig.enabled ? globalEnvConfig.env : {};
|
|
192
|
+
const effectiveBaseUrl = `http://127.0.0.1:${proxyPort}`;
|
|
193
|
+
const effectiveOpusModel = envData['ANTHROPIC_DEFAULT_OPUS_MODEL'] || model;
|
|
194
|
+
const effectiveSonnetModel = envData['ANTHROPIC_DEFAULT_SONNET_MODEL'] || model;
|
|
195
|
+
const effectiveHaikuModel = envData['ANTHROPIC_DEFAULT_HAIKU_MODEL'] || model;
|
|
196
|
+
const sessionSettingsPath = path.join(os.tmpdir(), `ccs-openai-${profileName}-${Date.now()}-${Math.random().toString(36).slice(2, 8)}.settings.json`);
|
|
197
|
+
const sessionSettings = {
|
|
198
|
+
...settings,
|
|
199
|
+
env: {
|
|
200
|
+
...(settings.env || {}),
|
|
201
|
+
ANTHROPIC_BASE_URL: effectiveBaseUrl,
|
|
202
|
+
ANTHROPIC_AUTH_TOKEN: apiKey,
|
|
203
|
+
ANTHROPIC_MODEL: model,
|
|
204
|
+
ANTHROPIC_DEFAULT_OPUS_MODEL: effectiveOpusModel,
|
|
205
|
+
ANTHROPIC_DEFAULT_SONNET_MODEL: effectiveSonnetModel,
|
|
206
|
+
ANTHROPIC_DEFAULT_HAIKU_MODEL: effectiveHaikuModel,
|
|
207
|
+
},
|
|
208
|
+
};
|
|
209
|
+
fs.writeFileSync(sessionSettingsPath, JSON.stringify(sessionSettings, null, 2) + '\n', 'utf8');
|
|
210
|
+
const envVars = {
|
|
211
|
+
...globalEnv,
|
|
212
|
+
ANTHROPIC_BASE_URL: effectiveBaseUrl,
|
|
213
|
+
ANTHROPIC_AUTH_TOKEN: apiKey,
|
|
214
|
+
ANTHROPIC_MODEL: model,
|
|
215
|
+
ANTHROPIC_DEFAULT_OPUS_MODEL: effectiveOpusModel,
|
|
216
|
+
ANTHROPIC_DEFAULT_SONNET_MODEL: effectiveSonnetModel,
|
|
217
|
+
ANTHROPIC_DEFAULT_HAIKU_MODEL: effectiveHaikuModel,
|
|
218
|
+
CCS_PROFILE_TYPE: 'settings',
|
|
219
|
+
};
|
|
220
|
+
const cleanupSessionSettings = () => {
|
|
221
|
+
try {
|
|
222
|
+
if (fs.existsSync(sessionSettingsPath))
|
|
223
|
+
fs.unlinkSync(sessionSettingsPath);
|
|
261
224
|
}
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
// Skip if user is explicitly running migrate command
|
|
265
|
-
if (firstArg !== 'migrate') {
|
|
266
|
-
const { autoMigrate } = await Promise.resolve().then(() => __importStar(require('./config/migration-manager')));
|
|
267
|
-
await autoMigrate();
|
|
268
|
-
}
|
|
269
|
-
// Auto-recovery for missing configuration (BEFORE any early-exit commands)
|
|
270
|
-
// This ensures ALL commands benefit from auto-recovery, not just profile-switching flow
|
|
271
|
-
// Recovery is safe to run early - it only creates missing files with safe defaults
|
|
272
|
-
// Wrapped in try-catch to prevent blocking --version/--help on permission errors
|
|
273
|
-
try {
|
|
274
|
-
const RecoveryManagerModule = await Promise.resolve().then(() => __importStar(require('./management/recovery-manager')));
|
|
275
|
-
const RecoveryManager = RecoveryManagerModule.default;
|
|
276
|
-
const recovery = new RecoveryManager();
|
|
277
|
-
const recovered = recovery.recoverAll();
|
|
278
|
-
if (recovered) {
|
|
279
|
-
recovery.showRecoveryHints();
|
|
225
|
+
catch {
|
|
226
|
+
/* ignore */
|
|
280
227
|
}
|
|
228
|
+
};
|
|
229
|
+
const isWindows = process.platform === 'win32';
|
|
230
|
+
const needsShell = isWindows && /\.(cmd|bat|ps1)$/i.test(claudeCli);
|
|
231
|
+
const env = { ...process.env, ...envVars };
|
|
232
|
+
let claude;
|
|
233
|
+
if (needsShell) {
|
|
234
|
+
const cmdString = [claudeCli, '--settings', sessionSettingsPath, ...args]
|
|
235
|
+
.map(shell_executor_1.escapeShellArg)
|
|
236
|
+
.join(' ');
|
|
237
|
+
claude = (0, child_process_1.spawn)(cmdString, { stdio: 'inherit', windowsHide: true, shell: true, env });
|
|
281
238
|
}
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
(0, version_command_1.handleVersionCommand)();
|
|
289
|
-
}
|
|
290
|
-
// Special case: help command
|
|
291
|
-
if (firstArg === '--help' || firstArg === '-h' || firstArg === 'help') {
|
|
292
|
-
await (0, help_command_1.handleHelpCommand)();
|
|
293
|
-
return;
|
|
294
|
-
}
|
|
295
|
-
// Special case: install command
|
|
296
|
-
if (firstArg === '--install') {
|
|
297
|
-
(0, install_command_1.handleInstallCommand)();
|
|
298
|
-
return;
|
|
299
|
-
}
|
|
300
|
-
// Special case: uninstall command
|
|
301
|
-
if (firstArg === '--uninstall') {
|
|
302
|
-
(0, install_command_1.handleUninstallCommand)();
|
|
303
|
-
return;
|
|
239
|
+
else {
|
|
240
|
+
claude = (0, child_process_1.spawn)(claudeCli, ['--settings', sessionSettingsPath, ...args], {
|
|
241
|
+
stdio: 'inherit',
|
|
242
|
+
windowsHide: true,
|
|
243
|
+
env,
|
|
244
|
+
});
|
|
304
245
|
}
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
246
|
+
claude.on('exit', (code, signal) => {
|
|
247
|
+
proxy.stop();
|
|
248
|
+
cleanupSessionSettings();
|
|
249
|
+
if (signal)
|
|
250
|
+
process.kill(process.pid, signal);
|
|
251
|
+
else
|
|
252
|
+
process.exit(code || 0);
|
|
253
|
+
});
|
|
254
|
+
claude.on('error', (error) => {
|
|
255
|
+
console.error((0, ui_1.fail)(`Claude CLI error: ${error}`));
|
|
256
|
+
proxy.stop();
|
|
257
|
+
cleanupSessionSettings();
|
|
258
|
+
process.exit(1);
|
|
259
|
+
});
|
|
260
|
+
process.once('SIGTERM', () => {
|
|
261
|
+
proxy.stop();
|
|
262
|
+
cleanupSessionSettings();
|
|
263
|
+
claude.kill('SIGTERM');
|
|
264
|
+
});
|
|
265
|
+
process.once('SIGINT', () => {
|
|
266
|
+
proxy.stop();
|
|
267
|
+
cleanupSessionSettings();
|
|
268
|
+
claude.kill('SIGTERM');
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
// ========== Tool Sanitization Proxy Execution ==========
|
|
272
|
+
/**
|
|
273
|
+
* 通过工具名清洗代理执行 Claude CLI(用于普通 settings profile)
|
|
274
|
+
*/
|
|
275
|
+
async function execClaudeWithToolSanitizationProxy(claudeCli, settingsPath, args, envVars) {
|
|
276
|
+
const verbose = args.includes('--verbose') || args.includes('-v');
|
|
277
|
+
let toolSanitizationProxy = null;
|
|
278
|
+
let effectiveBaseUrl = envVars.ANTHROPIC_BASE_URL;
|
|
279
|
+
if (effectiveBaseUrl) {
|
|
280
|
+
try {
|
|
281
|
+
const { ToolSanitizationProxy } = await Promise.resolve().then(() => __importStar(require('./proxy/tool-sanitization-proxy')));
|
|
282
|
+
toolSanitizationProxy = new ToolSanitizationProxy({
|
|
283
|
+
upstreamBaseUrl: effectiveBaseUrl,
|
|
284
|
+
verbose,
|
|
285
|
+
warnOnSanitize: true,
|
|
286
|
+
});
|
|
287
|
+
const toolSanitizationPort = await toolSanitizationProxy.start();
|
|
288
|
+
effectiveBaseUrl = `http://127.0.0.1:${toolSanitizationPort}`;
|
|
289
|
+
}
|
|
290
|
+
catch (error) {
|
|
291
|
+
const err = error;
|
|
292
|
+
if (verbose) {
|
|
293
|
+
console.error((0, ui_1.info)(`Tool sanitization proxy disabled: ${err.message}`));
|
|
294
|
+
}
|
|
295
|
+
}
|
|
309
296
|
}
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
297
|
+
const env = {
|
|
298
|
+
...process.env,
|
|
299
|
+
...envVars,
|
|
300
|
+
...(effectiveBaseUrl ? { ANTHROPIC_BASE_URL: effectiveBaseUrl } : {}),
|
|
301
|
+
};
|
|
302
|
+
if (process.env.CCS_DEBUG === '1') {
|
|
303
|
+
console.error((0, ui_1.info)(`Settings flow ANTHROPIC_BASE_URL=${env.ANTHROPIC_BASE_URL || ''}`));
|
|
315
304
|
}
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
305
|
+
let sessionSettingsPath = settingsPath;
|
|
306
|
+
const anthropicOverrides = Object.fromEntries(Object.entries(envVars).filter(([key, value]) => key.startsWith('ANTHROPIC_') && typeof value === 'string'));
|
|
307
|
+
if (effectiveBaseUrl) {
|
|
308
|
+
anthropicOverrides.ANTHROPIC_BASE_URL = effectiveBaseUrl;
|
|
320
309
|
}
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
const
|
|
324
|
-
|
|
325
|
-
|
|
310
|
+
try {
|
|
311
|
+
const rawSettings = fs.readFileSync(settingsPath, 'utf8');
|
|
312
|
+
const parsedSettings = JSON.parse(rawSettings);
|
|
313
|
+
const sessionSettings = {
|
|
314
|
+
...parsedSettings,
|
|
315
|
+
env: { ...(parsedSettings.env || {}), ...anthropicOverrides },
|
|
316
|
+
};
|
|
317
|
+
sessionSettingsPath = path.join(os.tmpdir(), `ccs-tool-sanitize-${Date.now()}-${Math.random().toString(36).slice(2, 8)}.settings.json`);
|
|
318
|
+
fs.writeFileSync(sessionSettingsPath, JSON.stringify(sessionSettings, null, 2) + '\n', 'utf8');
|
|
326
319
|
}
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
printMigrateHelp();
|
|
333
|
-
return;
|
|
320
|
+
catch (error) {
|
|
321
|
+
sessionSettingsPath = settingsPath;
|
|
322
|
+
if (verbose) {
|
|
323
|
+
const err = error;
|
|
324
|
+
console.error((0, ui_1.info)(`Session settings fallback to original file: ${err.message}`));
|
|
334
325
|
}
|
|
335
|
-
await handleMigrateCommand(migrateArgs);
|
|
336
|
-
return;
|
|
337
326
|
}
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
const updateArgs = args.slice(1);
|
|
341
|
-
// Handle --help for update command
|
|
342
|
-
if (updateArgs.includes('--help') || updateArgs.includes('-h')) {
|
|
343
|
-
console.log('');
|
|
344
|
-
console.log('Usage: ccs update [options]');
|
|
345
|
-
console.log('');
|
|
346
|
-
console.log('Options:');
|
|
347
|
-
console.log(' --force Force reinstall current version');
|
|
348
|
-
console.log(' --beta, --dev Install from dev channel (unstable)');
|
|
349
|
-
console.log(' --help, -h Show this help message');
|
|
350
|
-
console.log('');
|
|
351
|
-
console.log('Examples:');
|
|
352
|
-
console.log(' ccs update Update to latest stable');
|
|
353
|
-
console.log(' ccs update --force Force reinstall');
|
|
354
|
-
console.log(' ccs update --beta Install dev channel');
|
|
355
|
-
console.log('');
|
|
327
|
+
const cleanupSessionSettings = () => {
|
|
328
|
+
if (sessionSettingsPath === settingsPath)
|
|
356
329
|
return;
|
|
330
|
+
try {
|
|
331
|
+
if (fs.existsSync(sessionSettingsPath))
|
|
332
|
+
fs.unlinkSync(sessionSettingsPath);
|
|
357
333
|
}
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
334
|
+
catch {
|
|
335
|
+
/* ignore */
|
|
336
|
+
}
|
|
337
|
+
};
|
|
338
|
+
const isWindows = process.platform === 'win32';
|
|
339
|
+
const needsShell = isWindows && /\.(cmd|bat|ps1)$/i.test(claudeCli);
|
|
340
|
+
let claude;
|
|
341
|
+
if (needsShell) {
|
|
342
|
+
const cmdString = [claudeCli, '--settings', sessionSettingsPath, ...args]
|
|
343
|
+
.map(shell_executor_1.escapeShellArg)
|
|
344
|
+
.join(' ');
|
|
345
|
+
claude = (0, child_process_1.spawn)(cmdString, { stdio: 'inherit', windowsHide: true, shell: true, env });
|
|
362
346
|
}
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
347
|
+
else {
|
|
348
|
+
claude = (0, child_process_1.spawn)(claudeCli, ['--settings', sessionSettingsPath, ...args], {
|
|
349
|
+
stdio: 'inherit',
|
|
350
|
+
windowsHide: true,
|
|
351
|
+
env,
|
|
352
|
+
});
|
|
353
|
+
}
|
|
354
|
+
const stopProxy = () => {
|
|
355
|
+
if (toolSanitizationProxy)
|
|
356
|
+
toolSanitizationProxy.stop();
|
|
357
|
+
};
|
|
358
|
+
claude.on('exit', (code, signal) => {
|
|
359
|
+
stopProxy();
|
|
360
|
+
cleanupSessionSettings();
|
|
361
|
+
if (signal)
|
|
362
|
+
process.kill(process.pid, signal);
|
|
363
|
+
else
|
|
364
|
+
process.exit(code || 0);
|
|
365
|
+
});
|
|
366
|
+
claude.on('error', (error) => {
|
|
367
|
+
console.error((0, ui_1.fail)(`Claude CLI error: ${error}`));
|
|
368
|
+
stopProxy();
|
|
369
|
+
cleanupSessionSettings();
|
|
370
|
+
process.exit(1);
|
|
371
|
+
});
|
|
372
|
+
process.once('SIGTERM', () => {
|
|
373
|
+
stopProxy();
|
|
374
|
+
cleanupSessionSettings();
|
|
375
|
+
claude.kill('SIGTERM');
|
|
376
|
+
});
|
|
377
|
+
process.once('SIGINT', () => {
|
|
378
|
+
stopProxy();
|
|
379
|
+
cleanupSessionSettings();
|
|
380
|
+
claude.kill('SIGTERM');
|
|
381
|
+
});
|
|
382
|
+
}
|
|
383
|
+
async function main() {
|
|
384
|
+
const args = process.argv.slice(2);
|
|
385
|
+
const firstArg = args[0];
|
|
386
|
+
// 初始化 UI
|
|
387
|
+
if (process.stdout.isTTY && !process.env['CI']) {
|
|
388
|
+
await (0, ui_1.initUI)();
|
|
370
389
|
}
|
|
371
|
-
//
|
|
390
|
+
// 子命令路由:只保留 api
|
|
372
391
|
if (firstArg === 'api') {
|
|
373
392
|
const { handleApiCommand } = await Promise.resolve().then(() => __importStar(require('./commands/api-command')));
|
|
374
393
|
await handleApiCommand(args.slice(1));
|
|
375
394
|
return;
|
|
376
395
|
}
|
|
377
|
-
//
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
return;
|
|
382
|
-
}
|
|
383
|
-
// Special case: cliproxy command (manages CLIProxyAPI binary)
|
|
384
|
-
if (firstArg === 'cliproxy') {
|
|
385
|
-
const { handleCliproxyCommand } = await Promise.resolve().then(() => __importStar(require('./commands/cliproxy-command')));
|
|
386
|
-
await handleCliproxyCommand(args.slice(1));
|
|
387
|
-
return;
|
|
388
|
-
}
|
|
389
|
-
// Special case: config command (web dashboard)
|
|
390
|
-
if (firstArg === 'config') {
|
|
391
|
-
const { handleConfigCommand } = await Promise.resolve().then(() => __importStar(require('./commands/config-command')));
|
|
392
|
-
await handleConfigCommand(args.slice(1));
|
|
393
|
-
return;
|
|
394
|
-
}
|
|
395
|
-
// Special case: tokens command (auth token management)
|
|
396
|
-
if (firstArg === 'tokens') {
|
|
397
|
-
const { handleTokensCommand } = await Promise.resolve().then(() => __importStar(require('./commands/tokens-command')));
|
|
398
|
-
const exitCode = await handleTokensCommand(args.slice(1));
|
|
399
|
-
process.exit(exitCode);
|
|
400
|
-
}
|
|
401
|
-
// Special case: persist command (write profile env to ~/.claude/settings.json)
|
|
402
|
-
if (firstArg === 'persist') {
|
|
403
|
-
const { handlePersistCommand } = await Promise.resolve().then(() => __importStar(require('./commands/persist-command')));
|
|
404
|
-
await handlePersistCommand(args.slice(1));
|
|
405
|
-
return;
|
|
406
|
-
}
|
|
407
|
-
// Special case: setup command (first-time wizard)
|
|
408
|
-
if (firstArg === 'setup' || firstArg === '--setup') {
|
|
409
|
-
const { handleSetupCommand } = await Promise.resolve().then(() => __importStar(require('./commands/setup-command')));
|
|
410
|
-
await handleSetupCommand(args.slice(1));
|
|
411
|
-
return;
|
|
412
|
-
}
|
|
413
|
-
// Special case: copilot command (GitHub Copilot integration)
|
|
414
|
-
// Only route to command handler for known subcommands, otherwise treat as profile
|
|
415
|
-
const COPILOT_SUBCOMMANDS = [
|
|
416
|
-
'auth',
|
|
417
|
-
'status',
|
|
418
|
-
'models',
|
|
419
|
-
'start',
|
|
420
|
-
'stop',
|
|
421
|
-
'enable',
|
|
422
|
-
'disable',
|
|
423
|
-
'help',
|
|
424
|
-
'--help',
|
|
425
|
-
'-h',
|
|
426
|
-
];
|
|
427
|
-
if (firstArg === 'copilot' && args.length > 1 && COPILOT_SUBCOMMANDS.includes(args[1])) {
|
|
428
|
-
// `ccs copilot <subcommand>` - route to copilot command handler
|
|
429
|
-
const { handleCopilotCommand } = await Promise.resolve().then(() => __importStar(require('./commands/copilot-command')));
|
|
430
|
-
const exitCode = await handleCopilotCommand(args.slice(1));
|
|
431
|
-
process.exit(exitCode);
|
|
432
|
-
}
|
|
433
|
-
// Special case: headless delegation (-p flag)
|
|
434
|
-
if (args.includes('-p') || args.includes('--prompt')) {
|
|
396
|
+
// 检测 profile
|
|
397
|
+
const { profile, remainingArgs } = detectProfile(args);
|
|
398
|
+
// 自动委托:profile + prompt → DelegationHandler
|
|
399
|
+
if (remainingArgs.length > 0 && !remainingArgs[0].startsWith('-') && profile !== 'default') {
|
|
435
400
|
const { DelegationHandler } = await Promise.resolve().then(() => __importStar(require('./delegation/delegation-handler')));
|
|
436
401
|
const handler = new DelegationHandler();
|
|
437
|
-
|
|
402
|
+
const delegationArgs = [profile, remainingArgs[0], ...remainingArgs.slice(1)];
|
|
403
|
+
await handler.route(delegationArgs);
|
|
438
404
|
return;
|
|
439
405
|
}
|
|
440
|
-
//
|
|
441
|
-
// Check independently of recovery status (user may have empty config.yaml)
|
|
442
|
-
// Skip if headless, CI, or non-TTY environment
|
|
443
|
-
const { isFirstTimeInstall } = await Promise.resolve().then(() => __importStar(require('./commands/setup-command')));
|
|
444
|
-
if (process.stdout.isTTY && !process.env['CI'] && isFirstTimeInstall()) {
|
|
445
|
-
console.log('');
|
|
446
|
-
console.log((0, ui_1.info)('First-time install detected. Run `ccs setup` for guided configuration.'));
|
|
447
|
-
console.log(' Or use `ccs config` for the web dashboard.');
|
|
448
|
-
console.log('');
|
|
449
|
-
}
|
|
450
|
-
// Detect profile
|
|
451
|
-
const { profile, remainingArgs } = detectProfile(args);
|
|
452
|
-
// Detect Claude CLI first (needed for all paths)
|
|
406
|
+
// 检测 Claude CLI
|
|
453
407
|
const claudeCli = (0, claude_detector_1.detectClaudeCli)();
|
|
454
408
|
if (!claudeCli) {
|
|
455
409
|
await error_manager_1.ErrorManager.showClaudeNotFound();
|
|
456
410
|
process.exit(1);
|
|
457
411
|
}
|
|
458
|
-
//
|
|
459
|
-
const ProfileDetectorModule = await Promise.resolve().then(() => __importStar(require('./
|
|
412
|
+
// Profile 类型检测
|
|
413
|
+
const ProfileDetectorModule = await Promise.resolve().then(() => __importStar(require('./config/profile-detector')));
|
|
460
414
|
const ProfileDetector = ProfileDetectorModule.default;
|
|
461
|
-
const InstanceManagerModule = await Promise.resolve().then(() => __importStar(require('./management/instance-manager')));
|
|
462
|
-
const InstanceManager = InstanceManagerModule.default;
|
|
463
|
-
const ProfileRegistryModule = await Promise.resolve().then(() => __importStar(require('./auth/profile-registry')));
|
|
464
|
-
const ProfileRegistry = ProfileRegistryModule.default;
|
|
465
415
|
const detector = new ProfileDetector();
|
|
466
416
|
try {
|
|
467
417
|
const profileInfo = detector.detectProfileType(profile);
|
|
468
|
-
if (profileInfo.type === '
|
|
469
|
-
//
|
|
470
|
-
// Inject WebSearch hook into profile settings before launch
|
|
471
|
-
(0, websearch_manager_1.ensureProfileHooks)(profileInfo.name);
|
|
472
|
-
// Inject Image Analyzer hook into profile settings before launch
|
|
473
|
-
(0, image_analyzer_profile_hook_injector_1.ensureProfileHooks)(profileInfo.name);
|
|
474
|
-
const provider = profileInfo.provider || profileInfo.name;
|
|
475
|
-
const customSettingsPath = profileInfo.settingsPath; // undefined for hardcoded profiles
|
|
476
|
-
const variantPort = profileInfo.port; // variant-specific port for isolation
|
|
477
|
-
await (0, cliproxy_1.execClaudeWithCLIProxy)(claudeCli, provider, remainingArgs, {
|
|
478
|
-
customSettingsPath,
|
|
479
|
-
port: variantPort,
|
|
480
|
-
});
|
|
481
|
-
}
|
|
482
|
-
else if (profileInfo.type === 'copilot') {
|
|
483
|
-
// COPILOT FLOW: GitHub Copilot subscription via copilot-api proxy
|
|
484
|
-
// Inject WebSearch hook into profile settings before launch
|
|
485
|
-
(0, websearch_manager_1.ensureProfileHooks)(profileInfo.name);
|
|
486
|
-
// Inject Image Analyzer hook into profile settings before launch
|
|
487
|
-
(0, image_analyzer_profile_hook_injector_1.ensureProfileHooks)(profileInfo.name);
|
|
488
|
-
const { executeCopilotProfile } = await Promise.resolve().then(() => __importStar(require('./copilot')));
|
|
489
|
-
const copilotConfig = profileInfo.copilotConfig;
|
|
490
|
-
if (!copilotConfig) {
|
|
491
|
-
console.error((0, ui_1.fail)('Copilot configuration not found'));
|
|
492
|
-
process.exit(1);
|
|
493
|
-
}
|
|
494
|
-
const exitCode = await executeCopilotProfile(copilotConfig, remainingArgs);
|
|
495
|
-
process.exit(exitCode);
|
|
496
|
-
}
|
|
497
|
-
else if (profileInfo.type === 'settings') {
|
|
498
|
-
// Settings-based profiles (glm, glmt, kimi) are third-party providers
|
|
499
|
-
// WebSearch is server-side tool - third-party providers have no access
|
|
500
|
-
// Inject WebSearch hook into profile settings before launch
|
|
501
|
-
(0, websearch_manager_1.ensureProfileHooks)(profileInfo.name);
|
|
502
|
-
// Inject Image Analyzer hook into profile settings before launch
|
|
503
|
-
(0, image_analyzer_profile_hook_injector_1.ensureProfileHooks)(profileInfo.name);
|
|
504
|
-
(0, websearch_manager_1.ensureMcpWebSearch)();
|
|
505
|
-
// Display WebSearch status (single line, equilibrium UX)
|
|
506
|
-
(0, websearch_manager_1.displayWebSearchStatus)();
|
|
507
|
-
// Pre-flight validation for GLM/GLMT/MiniMax profiles
|
|
508
|
-
if (profileInfo.name === 'glm' || profileInfo.name === 'glmt') {
|
|
509
|
-
const preflightSettingsPath = (0, config_manager_1.getSettingsPath)(profileInfo.name);
|
|
510
|
-
const preflightSettings = (0, config_manager_1.loadSettings)(preflightSettingsPath);
|
|
511
|
-
const apiKey = preflightSettings.env?.['ANTHROPIC_AUTH_TOKEN'];
|
|
512
|
-
if (apiKey) {
|
|
513
|
-
const validation = await (0, api_key_validator_1.validateGlmKey)(apiKey, preflightSettings.env?.['ANTHROPIC_BASE_URL']);
|
|
514
|
-
if (!validation.valid) {
|
|
515
|
-
console.error('');
|
|
516
|
-
console.error((0, ui_1.fail)(validation.error || 'API key validation failed'));
|
|
517
|
-
if (validation.suggestion) {
|
|
518
|
-
console.error('');
|
|
519
|
-
console.error(validation.suggestion);
|
|
520
|
-
}
|
|
521
|
-
console.error('');
|
|
522
|
-
console.error((0, ui_1.info)('To skip validation: CCS_SKIP_PREFLIGHT=1 ccs glm "prompt"'));
|
|
523
|
-
process.exit(1);
|
|
524
|
-
}
|
|
525
|
-
}
|
|
526
|
-
}
|
|
527
|
-
if (profileInfo.name === 'mm') {
|
|
528
|
-
const preflightSettingsPath = (0, config_manager_1.getSettingsPath)(profileInfo.name);
|
|
529
|
-
const preflightSettings = (0, config_manager_1.loadSettings)(preflightSettingsPath);
|
|
530
|
-
const apiKey = preflightSettings.env?.['ANTHROPIC_AUTH_TOKEN'];
|
|
531
|
-
if (apiKey) {
|
|
532
|
-
const validation = await (0, api_key_validator_1.validateMiniMaxKey)(apiKey, preflightSettings.env?.['ANTHROPIC_BASE_URL']);
|
|
533
|
-
if (!validation.valid) {
|
|
534
|
-
console.error('');
|
|
535
|
-
console.error((0, ui_1.fail)(validation.error || 'API key validation failed'));
|
|
536
|
-
if (validation.suggestion) {
|
|
537
|
-
console.error('');
|
|
538
|
-
console.error(validation.suggestion);
|
|
539
|
-
}
|
|
540
|
-
console.error('');
|
|
541
|
-
console.error((0, ui_1.info)('To skip validation: CCS_SKIP_PREFLIGHT=1 ccs mm "prompt"'));
|
|
542
|
-
process.exit(1);
|
|
543
|
-
}
|
|
544
|
-
}
|
|
545
|
-
}
|
|
546
|
-
// Check if this is GLMT profile (requires proxy)
|
|
418
|
+
if (profileInfo.type === 'settings') {
|
|
419
|
+
// GLMT: 内嵌代理
|
|
547
420
|
if (profileInfo.name === 'glmt') {
|
|
548
|
-
// GLMT FLOW: Settings-based with embedded proxy for thinking support
|
|
549
421
|
await execClaudeWithProxy(claudeCli, profileInfo.name, remainingArgs);
|
|
550
422
|
}
|
|
551
|
-
else {
|
|
552
|
-
//
|
|
553
|
-
|
|
554
|
-
const routerEnabled = unifiedConfig.router?.enabled ?? false;
|
|
555
|
-
if (routerEnabled) {
|
|
556
|
-
// SCENARIO ROUTING FLOW: Route sub-agents to different profiles
|
|
557
|
-
const webSearchEnv = (0, websearch_manager_1.getWebSearchHookEnv)();
|
|
558
|
-
const globalEnvConfig = (0, unified_config_loader_1.getGlobalEnvConfig)();
|
|
559
|
-
const globalEnv = globalEnvConfig.enabled ? globalEnvConfig.env : {};
|
|
560
|
-
const envOverrides = {
|
|
561
|
-
...globalEnv,
|
|
562
|
-
...webSearchEnv,
|
|
563
|
-
CCS_PROFILE_TYPE: 'settings',
|
|
564
|
-
};
|
|
565
|
-
const exitCode = await (0, router_1.execWithScenarioRouting)(claudeCli, profileInfo.name, remainingArgs, envOverrides);
|
|
566
|
-
process.exit(exitCode);
|
|
567
|
-
}
|
|
568
|
-
else {
|
|
569
|
-
// EXISTING FLOW: Settings-based profile (glm, kimi)
|
|
570
|
-
// Use --settings flag (backward compatible)
|
|
571
|
-
const expandedSettingsPath = (0, config_manager_1.getSettingsPath)(profileInfo.name);
|
|
572
|
-
const webSearchEnv = (0, websearch_manager_1.getWebSearchHookEnv)();
|
|
573
|
-
// Get global env vars (DISABLE_TELEMETRY, etc.) for third-party profiles
|
|
574
|
-
const globalEnvConfig = (0, unified_config_loader_1.getGlobalEnvConfig)();
|
|
575
|
-
const globalEnv = globalEnvConfig.enabled ? globalEnvConfig.env : {};
|
|
576
|
-
// Log global env injection for visibility (debug mode only)
|
|
577
|
-
if (globalEnvConfig.enabled && Object.keys(globalEnv).length > 0 && process.env.CCS_DEBUG) {
|
|
578
|
-
const envNames = Object.keys(globalEnv).join(', ');
|
|
579
|
-
console.error((0, ui_1.info)(`Global env: ${envNames}`));
|
|
580
|
-
}
|
|
581
|
-
// CRITICAL: Load settings and explicitly set ANTHROPIC_* env vars
|
|
582
|
-
// to prevent inheriting stale values from previous CLIProxy sessions.
|
|
583
|
-
// Environment variables take precedence over --settings file values,
|
|
584
|
-
// so we must explicitly set them here to ensure correct routing.
|
|
585
|
-
const settings = (0, config_manager_1.loadSettings)(expandedSettingsPath);
|
|
586
|
-
const settingsEnv = settings.env || {};
|
|
587
|
-
const envVars = {
|
|
588
|
-
...globalEnv,
|
|
589
|
-
...settingsEnv, // Explicitly inject all settings env vars
|
|
590
|
-
...webSearchEnv,
|
|
591
|
-
CCS_PROFILE_TYPE: 'settings', // Signal to WebSearch hook this is a third-party provider
|
|
592
|
-
};
|
|
593
|
-
(0, shell_executor_1.execClaude)(claudeCli, ['--settings', expandedSettingsPath, ...remainingArgs], envVars);
|
|
594
|
-
}
|
|
595
|
-
}
|
|
596
|
-
}
|
|
597
|
-
else if (profileInfo.type === 'account') {
|
|
598
|
-
// NEW FLOW: Account-based profile (work, personal)
|
|
599
|
-
// All platforms: Use instance isolation with CLAUDE_CONFIG_DIR
|
|
600
|
-
const registry = new ProfileRegistry();
|
|
601
|
-
const instanceMgr = new InstanceManager();
|
|
602
|
-
// Ensure instance exists (lazy init if needed)
|
|
603
|
-
const instancePath = instanceMgr.ensureInstance(profileInfo.name);
|
|
604
|
-
// Update last_used timestamp (check unified config first, fallback to legacy)
|
|
605
|
-
if (registry.hasAccountUnified(profileInfo.name)) {
|
|
606
|
-
registry.touchAccountUnified(profileInfo.name);
|
|
423
|
+
else if (profileInfo.protocol === 'openai') {
|
|
424
|
+
// OpenAI 协议转换
|
|
425
|
+
await execClaudeWithOpenAIProxy(claudeCli, profileInfo.name, remainingArgs);
|
|
607
426
|
}
|
|
608
427
|
else {
|
|
609
|
-
|
|
428
|
+
// 普通 settings profile: 工具名清洗代理
|
|
429
|
+
const expandedSettingsPath = (0, config_manager_1.getSettingsPath)(profileInfo.name);
|
|
430
|
+
const globalEnvConfig = (0, unified_config_loader_1.getGlobalEnvConfig)();
|
|
431
|
+
const globalEnv = globalEnvConfig.enabled ? globalEnvConfig.env : {};
|
|
432
|
+
const settings = (0, config_manager_1.loadSettings)(expandedSettingsPath);
|
|
433
|
+
const settingsEnv = settings.env || {};
|
|
434
|
+
// 如果 BASE_URL 指向本地 cliproxy,确保它在运行
|
|
435
|
+
const verbose = remainingArgs.includes('--verbose') || remainingArgs.includes('-v');
|
|
436
|
+
await (0, cliproxy_autostart_1.ensureCliproxyIfNeeded)(settingsEnv, verbose);
|
|
437
|
+
const envVars = {
|
|
438
|
+
...globalEnv,
|
|
439
|
+
...settingsEnv,
|
|
440
|
+
CCS_PROFILE_TYPE: 'settings',
|
|
441
|
+
};
|
|
442
|
+
await execClaudeWithToolSanitizationProxy(claudeCli, expandedSettingsPath, remainingArgs, envVars);
|
|
610
443
|
}
|
|
611
|
-
// Execute Claude with instance isolation
|
|
612
|
-
// Skip WebSearch hook - account profiles use native server-side WebSearch
|
|
613
|
-
// Skip Image Analyzer hook - account profiles have native vision support
|
|
614
|
-
const envVars = {
|
|
615
|
-
CLAUDE_CONFIG_DIR: instancePath,
|
|
616
|
-
CCS_PROFILE_TYPE: 'account',
|
|
617
|
-
CCS_WEBSEARCH_SKIP: '1',
|
|
618
|
-
CCS_IMAGE_ANALYSIS_SKIP: '1',
|
|
619
|
-
};
|
|
620
|
-
(0, shell_executor_1.execClaude)(claudeCli, remainingArgs, envVars);
|
|
621
444
|
}
|
|
622
445
|
else {
|
|
623
|
-
// DEFAULT:
|
|
624
|
-
|
|
625
|
-
// Skip Image Analyzer hook - native Claude has native vision support
|
|
626
|
-
const envVars = {
|
|
627
|
-
CCS_PROFILE_TYPE: 'default',
|
|
628
|
-
CCS_WEBSEARCH_SKIP: '1',
|
|
629
|
-
CCS_IMAGE_ANALYSIS_SKIP: '1',
|
|
630
|
-
};
|
|
631
|
-
(0, shell_executor_1.execClaude)(claudeCli, remainingArgs, envVars);
|
|
446
|
+
// DEFAULT: 使用 Claude 原生认证
|
|
447
|
+
(0, shell_executor_1.execClaude)(claudeCli, remainingArgs, { CCS_PROFILE_TYPE: 'default' });
|
|
632
448
|
}
|
|
633
449
|
}
|
|
634
450
|
catch (error) {
|
|
635
451
|
const err = error;
|
|
636
|
-
// Check if this is a profile not found error with suggestions
|
|
637
452
|
if (err.profileName && err.availableProfiles !== undefined) {
|
|
638
|
-
|
|
639
|
-
await error_manager_1.ErrorManager.showProfileNotFound(err.profileName,
|
|
453
|
+
// Profile 未找到 — 简单报错
|
|
454
|
+
await error_manager_1.ErrorManager.showProfileNotFound(err.profileName, (err.availableProfiles || '').split('\n'), err.suggestions);
|
|
455
|
+
process.exit(1);
|
|
640
456
|
}
|
|
641
457
|
else {
|
|
642
458
|
console.error((0, ui_1.fail)(err.message));
|
|
459
|
+
process.exit(1);
|
|
643
460
|
}
|
|
644
|
-
process.exit(1);
|
|
645
461
|
}
|
|
646
462
|
}
|
|
647
463
|
// ========== Global Error Handlers ==========
|
|
648
|
-
// Handle uncaught exceptions
|
|
649
464
|
process.on('uncaughtException', (error) => {
|
|
650
465
|
(0, errors_1.handleError)(error);
|
|
651
466
|
});
|
|
652
|
-
// Handle unhandled promise rejections
|
|
653
467
|
process.on('unhandledRejection', (reason) => {
|
|
654
468
|
(0, errors_1.handleError)(reason);
|
|
655
469
|
});
|
|
656
|
-
// Handle process termination signals for cleanup
|
|
657
470
|
process.on('SIGTERM', () => {
|
|
658
471
|
(0, errors_1.runCleanup)();
|
|
659
472
|
process.exit(0);
|
|
660
473
|
});
|
|
661
474
|
process.on('SIGINT', () => {
|
|
662
475
|
(0, errors_1.runCleanup)();
|
|
663
|
-
process.exit(130);
|
|
476
|
+
process.exit(130);
|
|
664
477
|
});
|
|
665
|
-
// Run main
|
|
666
478
|
main().catch(errors_1.handleError);
|
|
667
479
|
//# sourceMappingURL=ccs.js.map
|