@kaitranntt/ccs 8.8.1 → 8.9.0-dev.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -7
- package/dist/api/services/profile-lifecycle-validation.d.ts.map +1 -1
- package/dist/api/services/profile-lifecycle-validation.js +3 -8
- package/dist/api/services/profile-lifecycle-validation.js.map +1 -1
- package/dist/auth/auth-commands.js +3 -3
- package/dist/auth/auth-commands.js.map +1 -1
- package/dist/auth/resume-lane-diagnostics.d.ts +9 -0
- package/dist/auth/resume-lane-diagnostics.d.ts.map +1 -1
- package/dist/auth/resume-lane-diagnostics.js +105 -1
- package/dist/auth/resume-lane-diagnostics.js.map +1 -1
- package/dist/auth/resume-lane-warning.d.ts +9 -1
- package/dist/auth/resume-lane-warning.d.ts.map +1 -1
- package/dist/auth/resume-lane-warning.js +72 -5
- package/dist/auth/resume-lane-warning.js.map +1 -1
- package/dist/ccs.d.ts +1 -1
- package/dist/ccs.d.ts.map +1 -1
- package/dist/ccs.js +5 -1
- package/dist/ccs.js.map +1 -1
- package/dist/cliproxy/accounts/registry.d.ts.map +1 -1
- package/dist/cliproxy/accounts/registry.js +14 -16
- package/dist/cliproxy/accounts/registry.js.map +1 -1
- package/dist/cliproxy/ai-providers/model-id-normalizer.d.ts +1 -1
- package/dist/cliproxy/ai-providers/model-id-normalizer.d.ts.map +1 -1
- package/dist/cliproxy/auth/oauth-cli-args.d.ts +11 -0
- package/dist/cliproxy/auth/oauth-cli-args.d.ts.map +1 -0
- package/dist/cliproxy/auth/oauth-cli-args.js +53 -0
- package/dist/cliproxy/auth/oauth-cli-args.js.map +1 -0
- package/dist/cliproxy/auth/oauth-cli-capabilities.d.ts +11 -0
- package/dist/cliproxy/auth/oauth-cli-capabilities.d.ts.map +1 -0
- package/dist/cliproxy/auth/oauth-cli-capabilities.js +101 -0
- package/dist/cliproxy/auth/oauth-cli-capabilities.js.map +1 -0
- package/dist/cliproxy/auth/oauth-handler.d.ts +0 -6
- package/dist/cliproxy/auth/oauth-handler.d.ts.map +1 -1
- package/dist/cliproxy/auth/oauth-handler.js +70 -43
- package/dist/cliproxy/auth/oauth-handler.js.map +1 -1
- package/dist/cliproxy/auth/test-fixtures/gemini-backend-guidance-child.scenario.d.ts +2 -0
- package/dist/cliproxy/auth/test-fixtures/gemini-backend-guidance-child.scenario.d.ts.map +1 -0
- package/dist/cliproxy/auth/test-fixtures/gemini-backend-guidance-child.scenario.js +207 -0
- package/dist/cliproxy/auth/test-fixtures/gemini-backend-guidance-child.scenario.js.map +1 -0
- package/dist/cliproxy/binary/install-lifecycle-lock.d.ts +2 -0
- package/dist/cliproxy/binary/install-lifecycle-lock.d.ts.map +1 -0
- package/dist/cliproxy/binary/install-lifecycle-lock.js +63 -0
- package/dist/cliproxy/binary/install-lifecycle-lock.js.map +1 -0
- package/dist/cliproxy/binary/installer.d.ts +13 -1
- package/dist/cliproxy/binary/installer.d.ts.map +1 -1
- package/dist/cliproxy/binary/installer.js +81 -42
- package/dist/cliproxy/binary/installer.js.map +1 -1
- package/dist/cliproxy/binary/lifecycle.d.ts +6 -1
- package/dist/cliproxy/binary/lifecycle.d.ts.map +1 -1
- package/dist/cliproxy/binary/lifecycle.js +13 -10
- package/dist/cliproxy/binary/lifecycle.js.map +1 -1
- package/dist/cliproxy/binary-manager.d.ts +3 -0
- package/dist/cliproxy/binary-manager.d.ts.map +1 -1
- package/dist/cliproxy/binary-manager.js +32 -30
- package/dist/cliproxy/binary-manager.js.map +1 -1
- package/dist/cliproxy/config/env-builder.d.ts +5 -0
- package/dist/cliproxy/config/env-builder.d.ts.map +1 -1
- package/dist/cliproxy/config/env-builder.js +24 -1
- package/dist/cliproxy/config/env-builder.js.map +1 -1
- package/dist/cliproxy/config/extended-context-config.d.ts.map +1 -1
- package/dist/cliproxy/config/extended-context-config.js +38 -1
- package/dist/cliproxy/config/extended-context-config.js.map +1 -1
- package/dist/cliproxy/config/generator.d.ts +2 -1
- package/dist/cliproxy/config/generator.d.ts.map +1 -1
- package/dist/cliproxy/config/generator.js +81 -11
- package/dist/cliproxy/config/generator.js.map +1 -1
- package/dist/cliproxy/config/oauth-model-alias-config.d.ts +6 -0
- package/dist/cliproxy/config/oauth-model-alias-config.d.ts.map +1 -0
- package/dist/cliproxy/config/oauth-model-alias-config.js +136 -0
- package/dist/cliproxy/config/oauth-model-alias-config.js.map +1 -0
- package/dist/cliproxy/config/payload-rule-config.d.ts +6 -0
- package/dist/cliproxy/config/payload-rule-config.d.ts.map +1 -0
- package/dist/cliproxy/config/payload-rule-config.js +137 -0
- package/dist/cliproxy/config/payload-rule-config.js.map +1 -0
- package/dist/cliproxy/executor/claude-launcher.d.ts +3 -0
- package/dist/cliproxy/executor/claude-launcher.d.ts.map +1 -1
- package/dist/cliproxy/executor/claude-launcher.js +7 -3
- package/dist/cliproxy/executor/claude-launcher.js.map +1 -1
- package/dist/cliproxy/executor/env-resolver.d.ts +2 -0
- package/dist/cliproxy/executor/env-resolver.d.ts.map +1 -1
- package/dist/cliproxy/executor/env-resolver.js +6 -4
- package/dist/cliproxy/executor/env-resolver.js.map +1 -1
- package/dist/cliproxy/executor/index.d.ts.map +1 -1
- package/dist/cliproxy/executor/index.js +7 -5
- package/dist/cliproxy/executor/index.js.map +1 -1
- package/dist/cliproxy/executor/launch-settings.d.ts.map +1 -1
- package/dist/cliproxy/executor/launch-settings.js +9 -2
- package/dist/cliproxy/executor/launch-settings.js.map +1 -1
- package/dist/cliproxy/model-catalog.d.ts +8 -0
- package/dist/cliproxy/model-catalog.d.ts.map +1 -1
- package/dist/cliproxy/model-catalog.js +109 -2
- package/dist/cliproxy/model-catalog.js.map +1 -1
- package/dist/cliproxy/quota/quota-fetcher-claude.d.ts.map +1 -1
- package/dist/cliproxy/quota/quota-fetcher-claude.js +11 -1
- package/dist/cliproxy/quota/quota-fetcher-claude.js.map +1 -1
- package/dist/cliproxy/routing/retry-settings.d.ts +18 -0
- package/dist/cliproxy/routing/retry-settings.d.ts.map +1 -0
- package/dist/cliproxy/routing/retry-settings.js +185 -0
- package/dist/cliproxy/routing/retry-settings.js.map +1 -0
- package/dist/cliproxy/routing/routing-strategy-http.d.ts +3 -0
- package/dist/cliproxy/routing/routing-strategy-http.d.ts.map +1 -1
- package/dist/cliproxy/routing/routing-strategy-http.js +13 -3
- package/dist/cliproxy/routing/routing-strategy-http.js.map +1 -1
- package/dist/cliproxy/services/binary-service.d.ts.map +1 -1
- package/dist/cliproxy/services/binary-service.js +24 -20
- package/dist/cliproxy/services/binary-service.js.map +1 -1
- package/dist/cliproxy/services/catalog-cache.d.ts.map +1 -1
- package/dist/cliproxy/services/catalog-cache.js +8 -0
- package/dist/cliproxy/services/catalog-cache.js.map +1 -1
- package/dist/cliproxy/session-tracker.d.ts.map +1 -1
- package/dist/cliproxy/session-tracker.js +4 -18
- package/dist/cliproxy/session-tracker.js.map +1 -1
- package/dist/cliproxy/types/binary-types.d.ts +1 -0
- package/dist/cliproxy/types/binary-types.d.ts.map +1 -1
- package/dist/cliproxy/types/config-types.d.ts +3 -0
- package/dist/cliproxy/types/config-types.d.ts.map +1 -1
- package/dist/codex-auth/shell-detect.d.ts +2 -0
- package/dist/codex-auth/shell-detect.d.ts.map +1 -1
- package/dist/codex-auth/shell-detect.js +15 -1
- package/dist/codex-auth/shell-detect.js.map +1 -1
- package/dist/commands/bar/bar-process-control.d.ts +43 -0
- package/dist/commands/bar/bar-process-control.d.ts.map +1 -0
- package/dist/commands/bar/bar-process-control.js +255 -0
- package/dist/commands/bar/bar-process-control.js.map +1 -0
- package/dist/commands/bar/bar-server-probe.d.ts +5 -2
- package/dist/commands/bar/bar-server-probe.d.ts.map +1 -1
- package/dist/commands/bar/bar-server-probe.js +38 -12
- package/dist/commands/bar/bar-server-probe.js.map +1 -1
- package/dist/commands/bar/help-subcommand.d.ts.map +1 -1
- package/dist/commands/bar/help-subcommand.js +2 -0
- package/dist/commands/bar/help-subcommand.js.map +1 -1
- package/dist/commands/bar/index.d.ts.map +1 -1
- package/dist/commands/bar/index.js +13 -3
- package/dist/commands/bar/index.js.map +1 -1
- package/dist/commands/bar/launch-descriptor.d.ts +2 -0
- package/dist/commands/bar/launch-descriptor.d.ts.map +1 -1
- package/dist/commands/bar/launch-descriptor.js +6 -1
- package/dist/commands/bar/launch-descriptor.js.map +1 -1
- package/dist/commands/bar/launch-subcommand.d.ts +18 -1
- package/dist/commands/bar/launch-subcommand.d.ts.map +1 -1
- package/dist/commands/bar/launch-subcommand.js +149 -45
- package/dist/commands/bar/launch-subcommand.js.map +1 -1
- package/dist/commands/bar/port-arg.d.ts +16 -0
- package/dist/commands/bar/port-arg.d.ts.map +1 -0
- package/dist/commands/bar/port-arg.js +41 -0
- package/dist/commands/bar/port-arg.js.map +1 -0
- package/dist/commands/bar/serve-subcommand.d.ts +5 -0
- package/dist/commands/bar/serve-subcommand.d.ts.map +1 -1
- package/dist/commands/bar/serve-subcommand.js +47 -29
- package/dist/commands/bar/serve-subcommand.js.map +1 -1
- package/dist/commands/bar/status-subcommand.d.ts.map +1 -1
- package/dist/commands/bar/status-subcommand.js +11 -2
- package/dist/commands/bar/status-subcommand.js.map +1 -1
- package/dist/commands/bar/stop-subcommand.d.ts +5 -0
- package/dist/commands/bar/stop-subcommand.d.ts.map +1 -1
- package/dist/commands/bar/stop-subcommand.js +71 -27
- package/dist/commands/bar/stop-subcommand.js.map +1 -1
- package/dist/commands/cliproxy/catalog-subcommand.d.ts.map +1 -1
- package/dist/commands/cliproxy/catalog-subcommand.js +2 -0
- package/dist/commands/cliproxy/catalog-subcommand.js.map +1 -1
- package/dist/commands/cliproxy/quota-subcommand/format-helpers.js +1 -1
- package/dist/commands/cliproxy/quota-subcommand/handlers.js +1 -1
- package/dist/commands/cliproxy/quota-subcommand/handlers.js.map +1 -1
- package/dist/commands/cliproxy/quota-subcommand/sections/claude.d.ts.map +1 -1
- package/dist/commands/cliproxy/quota-subcommand/sections/claude.js +3 -2
- package/dist/commands/cliproxy/quota-subcommand/sections/claude.js.map +1 -1
- package/dist/commands/cliproxy/quota-subcommand/sections/codex.js +1 -1
- package/dist/commands/cliproxy/quota-subcommand/sections/codex.js.map +1 -1
- package/dist/commands/cliproxy/quota-subcommand/sections/gemini-cli.js +1 -1
- package/dist/commands/cliproxy/quota-subcommand/sections/gemini-cli.js.map +1 -1
- package/dist/commands/setup-command.js +1 -1
- package/dist/commands/setup-command.js.map +1 -1
- package/dist/commands/version-command.js +1 -1
- package/dist/commands/version-command.js.map +1 -1
- package/dist/config/schemas/auth.d.ts +2 -2
- package/dist/config/schemas/auth.d.ts.map +1 -1
- package/dist/config/schemas/cliproxy.d.ts +66 -0
- package/dist/config/schemas/cliproxy.d.ts.map +1 -1
- package/dist/config/schemas/cliproxy.js +13 -1
- package/dist/config/schemas/cliproxy.js.map +1 -1
- package/dist/config/schemas/index.d.ts +1 -1
- package/dist/config/schemas/index.d.ts.map +1 -1
- package/dist/config/schemas/index.js.map +1 -1
- package/dist/config/schemas/version.d.ts +2 -1
- package/dist/config/schemas/version.d.ts.map +1 -1
- package/dist/config/schemas/version.js +2 -1
- package/dist/config/schemas/version.js.map +1 -1
- package/dist/copilot/copilot-executor.d.ts +3 -1
- package/dist/copilot/copilot-executor.d.ts.map +1 -1
- package/dist/copilot/copilot-executor.js +11 -7
- package/dist/copilot/copilot-executor.js.map +1 -1
- package/dist/cursor/cursor-profile-executor.d.ts +3 -1
- package/dist/cursor/cursor-profile-executor.d.ts.map +1 -1
- package/dist/cursor/cursor-profile-executor.js +8 -4
- package/dist/cursor/cursor-profile-executor.js.map +1 -1
- package/dist/delegation/delegation-handler.d.ts.map +1 -1
- package/dist/delegation/delegation-handler.js +12 -2
- package/dist/delegation/delegation-handler.js.map +1 -1
- package/dist/delegation/headless-executor.d.ts.map +1 -1
- package/dist/delegation/headless-executor.js +4 -3
- package/dist/delegation/headless-executor.js.map +1 -1
- package/dist/dispatcher/flows/copilot-flow.d.ts.map +1 -1
- package/dist/dispatcher/flows/copilot-flow.js +3 -2
- package/dist/dispatcher/flows/copilot-flow.js.map +1 -1
- package/dist/dispatcher/flows/cursor-flow.d.ts.map +1 -1
- package/dist/dispatcher/flows/cursor-flow.js +3 -2
- package/dist/dispatcher/flows/cursor-flow.js.map +1 -1
- package/dist/dispatcher/flows/settings-flow.d.ts.map +1 -1
- package/dist/dispatcher/flows/settings-flow.js +12 -10
- package/dist/dispatcher/flows/settings-flow.js.map +1 -1
- package/dist/management/instance-directory.d.ts +19 -0
- package/dist/management/instance-directory.d.ts.map +1 -1
- package/dist/management/instance-directory.js +130 -7
- package/dist/management/instance-directory.js.map +1 -1
- package/dist/management/instance-manager.d.ts +2 -5
- package/dist/management/instance-manager.d.ts.map +1 -1
- package/dist/management/instance-manager.js +26 -27
- package/dist/management/instance-manager.js.map +1 -1
- package/dist/management/shared-manager/canonical-first-file-claims.d.ts +6 -0
- package/dist/management/shared-manager/canonical-first-file-claims.d.ts.map +1 -0
- package/dist/management/shared-manager/canonical-first-file-claims.js +143 -0
- package/dist/management/shared-manager/canonical-first-file-claims.js.map +1 -0
- package/dist/management/shared-manager/canonical-first-file-reconciler.d.ts +15 -0
- package/dist/management/shared-manager/canonical-first-file-reconciler.d.ts.map +1 -0
- package/dist/management/shared-manager/canonical-first-file-reconciler.js +131 -0
- package/dist/management/shared-manager/canonical-first-file-reconciler.js.map +1 -0
- package/dist/management/shared-manager/diverged-file-adopter.d.ts +5 -0
- package/dist/management/shared-manager/diverged-file-adopter.d.ts.map +1 -0
- package/dist/management/shared-manager/diverged-file-adopter.js +391 -0
- package/dist/management/shared-manager/diverged-file-adopter.js.map +1 -0
- package/dist/management/shared-manager/fs-helpers.d.ts +9 -0
- package/dist/management/shared-manager/fs-helpers.d.ts.map +1 -1
- package/dist/management/shared-manager/fs-helpers.js +9 -0
- package/dist/management/shared-manager/fs-helpers.js.map +1 -1
- package/dist/management/shared-manager/plugin-layout-internals.d.ts +1 -1
- package/dist/management/shared-manager/plugin-layout-internals.d.ts.map +1 -1
- package/dist/management/shared-manager/plugin-layout-internals.js +54 -8
- package/dist/management/shared-manager/plugin-layout-internals.js.map +1 -1
- package/dist/management/shared-manager/shared-dir-linker.d.ts +1 -1
- package/dist/management/shared-manager/shared-dir-linker.d.ts.map +1 -1
- package/dist/management/shared-manager/shared-dir-linker.js +147 -75
- package/dist/management/shared-manager/shared-dir-linker.js.map +1 -1
- package/dist/management/shared-manager/types.d.ts +12 -1
- package/dist/management/shared-manager/types.d.ts.map +1 -1
- package/dist/management/shared-manager/types.js +12 -1
- package/dist/management/shared-manager/types.js.map +1 -1
- package/dist/proxy/proxy-daemon-entry.js +10 -2
- package/dist/proxy/proxy-daemon-entry.js.map +1 -1
- package/dist/proxy/server/messages-route.d.ts +2 -2
- package/dist/proxy/server/messages-route.d.ts.map +1 -1
- package/dist/proxy/server/messages-route.js +33 -24
- package/dist/proxy/server/messages-route.js.map +1 -1
- package/dist/proxy/server/proxy-server.d.ts +1 -0
- package/dist/proxy/server/proxy-server.d.ts.map +1 -1
- package/dist/proxy/server/proxy-server.js +57 -5
- package/dist/proxy/server/proxy-server.js.map +1 -1
- package/dist/proxy/server/upstream-transport.d.ts +14 -0
- package/dist/proxy/server/upstream-transport.d.ts.map +1 -0
- package/dist/proxy/server/upstream-transport.js +72 -0
- package/dist/proxy/server/upstream-transport.js.map +1 -0
- package/dist/proxy/transformers/request-transformer.d.ts.map +1 -1
- package/dist/proxy/transformers/request-transformer.js +43 -1
- package/dist/proxy/transformers/request-transformer.js.map +1 -1
- package/dist/services/logging/log-redaction.d.ts.map +1 -1
- package/dist/services/logging/log-redaction.js +4 -1
- package/dist/services/logging/log-redaction.js.map +1 -1
- package/dist/services/logging/log-types.d.ts +1 -0
- package/dist/services/logging/log-types.d.ts.map +1 -1
- package/dist/services/logging/log-types.js.map +1 -1
- package/dist/shared/extended-context-utils.d.ts +18 -2
- package/dist/shared/extended-context-utils.d.ts.map +1 -1
- package/dist/shared/extended-context-utils.js +38 -3
- package/dist/shared/extended-context-utils.js.map +1 -1
- package/dist/shared/provider-preset-catalog.d.ts +2 -1
- package/dist/shared/provider-preset-catalog.d.ts.map +1 -1
- package/dist/shared/provider-preset-catalog.js +18 -1
- package/dist/shared/provider-preset-catalog.js.map +1 -1
- package/dist/types/config.d.ts +2 -2
- package/dist/types/config.d.ts.map +1 -1
- package/dist/ui/assets/{Trans-DTklOPAl.js → Trans-Dv0FgbfN.js} +1 -1
- package/dist/ui/assets/{accounts-Cvmw1zaL.js → accounts-DD4gJm5G.js} +1 -1
- package/dist/ui/assets/{alert-dialog-xN1Vxm4Q.js → alert-dialog-CfsyUL5i.js} +1 -1
- package/dist/ui/assets/{api-UjGDV1dn.js → api-Rml_6r1f.js} +1 -1
- package/dist/ui/assets/{auth-section-exE9zovq.js → auth-section-ud23YOqo.js} +1 -1
- package/dist/ui/assets/{backups-section-CANdqpNT.js → backups-section-BvojIR_s.js} +1 -1
- package/dist/ui/assets/{channels-C8d6AgLN.js → channels-C6JAnQ-P.js} +1 -1
- package/dist/ui/assets/{checkbox-B71vxZdD.js → checkbox-e4TE1vtU.js} +1 -1
- package/dist/ui/assets/{claude-extension-COD7m8Iq.js → claude-extension-Crqbbisi.js} +1 -1
- package/dist/ui/assets/cliproxy-CTzg_fbJ.js +4 -0
- package/dist/ui/assets/{cliproxy-ai-providers-C79GuQ92.js → cliproxy-ai-providers-DRfGjeni.js} +5 -5
- package/dist/ui/assets/{cliproxy-control-panel-B6_hOtz6.js → cliproxy-control-panel-C0TgmqD6.js} +1 -1
- package/dist/ui/assets/{codex-3mlgCMGk.js → codex-CGFN2_Yz.js} +1 -1
- package/dist/ui/assets/{confirm-dialog-CHnCNFFP.js → confirm-dialog-CWYwcPu7.js} +1 -1
- package/dist/ui/assets/{copilot-CfmS6yON.js → copilot-CDo33AQ9.js} +2 -2
- package/dist/ui/assets/{cursor-tzPHgV8J.js → cursor-nVJdycFe.js} +1 -1
- package/dist/ui/assets/{droid-Bc8LlbJa.js → droid-C1mg2O8N.js} +1 -1
- package/dist/ui/assets/{globalenv-section-DTYeLBoB.js → globalenv-section-D0iUrk5Z.js} +1 -1
- package/dist/ui/assets/{health-9Xyzeiyx.js → health-CIcj1Jxy.js} +1 -1
- package/dist/ui/assets/{index-B0M7QB1o.js → index-AosRBwPp.js} +1 -1
- package/dist/ui/assets/{index-DoHAX6LH.js → index-BCqgbLRB.js} +1 -1
- package/dist/ui/assets/{index-CEx6YJb5.js → index-BxcCMHzL.js} +1 -1
- package/dist/ui/assets/{index-Bz1gMXk1.js → index-DZbSKKhp.js} +1 -1
- package/dist/ui/assets/{index-DuD3QaMG.js → index-DvvpgsgL.js} +1 -1
- package/dist/ui/assets/index-DwlqXVPF.js +56 -0
- package/dist/ui/assets/{index-Bjg11-rW.js → index-W-L7VU-4.js} +1 -1
- package/dist/ui/assets/{logs-CrjUtfDp.js → logs-CLIARnH2.js} +1 -1
- package/dist/ui/assets/{masked-input-BAtRbixr.js → masked-input-BRcjJtU3.js} +1 -1
- package/dist/ui/assets/proxy-status-widget-CBBs3HmJ.js +1 -0
- package/dist/ui/assets/{raw-json-settings-editor-panel-CvJCywnk.js → raw-json-settings-editor-panel-DhDm8jkK.js} +1 -1
- package/dist/ui/assets/{searchable-select-Bn50_-2s.js → searchable-select-DW5e6ct1.js} +1 -1
- package/dist/ui/assets/{separator-DY36bzud.js → separator-D-2blr1t.js} +1 -1
- package/dist/ui/assets/{shared-BynjOvKs.js → shared-BIRVeSaP.js} +1 -1
- package/dist/ui/assets/{table-DdcK8yYq.js → table-CEyFyU_X.js} +1 -1
- package/dist/ui/assets/{updates-D27A1hQG.js → updates-Dcpm3clh.js} +1 -1
- package/dist/ui/assets/{use-accounts-CRxt0j07.js → use-accounts-Cjb9-mnK.js} +1 -1
- package/dist/ui/icons/orcarouter.svg +1 -0
- package/dist/ui/index.html +2 -2
- package/dist/utils/fetch-proxy-setup.d.ts.map +1 -1
- package/dist/utils/fetch-proxy-setup.js +10 -6
- package/dist/utils/fetch-proxy-setup.js.map +1 -1
- package/dist/utils/hooks/image-analysis-backend-resolver.d.ts.map +1 -1
- package/dist/utils/hooks/image-analysis-backend-resolver.js +6 -0
- package/dist/utils/hooks/image-analysis-backend-resolver.js.map +1 -1
- package/dist/utils/hooks/image-analysis-runtime-status.d.ts.map +1 -1
- package/dist/utils/hooks/image-analysis-runtime-status.js +8 -3
- package/dist/utils/hooks/image-analysis-runtime-status.js.map +1 -1
- package/dist/utils/package-manager-detector.d.ts.map +1 -1
- package/dist/utils/package-manager-detector.js +6 -2
- package/dist/utils/package-manager-detector.js.map +1 -1
- package/dist/utils/shell-executor.d.ts +1 -1
- package/dist/utils/shell-executor.d.ts.map +1 -1
- package/dist/utils/shell-executor.js +5 -8
- package/dist/utils/shell-executor.js.map +1 -1
- package/dist/utils/sync-lock-retry.d.ts +9 -0
- package/dist/utils/sync-lock-retry.d.ts.map +1 -0
- package/dist/utils/sync-lock-retry.js +107 -0
- package/dist/utils/sync-lock-retry.js.map +1 -0
- package/dist/utils/websearch/agy.d.ts +3 -1
- package/dist/utils/websearch/agy.d.ts.map +1 -1
- package/dist/utils/websearch/agy.js +33 -23
- package/dist/utils/websearch/agy.js.map +1 -1
- package/dist/utils/websearch/claude-tool-args.d.ts +1 -1
- package/dist/utils/websearch/claude-tool-args.d.ts.map +1 -1
- package/dist/utils/websearch/claude-tool-args.js +3 -2
- package/dist/utils/websearch/claude-tool-args.js.map +1 -1
- package/dist/utils/websearch/gemini-cli.d.ts +3 -1
- package/dist/utils/websearch/gemini-cli.d.ts.map +1 -1
- package/dist/utils/websearch/gemini-cli.js +33 -23
- package/dist/utils/websearch/gemini-cli.js.map +1 -1
- package/dist/utils/websearch/grok-cli.d.ts +3 -1
- package/dist/utils/websearch/grok-cli.d.ts.map +1 -1
- package/dist/utils/websearch/grok-cli.js +33 -23
- package/dist/utils/websearch/grok-cli.js.map +1 -1
- package/dist/utils/websearch/hook-config.d.ts +2 -1
- package/dist/utils/websearch/hook-config.d.ts.map +1 -1
- package/dist/utils/websearch/hook-config.js +1 -2
- package/dist/utils/websearch/hook-config.js.map +1 -1
- package/dist/utils/websearch/hook-env.d.ts +2 -1
- package/dist/utils/websearch/hook-env.d.ts.map +1 -1
- package/dist/utils/websearch/hook-env.js +1 -2
- package/dist/utils/websearch/hook-env.js.map +1 -1
- package/dist/utils/websearch/hook-installer.d.ts +2 -1
- package/dist/utils/websearch/hook-installer.d.ts.map +1 -1
- package/dist/utils/websearch/hook-installer.js +1 -2
- package/dist/utils/websearch/hook-installer.js.map +1 -1
- package/dist/utils/websearch/index.d.ts +2 -0
- package/dist/utils/websearch/index.d.ts.map +1 -1
- package/dist/utils/websearch/index.js +3 -1
- package/dist/utils/websearch/index.js.map +1 -1
- package/dist/utils/websearch/launch-state.d.ts +9 -0
- package/dist/utils/websearch/launch-state.d.ts.map +1 -0
- package/dist/utils/websearch/launch-state.js +15 -0
- package/dist/utils/websearch/launch-state.js.map +1 -0
- package/dist/utils/websearch/mcp-installer.d.ts +6 -5
- package/dist/utils/websearch/mcp-installer.d.ts.map +1 -1
- package/dist/utils/websearch/mcp-installer.js +10 -15
- package/dist/utils/websearch/mcp-installer.js.map +1 -1
- package/dist/utils/websearch/opencode-cli.d.ts +3 -1
- package/dist/utils/websearch/opencode-cli.d.ts.map +1 -1
- package/dist/utils/websearch/opencode-cli.js +33 -23
- package/dist/utils/websearch/opencode-cli.js.map +1 -1
- package/dist/utils/websearch/status.d.ts +7 -3
- package/dist/utils/websearch/status.d.ts.map +1 -1
- package/dist/utils/websearch/status.js +50 -31
- package/dist/utils/websearch/status.js.map +1 -1
- package/dist/utils/websearch-manager.d.ts +2 -0
- package/dist/utils/websearch-manager.d.ts.map +1 -1
- package/dist/utils/websearch-manager.js +3 -1
- package/dist/utils/websearch-manager.js.map +1 -1
- package/dist/web-server/model-pricing.d.ts.map +1 -1
- package/dist/web-server/model-pricing.js +43 -10
- package/dist/web-server/model-pricing.js.map +1 -1
- package/dist/web-server/routes/bar-routes.d.ts.map +1 -1
- package/dist/web-server/routes/bar-routes.js +15 -10
- package/dist/web-server/routes/bar-routes.js.map +1 -1
- package/dist/web-server/routes/cliproxy-routing-routes.d.ts.map +1 -1
- package/dist/web-server/routes/cliproxy-routing-routes.js +28 -0
- package/dist/web-server/routes/cliproxy-routing-routes.js.map +1 -1
- package/dist/web-server/routes/settings-routes.d.ts.map +1 -1
- package/dist/web-server/routes/settings-routes.js +1 -0
- package/dist/web-server/routes/settings-routes.js.map +1 -1
- package/dist/web-server/services/cliproxy-dashboard-install-service.d.ts +5 -0
- package/dist/web-server/services/cliproxy-dashboard-install-service.d.ts.map +1 -1
- package/dist/web-server/services/cliproxy-dashboard-install-service.js +53 -36
- package/dist/web-server/services/cliproxy-dashboard-install-service.js.map +1 -1
- package/dist/web-server/usage/claude-native-credentials.d.ts +23 -2
- package/dist/web-server/usage/claude-native-credentials.d.ts.map +1 -1
- package/dist/web-server/usage/claude-native-credentials.js +78 -14
- package/dist/web-server/usage/claude-native-credentials.js.map +1 -1
- package/dist/web-server/usage/native-quota-collector.d.ts +10 -9
- package/dist/web-server/usage/native-quota-collector.d.ts.map +1 -1
- package/dist/web-server/usage/native-quota-collector.js +113 -42
- package/dist/web-server/usage/native-quota-collector.js.map +1 -1
- package/lib/ccs +1 -1
- package/lib/ccs.ps1 +1 -1
- package/package.json +6 -2
- package/scripts/ci-parity-gate.sh +4 -30
- package/scripts/completion/ccs.bash +1 -1
- package/scripts/completion/ccs.fish +1 -1
- package/scripts/completion/ccs.ps1 +1 -1
- package/scripts/completion/ccs.zsh +1 -1
- package/scripts/dev-release.sh +1 -1
- package/scripts/hardening-inventory.js +37 -4
- package/scripts/maintainability-metrics.js +2 -8
- package/scripts/run-test-bucket.js +1 -0
- package/scripts/runtime-source-classifier.js +12 -0
- package/dist/ui/assets/cliproxy-CXDOPGj3.js +0 -4
- package/dist/ui/assets/index-EnTQAKOi.js +0 -56
- package/dist/ui/assets/proxy-status-widget-D87qCiqo.js +0 -1
|
@@ -30,83 +30,122 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
30
30
|
exports.getBinaryInfo = exports.isBinaryInstalled = exports.getBinaryPath = exports.deleteBinary = exports.downloadAndInstall = void 0;
|
|
31
31
|
const fs = __importStar(require("fs"));
|
|
32
32
|
const path = __importStar(require("path"));
|
|
33
|
+
const lockfile = __importStar(require("proper-lockfile"));
|
|
33
34
|
const platform_detector_1 = require("../binary/platform-detector");
|
|
34
35
|
const downloader_1 = require("./downloader");
|
|
35
36
|
const verifier_1 = require("./verifier");
|
|
36
37
|
const extractor_1 = require("./extractor");
|
|
37
|
-
const version_cache_1 = require("./version-cache");
|
|
38
38
|
const progress_indicator_1 = require("../../utils/progress-indicator");
|
|
39
39
|
const ui_1 = require("../../utils/ui");
|
|
40
|
+
const error_types_1 = require("../../errors/error-types");
|
|
40
41
|
/**
|
|
41
42
|
* Download and install the binary
|
|
42
43
|
*/
|
|
43
|
-
async function downloadAndInstall(config, verbose = false) {
|
|
44
|
+
async function downloadAndInstall(config, verbose = false, deps = {}) {
|
|
44
45
|
const backend = config.backend ?? platform_detector_1.DEFAULT_BACKEND;
|
|
45
46
|
const platform = (0, platform_detector_1.detectPlatform)(config.version, backend);
|
|
46
47
|
const downloadUrl = (0, platform_detector_1.getDownloadUrl)(config.version, backend);
|
|
47
48
|
const checksumsUrl = (0, platform_detector_1.getChecksumsUrl)(config.version, backend);
|
|
48
49
|
const backendLabel = backend === 'plus' ? 'CLIProxy Plus' : 'CLIProxy';
|
|
50
|
+
const downloadWithRetryFn = deps.downloadWithRetryFn ?? downloader_1.downloadWithRetry;
|
|
51
|
+
const verifyChecksumFn = deps.verifyChecksumFn ?? verifier_1.verifyChecksum;
|
|
52
|
+
const extractArchiveFn = deps.extractArchiveFn ?? extractor_1.extractArchive;
|
|
53
|
+
const renameSyncFn = deps.renameSyncFn ?? fs.renameSync;
|
|
49
54
|
fs.mkdirSync(config.binPath, { recursive: true });
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
try {
|
|
56
|
-
fs.unlinkSync(existingBinary);
|
|
57
|
-
if (verbose)
|
|
58
|
-
console.error(`[cliproxy] Removed existing binary: ${existingBinary}`);
|
|
59
|
-
}
|
|
60
|
-
catch (error) {
|
|
61
|
-
const code = error instanceof Error && 'code' in error ? error.code : '';
|
|
62
|
-
// ETXTBSY: Linux-specific error when unlinking a running executable.
|
|
63
|
-
// EBUSY on Windows may mean something different (mount point, etc.),
|
|
64
|
-
// so only treat ETXTBSY as "binary in use" to avoid misleading messages.
|
|
65
|
-
if (code === 'ETXTBSY') {
|
|
66
|
-
if (verbose)
|
|
67
|
-
console.error(`[cliproxy] Binary is running, cannot replace: ${existingBinary}`);
|
|
68
|
-
throw new Error('CLIProxy binary is currently running and cannot be replaced. Restart the container to apply the update.');
|
|
69
|
-
}
|
|
70
|
-
throw error;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
const archivePath = path.join(config.binPath, `cliproxy-archive.${platform.extension}`);
|
|
55
|
+
const releaseLock = await lockfile.lock(config.binPath, {
|
|
56
|
+
stale: 10 * 60 * 1000,
|
|
57
|
+
retries: { retries: 60, factor: 1, minTimeout: 250, maxTimeout: 250 },
|
|
58
|
+
});
|
|
59
|
+
let stagingPath;
|
|
74
60
|
const spinner = new progress_indicator_1.ProgressIndicator(`Downloading ${backendLabel} v${config.version}`);
|
|
75
|
-
|
|
61
|
+
let installError;
|
|
76
62
|
try {
|
|
77
|
-
const
|
|
63
|
+
for (const entry of fs.readdirSync(config.binPath)) {
|
|
64
|
+
if (entry.startsWith('.cliproxy-install-')) {
|
|
65
|
+
fs.rmSync(path.join(config.binPath, entry), { recursive: true, force: true });
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
stagingPath = fs.mkdtempSync(path.join(config.binPath, '.cliproxy-install-'));
|
|
69
|
+
const archivePath = path.join(stagingPath, `cliproxy-archive.${platform.extension}`);
|
|
70
|
+
const stagedBinary = path.join(stagingPath, (0, platform_detector_1.getExecutableName)(backend));
|
|
71
|
+
const stagedVersion = path.join(stagingPath, '.version');
|
|
72
|
+
const installedBinary = path.join(config.binPath, (0, platform_detector_1.getExecutableName)(backend));
|
|
73
|
+
const installedVersion = path.join(config.binPath, '.version');
|
|
74
|
+
const backupBinary = path.join(stagingPath, '.previous-binary');
|
|
75
|
+
const hadInstalledBinary = fs.existsSync(installedBinary);
|
|
76
|
+
spinner.start();
|
|
77
|
+
const result = await downloadWithRetryFn(downloadUrl, archivePath, {
|
|
78
78
|
maxRetries: config.maxRetries,
|
|
79
79
|
verbose,
|
|
80
80
|
});
|
|
81
81
|
if (!result.success) {
|
|
82
82
|
spinner.fail('Download failed');
|
|
83
|
-
throw new
|
|
83
|
+
throw new error_types_1.NetworkError(result.error || 'Download failed after retries', downloadUrl);
|
|
84
84
|
}
|
|
85
85
|
spinner.update('Verifying checksum');
|
|
86
|
-
const checksumResult = await (
|
|
86
|
+
const checksumResult = await verifyChecksumFn(archivePath, platform.binaryName, checksumsUrl, verbose);
|
|
87
87
|
if (!checksumResult.valid) {
|
|
88
88
|
spinner.fail('Checksum mismatch');
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
`Actual: ${checksumResult.actual}\n\nManual download: ${downloadUrl}`);
|
|
89
|
+
throw new error_types_1.BinaryError(`Checksum mismatch for ${platform.binaryName}\nExpected: ${checksumResult.expected}\n` +
|
|
90
|
+
`Actual: ${checksumResult.actual}\n\nManual download: ${downloadUrl}`, stagedBinary);
|
|
92
91
|
}
|
|
93
92
|
spinner.update('Extracting binary');
|
|
94
|
-
await (
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
if (platform.os !== 'windows'
|
|
99
|
-
fs.chmodSync(
|
|
93
|
+
await extractArchiveFn(archivePath, stagingPath, platform.extension, verbose, backend);
|
|
94
|
+
if (!fs.existsSync(stagedBinary) || !fs.statSync(stagedBinary).isFile()) {
|
|
95
|
+
throw new error_types_1.BinaryError(`Extracted archive did not contain ${(0, platform_detector_1.getExecutableName)(backend)}`, stagedBinary);
|
|
96
|
+
}
|
|
97
|
+
if (platform.os !== 'windows') {
|
|
98
|
+
fs.chmodSync(stagedBinary, 0o755);
|
|
100
99
|
if (verbose)
|
|
101
|
-
console.error(`[cliproxy] Set executable permissions: ${
|
|
100
|
+
console.error(`[cliproxy] Set executable permissions: ${stagedBinary}`);
|
|
102
101
|
}
|
|
103
|
-
(
|
|
102
|
+
fs.writeFileSync(stagedVersion, config.version, 'utf8');
|
|
103
|
+
if (hadInstalledBinary) {
|
|
104
|
+
fs.copyFileSync(installedBinary, backupBinary);
|
|
105
|
+
if (platform.os !== 'windows')
|
|
106
|
+
fs.chmodSync(backupBinary, 0o755);
|
|
107
|
+
}
|
|
108
|
+
renameSyncFn(stagedBinary, installedBinary);
|
|
109
|
+
try {
|
|
110
|
+
renameSyncFn(stagedVersion, installedVersion);
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
if (hadInstalledBinary) {
|
|
114
|
+
renameSyncFn(backupBinary, installedBinary);
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
fs.unlinkSync(installedBinary);
|
|
118
|
+
}
|
|
119
|
+
throw error;
|
|
120
|
+
}
|
|
121
|
+
spinner.succeed(`${backendLabel} ready`);
|
|
104
122
|
console.log((0, ui_1.ok)(`${backendLabel} v${config.version} installed successfully`));
|
|
105
123
|
}
|
|
106
124
|
catch (error) {
|
|
125
|
+
installError = error;
|
|
107
126
|
spinner.fail('Installation failed');
|
|
108
127
|
throw error;
|
|
109
128
|
}
|
|
129
|
+
finally {
|
|
130
|
+
let cleanupError;
|
|
131
|
+
try {
|
|
132
|
+
if (stagingPath)
|
|
133
|
+
fs.rmSync(stagingPath, { recursive: true, force: true });
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
cleanupError = error;
|
|
137
|
+
}
|
|
138
|
+
finally {
|
|
139
|
+
try {
|
|
140
|
+
await releaseLock();
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
cleanupError ?? (cleanupError = error);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
if (!installError && cleanupError)
|
|
147
|
+
throw cleanupError;
|
|
148
|
+
}
|
|
110
149
|
}
|
|
111
150
|
exports.downloadAndInstall = downloadAndInstall;
|
|
112
151
|
/** Delete binary (for cleanup or reinstall) */
|
|
@@ -122,7 +161,7 @@ function deleteBinary(binPath, verbose = false, backend) {
|
|
|
122
161
|
catch (error) {
|
|
123
162
|
const code = error instanceof Error && 'code' in error ? error.code : '';
|
|
124
163
|
if (code === 'ETXTBSY') {
|
|
125
|
-
throw new
|
|
164
|
+
throw new error_types_1.BinaryError('CLIProxy binary is currently running and cannot be deleted.', binaryPath);
|
|
126
165
|
}
|
|
127
166
|
throw error;
|
|
128
167
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../../../src/cliproxy/binary/installer.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;
|
|
1
|
+
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../../../src/cliproxy/binary/installer.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,14 @@
|
|
|
3
3
|
* Handles ensuring binary availability and auto-updates.
|
|
4
4
|
*/
|
|
5
5
|
import { BinaryManagerConfig } from '../types';
|
|
6
|
+
import { downloadAndInstall } from './installer';
|
|
6
7
|
/**
|
|
7
8
|
* Ensure binary is available (download if missing, update if outdated)
|
|
8
9
|
* @returns Path to executable binary
|
|
9
10
|
*/
|
|
10
|
-
|
|
11
|
+
interface EnsureBinaryDeps {
|
|
12
|
+
downloadAndInstallFn?: typeof downloadAndInstall;
|
|
13
|
+
}
|
|
14
|
+
export declare function ensureBinary(config: BinaryManagerConfig, deps?: EnsureBinaryDeps): Promise<string>;
|
|
15
|
+
export {};
|
|
11
16
|
//# sourceMappingURL=lifecycle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/binary/lifecycle.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,mBAAmB,EAAmB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/binary/lifecycle.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,mBAAmB,EAAmB,MAAM,UAAU,CAAC;AAOhE,OAAO,EAAE,kBAAkB,EAAiB,MAAM,aAAa,CAAC;AAyFhE;;;GAGG;AACH,UAAU,gBAAgB;IACxB,oBAAoB,CAAC,EAAE,OAAO,kBAAkB,CAAC;CAClD;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,mBAAmB,EAC3B,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAoEjB"}
|
|
@@ -34,6 +34,7 @@ const installer_1 = require("./installer");
|
|
|
34
34
|
const ui_1 = require("../../utils/ui");
|
|
35
35
|
const stats_fetcher_1 = require("../services/stats-fetcher");
|
|
36
36
|
const port_manager_1 = require("../config/port-manager");
|
|
37
|
+
const error_types_1 = require("../../errors/error-types");
|
|
37
38
|
const platform_detector_1 = require("../binary/platform-detector");
|
|
38
39
|
/** Log helper */
|
|
39
40
|
function log(message, verbose) {
|
|
@@ -97,24 +98,26 @@ async function handleAutoUpdate(config, verbose) {
|
|
|
97
98
|
else {
|
|
98
99
|
console.log((0, ui_1.info)(updateMsg));
|
|
99
100
|
console.log((0, ui_1.info)(`Updating ${backendLabel}...`));
|
|
100
|
-
|
|
101
|
+
// The installer stages and validates the replacement before atomically swapping it.
|
|
101
102
|
config.version = targetVersion;
|
|
102
103
|
await (0, installer_1.downloadAndInstall)(config, verbose);
|
|
103
104
|
}
|
|
104
105
|
}
|
|
105
|
-
|
|
106
|
-
* Ensure binary is available (download if missing, update if outdated)
|
|
107
|
-
* @returns Path to executable binary
|
|
108
|
-
*/
|
|
109
|
-
async function ensureBinary(config) {
|
|
106
|
+
async function ensureBinary(config, deps = {}) {
|
|
110
107
|
const verbose = config.verbose;
|
|
111
108
|
const backend = config.backend ?? platform_detector_1.DEFAULT_BACKEND;
|
|
112
109
|
const binaryPath = (0, installer_1.getBinaryPath)(config.binPath, backend);
|
|
110
|
+
const downloadAndInstallFn = deps.downloadAndInstallFn ?? installer_1.downloadAndInstall;
|
|
113
111
|
// Binary exists - check for updates unless forceVersion
|
|
114
112
|
if (fs.existsSync(binaryPath)) {
|
|
115
113
|
log(`Binary exists: ${binaryPath}`, verbose);
|
|
114
|
+
if (config.replaceExisting) {
|
|
115
|
+
log(`Force version mode: installing specified version ${config.version}`, verbose);
|
|
116
|
+
await downloadAndInstallFn(config, verbose);
|
|
117
|
+
return binaryPath;
|
|
118
|
+
}
|
|
116
119
|
if (config.forceVersion) {
|
|
117
|
-
log(
|
|
120
|
+
log(`Pinned version mode: using installed version ${config.version}`, verbose);
|
|
118
121
|
return binaryPath;
|
|
119
122
|
}
|
|
120
123
|
if (config.skipAutoUpdate) {
|
|
@@ -132,8 +135,8 @@ async function ensureBinary(config) {
|
|
|
132
135
|
}
|
|
133
136
|
// Binary missing
|
|
134
137
|
if (!config.allowInstall) {
|
|
135
|
-
throw new
|
|
136
|
-
'Run "ccs cliproxy install" when you have network access.');
|
|
138
|
+
throw new error_types_1.BinaryError(`${getBackendLabel(backend)} binary is not installed locally. ` +
|
|
139
|
+
'Run "ccs cliproxy install" when you have network access.', binaryPath);
|
|
137
140
|
}
|
|
138
141
|
// Only log download intent when a download will actually happen
|
|
139
142
|
log('Binary not found, downloading...', verbose);
|
|
@@ -156,7 +159,7 @@ async function ensureBinary(config) {
|
|
|
156
159
|
else {
|
|
157
160
|
log(`Force version mode: using specified version ${config.version}`, verbose);
|
|
158
161
|
}
|
|
159
|
-
await (
|
|
162
|
+
await downloadAndInstallFn(config, verbose);
|
|
160
163
|
return binaryPath;
|
|
161
164
|
}
|
|
162
165
|
exports.ensureBinary = ensureBinary;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../src/cliproxy/binary/lifecycle.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AAEzB,uDAK2B;AAC3B,
|
|
1
|
+
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../src/cliproxy/binary/lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,7 @@ export declare function getStoredConfiguredBackend(): CLIProxyBackend;
|
|
|
27
27
|
* community fork instead of degrading to original.
|
|
28
28
|
*/
|
|
29
29
|
export declare function getConfiguredBackend(options?: ResolveLocalBackendOptions): CLIProxyBackend;
|
|
30
|
+
export declare function withCliproxyInstallLifecycleLock<T>(backend: CLIProxyBackend, operation: () => Promise<T>): Promise<T>;
|
|
30
31
|
/**
|
|
31
32
|
* Binary Manager class for CLIProxyAPI binary lifecycle
|
|
32
33
|
*/
|
|
@@ -49,6 +50,7 @@ export declare class BinaryManager {
|
|
|
49
50
|
}
|
|
50
51
|
export interface EnsureCLIProxyBinaryOptions {
|
|
51
52
|
allowInstall?: boolean;
|
|
53
|
+
backend?: CLIProxyBackend;
|
|
52
54
|
skipAutoUpdate?: boolean;
|
|
53
55
|
}
|
|
54
56
|
/** Convenience function respecting version pin */
|
|
@@ -66,6 +68,7 @@ interface InstallCliproxyVersionDeps {
|
|
|
66
68
|
formatInfo?: typeof info;
|
|
67
69
|
formatWarn?: typeof warn;
|
|
68
70
|
getInstalledVersion?: typeof getInstalledCliproxyVersion;
|
|
71
|
+
withInstallLifecycleLockFn?: typeof withCliproxyInstallLifecycleLock;
|
|
69
72
|
}
|
|
70
73
|
/** Install a specific version of CLIProxyAPI */
|
|
71
74
|
export declare function installCliproxyVersion(version: string, verbose?: boolean, backend?: CLIProxyBackend, deps?: InstallCliproxyVersionDeps): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary-manager.d.ts","sourceRoot":"","sources":["../../src/cliproxy/binary-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAO1D,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EACL,iBAAiB,EAOjB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EAGjB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"binary-manager.d.ts","sourceRoot":"","sources":["../../src/cliproxy/binary-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
29
29
|
return result;
|
|
30
30
|
};
|
|
31
31
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
|
-
exports.migrateVersionPin = exports.isVersionPinned = exports.clearPinnedVersion = exports.savePinnedVersion = exports.getPinnedVersion = exports.getVersionPinPath = exports.checkCliproxyUpdate = exports.fetchLatestCliproxyVersion = exports.installCliproxyVersion = exports.getInstalledCliproxyVersion = exports.getCLIProxyPath = exports.isCLIProxyInstalled = exports.ensureCLIProxyBinary = exports.BinaryManager = exports.getConfiguredBackend = exports.getStoredConfiguredBackend = exports.resolveLocalBackend = exports.syncPlusFallbackStateIfNeeded = exports.getPlusBackendUnavailableMessage = exports.CLIPROXY_PLUS_TRACKING_URL = exports.CLIPROXY_PLUS_FORK_URL = exports.CLIPROXY_PLUS_FALLBACK_TRACKING_URL = exports.CLIPROXY_DELETED_PLUS_REPO = void 0;
|
|
32
|
+
exports.migrateVersionPin = exports.isVersionPinned = exports.clearPinnedVersion = exports.savePinnedVersion = exports.getPinnedVersion = exports.getVersionPinPath = exports.checkCliproxyUpdate = exports.fetchLatestCliproxyVersion = exports.installCliproxyVersion = exports.getInstalledCliproxyVersion = exports.getCLIProxyPath = exports.isCLIProxyInstalled = exports.ensureCLIProxyBinary = exports.BinaryManager = exports.withCliproxyInstallLifecycleLock = exports.getConfiguredBackend = exports.getStoredConfiguredBackend = exports.resolveLocalBackend = exports.syncPlusFallbackStateIfNeeded = exports.getPlusBackendUnavailableMessage = exports.CLIPROXY_PLUS_TRACKING_URL = exports.CLIPROXY_PLUS_FORK_URL = exports.CLIPROXY_PLUS_FALLBACK_TRACKING_URL = exports.CLIPROXY_DELETED_PLUS_REPO = void 0;
|
|
33
33
|
const fs = __importStar(require("fs"));
|
|
34
34
|
const path = __importStar(require("path"));
|
|
35
35
|
const ui_1 = require("../utils/ui");
|
|
@@ -47,6 +47,7 @@ Object.defineProperty(exports, "getVersionPinPath", { enumerable: true, get: fun
|
|
|
47
47
|
Object.defineProperty(exports, "migrateVersionPin", { enumerable: true, get: function () { return binary_1.migrateVersionPin; } });
|
|
48
48
|
const version_cache_1 = require("./binary/version-cache");
|
|
49
49
|
const config_loader_facade_1 = require("../config/config-loader-facade");
|
|
50
|
+
const install_lifecycle_lock_1 = require("./binary/install-lifecycle-lock");
|
|
50
51
|
exports.CLIPROXY_DELETED_PLUS_REPO = 'router-for-me/CLIProxyAPIPlus';
|
|
51
52
|
exports.CLIPROXY_PLUS_FALLBACK_TRACKING_URL = 'https://github.com/kaitranntt/ccs/issues/1062';
|
|
52
53
|
exports.CLIPROXY_PLUS_FORK_URL = 'https://github.com/kaitranntt/CLIProxyAPIPlus';
|
|
@@ -153,6 +154,11 @@ function getBackendBinDir(backend = platform_detector_1.DEFAULT_BACKEND) {
|
|
|
153
154
|
const baseDir = (0, config_generator_1.getBinDir)();
|
|
154
155
|
return `${baseDir}/${backend}`;
|
|
155
156
|
}
|
|
157
|
+
async function withCliproxyInstallLifecycleLock(backend, operation) {
|
|
158
|
+
const lockTarget = path.join((0, config_generator_1.getBinDir)(), `.install-lifecycle-${backend}`);
|
|
159
|
+
return (0, install_lifecycle_lock_1.withInstallLifecycleLock)(lockTarget, operation);
|
|
160
|
+
}
|
|
161
|
+
exports.withCliproxyInstallLifecycleLock = withCliproxyInstallLifecycleLock;
|
|
156
162
|
/** Default configuration (uses backend from config.yaml or defaults to `DEFAULT_BACKEND`) */
|
|
157
163
|
function createDefaultConfig(backend = platform_detector_1.DEFAULT_BACKEND) {
|
|
158
164
|
const backendConfig = platform_detector_1.BACKEND_CONFIG[backend];
|
|
@@ -163,6 +169,7 @@ function createDefaultConfig(backend = platform_detector_1.DEFAULT_BACKEND) {
|
|
|
163
169
|
maxRetries: 3,
|
|
164
170
|
verbose: false,
|
|
165
171
|
forceVersion: false,
|
|
172
|
+
replaceExisting: false,
|
|
166
173
|
skipAutoUpdate: false,
|
|
167
174
|
allowInstall: true,
|
|
168
175
|
backend, // Pass backend for installer to use correct download URL
|
|
@@ -206,7 +213,7 @@ class BinaryManager {
|
|
|
206
213
|
exports.BinaryManager = BinaryManager;
|
|
207
214
|
/** Convenience function respecting version pin */
|
|
208
215
|
async function ensureCLIProxyBinary(verbose = false, options = {}) {
|
|
209
|
-
const configuredBackend = getConfiguredOrDefaultBackend();
|
|
216
|
+
const configuredBackend = options.backend ?? getConfiguredOrDefaultBackend();
|
|
210
217
|
const backend = resolveLocalBackend(configuredBackend, { notifyOnPlus: true });
|
|
211
218
|
// Migrate old shared pin to backend-specific location (one-time migration)
|
|
212
219
|
(0, binary_1.migrateVersionPin)(backend);
|
|
@@ -254,39 +261,34 @@ exports.getInstalledCliproxyVersion = getInstalledCliproxyVersion;
|
|
|
254
261
|
async function installCliproxyVersion(version, verbose = false, backend, deps = {}) {
|
|
255
262
|
const configuredBackend = backend ?? getConfiguredOrDefaultBackend();
|
|
256
263
|
const effectiveBackend = resolveLocalBackend(configuredBackend, { notifyOnPlus: true });
|
|
257
|
-
const manager = deps.createManager?.({ version, verbose, forceVersion: true }, effectiveBackend) ??
|
|
258
|
-
new BinaryManager({ version, verbose, forceVersion: true }, effectiveBackend);
|
|
264
|
+
const manager = deps.createManager?.({ version, verbose, forceVersion: true, replaceExisting: true }, effectiveBackend) ??
|
|
265
|
+
new BinaryManager({ version, verbose, forceVersion: true, replaceExisting: true }, effectiveBackend);
|
|
259
266
|
const stopProxyFn = deps.stopProxyFn ?? proxy_lifecycle_service_1.stopProxy;
|
|
260
267
|
const waitForPortFreeFn = deps.waitForPortFreeFn ?? port_utils_1.waitForPortFree;
|
|
261
268
|
const formatInfo = deps.formatInfo ?? ui_1.info;
|
|
262
269
|
const formatWarn = deps.formatWarn ?? ui_1.warn;
|
|
263
|
-
const
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
console.log(formatInfo('Stopping running CLIProxy before update...'));
|
|
268
|
-
const result = await stopProxyFn();
|
|
269
|
-
if (result.stopped) {
|
|
270
|
-
const stoppedPort = result.port ?? (0, port_manager_1.resolveLifecyclePort)();
|
|
271
|
-
// Wait for port to be fully released
|
|
272
|
-
const portFree = await waitForPortFreeFn(stoppedPort, 5000);
|
|
273
|
-
if (!portFree && verbose) {
|
|
274
|
-
console.log(formatWarn('Port did not free up in time, proceeding anyway...'));
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
else if (verbose && result.error && result.error !== 'No active CLIProxy session found') {
|
|
278
|
-
console.log(formatWarn(`Could not stop proxy: ${result.error}`));
|
|
279
|
-
}
|
|
280
|
-
if (manager.isBinaryInstalled()) {
|
|
281
|
-
const label = effectiveBackend === 'plus' ? 'CLIProxy Plus' : 'CLIProxy';
|
|
270
|
+
const withLifecycleLock = deps.withInstallLifecycleLockFn ?? withCliproxyInstallLifecycleLock;
|
|
271
|
+
await withLifecycleLock(effectiveBackend, async () => {
|
|
272
|
+
// Always attempt a best-effort stop first so we also catch untracked proxies
|
|
273
|
+
// that are running without a session lock.
|
|
282
274
|
if (verbose)
|
|
283
|
-
console.log(formatInfo(
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
275
|
+
console.log(formatInfo('Stopping running CLIProxy before update...'));
|
|
276
|
+
const result = await stopProxyFn();
|
|
277
|
+
if (result.stopped) {
|
|
278
|
+
const stoppedPort = result.port ?? (0, port_manager_1.resolveLifecyclePort)();
|
|
279
|
+
const portFree = await waitForPortFreeFn(stoppedPort, 5000);
|
|
280
|
+
if (!portFree && verbose) {
|
|
281
|
+
console.log(formatWarn('Port did not free up in time, proceeding anyway...'));
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
else if (verbose && result.error && result.error !== 'No active CLIProxy session found') {
|
|
285
|
+
console.log(formatWarn(`Could not stop proxy: ${result.error}`));
|
|
286
|
+
}
|
|
287
|
+
await manager.ensureBinary();
|
|
288
|
+
if (verbose) {
|
|
289
|
+
console.log(formatInfo('New version will be active on next CLIProxy command'));
|
|
290
|
+
}
|
|
291
|
+
});
|
|
290
292
|
}
|
|
291
293
|
exports.installCliproxyVersion = installCliproxyVersion;
|
|
292
294
|
/** Fetch the latest CLIProxyAPI version from GitHub API */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary-manager.js","sourceRoot":"","sources":["../../src/cliproxy/binary-manager.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAC7B,oCAAyC;AACzC,gEAAsD;AACtD,wDAA6D;AAE7D,kEAKoC;AACpC,gFAA+D;AAC/D,oDAAsD;AAEtD,qCAgBkB;
|
|
1
|
+
{"version":3,"file":"binary-manager.js","sourceRoot":"","sources":["../../src/cliproxy/binary-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,11 @@
|
|
|
7
7
|
import type { CLIProxyProvider, ProviderModelMapping } from '../types';
|
|
8
8
|
import type { CompositeTierConfig } from '../../config/unified-config-types';
|
|
9
9
|
export { buildCliproxyProviderPath, buildLocalProviderBaseUrl } from './provider-route';
|
|
10
|
+
/**
|
|
11
|
+
* Add Claude Code's auto-compact window for a known effective model.
|
|
12
|
+
* Existing env keys win by presence, including an explicit empty value.
|
|
13
|
+
*/
|
|
14
|
+
export declare function applyClaudeAutoCompactWindow(envVars: NodeJS.ProcessEnv, provider: CLIProxyProvider): NodeJS.ProcessEnv;
|
|
10
15
|
/** Remote proxy configuration for URL rewriting */
|
|
11
16
|
export interface RemoteProxyRewriteConfig {
|
|
12
17
|
host: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-builder.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/config/env-builder.ts"],"names":[],"mappings":"AAAA;;;GAGG;;;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAMvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"env-builder.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/config/env-builder.ts"],"names":[],"mappings":"AAAA;;;GAGG;;;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAMvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AA6B7E,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAmCxF;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,MAAM,CAAC,UAAU,EAC1B,QAAQ,EAAE,gBAAgB,GACzB,MAAM,CAAC,UAAU,CAiBnB;AAwHD,mDAAmD;AACnD,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,gBAAgB,GAAG,oBAAoB,CAEhF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,GAAE,MAA8B,GACnC,MAAM,CAAC,UAAU,CAsCnB;AAyBD;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CA4B9E;AAqID;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,GAAE,MAA8B,EACpC,kBAAkB,CAAC,EAAE,MAAM,EAC3B,mBAAmB,CAAC,EAAE,wBAAwB,GAC7C,MAAM,CAAC,UAAU,CA4EnB;AA8FD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAyIvE;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,gBAAgB,EAC1B,YAAY,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,EAC7F,kBAAkB,CAAC,EAAE,MAAM,GAC1B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA+GxB;AAED,qEAAqE;AACrE,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAC;IAAC,KAAK,EAAE,mBAAmB,CAAA;CAAE,EAC7F,WAAW,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,EACxC,IAAI,GAAE,MAA8B,EACpC,kBAAkB,CAAC,EAAE,MAAM,EAC3B,YAAY,CAAC,EAAE,qBAAqB,GACnC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiFxB"}
|
|
@@ -27,7 +27,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
27
27
|
return result;
|
|
28
28
|
};
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
-
exports.getCompositeEnvVars = exports.getRemoteEnvVars = exports.ensureProviderSettings = exports.getEffectiveEnvVars = exports.resolveProviderSettingsPath = exports.getClaudeEnvVars = exports.getModelMapping = exports.buildLocalProviderBaseUrl = exports.buildCliproxyProviderPath = void 0;
|
|
30
|
+
exports.getCompositeEnvVars = exports.getRemoteEnvVars = exports.ensureProviderSettings = exports.getEffectiveEnvVars = exports.resolveProviderSettingsPath = exports.getClaudeEnvVars = exports.getModelMapping = exports.applyClaudeAutoCompactWindow = exports.buildLocalProviderBaseUrl = exports.buildCliproxyProviderPath = void 0;
|
|
31
31
|
const fs = __importStar(require("fs"));
|
|
32
32
|
const path = __importStar(require("path"));
|
|
33
33
|
const base_config_loader_1 = require("../config/base-config-loader");
|
|
@@ -40,6 +40,7 @@ const model_id_normalizer_1 = require("../ai-providers/model-id-normalizer");
|
|
|
40
40
|
const config_loader_facade_1 = require("../../config/config-loader-facade");
|
|
41
41
|
const provider_route_1 = require("./provider-route");
|
|
42
42
|
const error_types_1 = require("../../errors/error-types");
|
|
43
|
+
const model_catalog_1 = require("../model-catalog");
|
|
43
44
|
var provider_route_2 = require("./provider-route");
|
|
44
45
|
Object.defineProperty(exports, "buildCliproxyProviderPath", { enumerable: true, get: function () { return provider_route_2.buildCliproxyProviderPath; } });
|
|
45
46
|
Object.defineProperty(exports, "buildLocalProviderBaseUrl", { enumerable: true, get: function () { return provider_route_2.buildLocalProviderBaseUrl; } });
|
|
@@ -63,9 +64,31 @@ const CURSOR_LEGACY_ENV_OVERRIDE_KEYS = new Set([
|
|
|
63
64
|
'ANTHROPIC_AUTH_TOKEN',
|
|
64
65
|
'ANTHROPIC_API_KEY',
|
|
65
66
|
]);
|
|
67
|
+
const CLAUDE_AUTO_COMPACT_WINDOW_ENV = 'CLAUDE_CODE_AUTO_COMPACT_WINDOW';
|
|
66
68
|
function isObjectRecord(value) {
|
|
67
69
|
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
68
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* Add Claude Code's auto-compact window for a known effective model.
|
|
73
|
+
* Existing env keys win by presence, including an explicit empty value.
|
|
74
|
+
*/
|
|
75
|
+
function applyClaudeAutoCompactWindow(envVars, provider) {
|
|
76
|
+
if (Object.prototype.hasOwnProperty.call(envVars, CLAUDE_AUTO_COMPACT_WINDOW_ENV)) {
|
|
77
|
+
return envVars;
|
|
78
|
+
}
|
|
79
|
+
const modelId = envVars.ANTHROPIC_MODEL;
|
|
80
|
+
if (typeof modelId !== 'string' || modelId.trim().length === 0)
|
|
81
|
+
return envVars;
|
|
82
|
+
const contextWindow = (0, model_catalog_1.findModel)(provider, modelId)?.contextWindow;
|
|
83
|
+
if (typeof contextWindow !== 'number' || !Number.isInteger(contextWindow) || contextWindow <= 0) {
|
|
84
|
+
return envVars;
|
|
85
|
+
}
|
|
86
|
+
return {
|
|
87
|
+
...envVars,
|
|
88
|
+
[CLAUDE_AUTO_COMPACT_WINDOW_ENV]: String(contextWindow),
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
exports.applyClaudeAutoCompactWindow = applyClaudeAutoCompactWindow;
|
|
69
92
|
/**
|
|
70
93
|
* Migrate deprecated gemini-claude-* model names to upstream claude-* names in a settings file.
|
|
71
94
|
* CLIProxyAPI registry no longer recognizes the gemini-claude-* prefix convention.
|