@kaitranntt/ccs 6.7.0-dev.5 → 6.7.1-dev.1
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 +45 -23
- package/dist/api/index.d.ts +7 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +24 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/services/index.d.ts +10 -0
- package/dist/api/services/index.d.ts.map +1 -0
- package/dist/api/services/index.js +26 -0
- package/dist/api/services/index.js.map +1 -0
- package/dist/api/services/profile-reader.d.ts +28 -0
- package/dist/api/services/profile-reader.d.ts.map +1 -0
- package/dist/api/services/profile-reader.js +148 -0
- package/dist/api/services/profile-reader.js.map +1 -0
- package/dist/api/services/profile-types.d.ts +42 -0
- package/dist/api/services/profile-types.d.ts.map +1 -0
- package/dist/api/services/profile-types.js +8 -0
- package/dist/api/services/profile-types.js.map +1 -0
- package/dist/api/services/profile-writer.d.ts +6 -0
- package/dist/api/services/profile-writer.d.ts.map +1 -0
- package/dist/api/services/profile-writer.js +176 -0
- package/dist/api/services/profile-writer.js.map +1 -0
- package/dist/api/services/validation-service.d.ts +26 -0
- package/dist/api/services/validation-service.d.ts.map +1 -0
- package/dist/api/services/validation-service.js +77 -0
- package/dist/api/services/validation-service.js.map +1 -0
- package/dist/auth/auth-commands.d.ts +16 -22
- package/dist/auth/auth-commands.d.ts.map +1 -1
- package/dist/auth/auth-commands.js +29 -467
- package/dist/auth/auth-commands.js.map +1 -1
- package/dist/auth/commands/create-command.d.ts +11 -0
- package/dist/auth/commands/create-command.d.ts.map +1 -0
- package/dist/auth/commands/create-command.js +137 -0
- package/dist/auth/commands/create-command.js.map +1 -0
- package/dist/auth/commands/default-command.d.ts +15 -0
- package/dist/auth/commands/default-command.d.ts.map +1 -0
- package/dist/auth/commands/default-command.js +71 -0
- package/dist/auth/commands/default-command.js.map +1 -0
- package/dist/auth/commands/index.d.ts +12 -0
- package/dist/auth/commands/index.d.ts.map +1 -0
- package/dist/auth/commands/index.js +25 -0
- package/dist/auth/commands/index.js.map +1 -0
- package/dist/auth/commands/list-command.d.ts +11 -0
- package/dist/auth/commands/list-command.d.ts.map +1 -0
- package/dist/auth/commands/list-command.js +124 -0
- package/dist/auth/commands/list-command.js.map +1 -0
- package/dist/auth/commands/remove-command.d.ts +11 -0
- package/dist/auth/commands/remove-command.d.ts.map +1 -0
- package/dist/auth/commands/remove-command.js +102 -0
- package/dist/auth/commands/remove-command.js.map +1 -0
- package/dist/auth/commands/show-command.d.ts +11 -0
- package/dist/auth/commands/show-command.d.ts.map +1 -0
- package/dist/auth/commands/show-command.js +103 -0
- package/dist/auth/commands/show-command.js.map +1 -0
- package/dist/auth/commands/types.d.ts +50 -0
- package/dist/auth/commands/types.d.ts.map +1 -0
- package/dist/auth/commands/types.js +26 -0
- package/dist/auth/commands/types.js.map +1 -0
- package/dist/auth/index.d.ts +8 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +16 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/profile-detector.d.ts +0 -5
- package/dist/auth/profile-detector.d.ts.map +1 -1
- package/dist/auth/profile-detector.js +1 -9
- package/dist/auth/profile-detector.js.map +1 -1
- package/dist/auth/profile-registry.d.ts +0 -4
- package/dist/auth/profile-registry.d.ts.map +1 -1
- package/dist/auth/profile-registry.js +3 -10
- package/dist/auth/profile-registry.js.map +1 -1
- package/dist/ccs.js +21 -4
- package/dist/ccs.js.map +1 -1
- package/dist/cliproxy/auth/auth-types.d.ts +85 -0
- package/dist/cliproxy/auth/auth-types.d.ts.map +1 -0
- package/dist/cliproxy/auth/auth-types.js +100 -0
- package/dist/cliproxy/auth/auth-types.js.map +1 -0
- package/dist/cliproxy/auth/environment-detector.d.ts +30 -0
- package/dist/cliproxy/auth/environment-detector.d.ts.map +1 -0
- package/dist/cliproxy/auth/environment-detector.js +124 -0
- package/dist/cliproxy/auth/environment-detector.js.map +1 -0
- package/dist/cliproxy/auth/index.d.ts +11 -0
- package/dist/cliproxy/auth/index.d.ts.map +1 -0
- package/dist/cliproxy/auth/index.js +35 -0
- package/dist/cliproxy/auth/index.js.map +1 -0
- package/dist/cliproxy/auth/oauth-handler.d.ts +29 -0
- package/dist/cliproxy/auth/oauth-handler.d.ts.map +1 -0
- package/dist/cliproxy/auth/oauth-handler.js +205 -0
- package/dist/cliproxy/auth/oauth-handler.js.map +1 -0
- package/dist/cliproxy/auth/oauth-process.d.ts +27 -0
- package/dist/cliproxy/auth/oauth-process.d.ts.map +1 -0
- package/dist/cliproxy/auth/oauth-process.js +209 -0
- package/dist/cliproxy/auth/oauth-process.js.map +1 -0
- package/dist/cliproxy/auth/token-manager.d.ts +53 -0
- package/dist/cliproxy/auth/token-manager.d.ts.map +1 -0
- package/dist/cliproxy/auth/token-manager.js +250 -0
- package/dist/cliproxy/auth/token-manager.js.map +1 -0
- package/dist/cliproxy/auth-handler.d.ts +13 -103
- package/dist/cliproxy/auth-handler.d.ts.map +1 -1
- package/dist/cliproxy/auth-handler.js +35 -766
- package/dist/cliproxy/auth-handler.js.map +1 -1
- package/dist/cliproxy/binary/downloader.d.ts +29 -0
- package/dist/cliproxy/binary/downloader.d.ts.map +1 -0
- package/dist/cliproxy/binary/downloader.js +218 -0
- package/dist/cliproxy/binary/downloader.js.map +1 -0
- package/dist/cliproxy/binary/extractor.d.ts +12 -0
- package/dist/cliproxy/binary/extractor.d.ts.map +1 -0
- package/dist/cliproxy/binary/extractor.js +27 -0
- package/dist/cliproxy/binary/extractor.js.map +1 -0
- package/dist/cliproxy/binary/index.d.ts +13 -0
- package/dist/cliproxy/binary/index.d.ts.map +1 -0
- package/dist/cliproxy/binary/index.js +53 -0
- package/dist/cliproxy/binary/index.js.map +1 -0
- package/dist/cliproxy/binary/installer.d.ts +24 -0
- package/dist/cliproxy/binary/installer.d.ts.map +1 -0
- package/dist/cliproxy/binary/installer.js +117 -0
- package/dist/cliproxy/binary/installer.js.map +1 -0
- package/dist/cliproxy/binary/lifecycle.d.ts +11 -0
- package/dist/cliproxy/binary/lifecycle.d.ts.map +1 -0
- package/dist/cliproxy/binary/lifecycle.js +106 -0
- package/dist/cliproxy/binary/lifecycle.js.map +1 -0
- package/dist/cliproxy/binary/tar-extractor.d.ts +9 -0
- package/dist/cliproxy/binary/tar-extractor.d.ts.map +1 -0
- package/dist/cliproxy/binary/tar-extractor.js +118 -0
- package/dist/cliproxy/binary/tar-extractor.js.map +1 -0
- package/dist/cliproxy/binary/types.d.ts +24 -0
- package/dist/cliproxy/binary/types.d.ts.map +1 -0
- package/dist/cliproxy/binary/types.js +14 -0
- package/dist/cliproxy/binary/types.js.map +1 -0
- package/dist/cliproxy/binary/updater.d.ts +7 -0
- package/dist/cliproxy/binary/updater.d.ts.map +1 -0
- package/dist/cliproxy/binary/updater.js +18 -0
- package/dist/cliproxy/binary/updater.js.map +1 -0
- package/dist/cliproxy/binary/verifier.d.ts +18 -0
- package/dist/cliproxy/binary/verifier.d.ts.map +1 -0
- package/dist/cliproxy/binary/verifier.js +82 -0
- package/dist/cliproxy/binary/verifier.js.map +1 -0
- package/dist/cliproxy/binary/version-cache.d.ts +46 -0
- package/dist/cliproxy/binary/version-cache.d.ts.map +1 -0
- package/dist/cliproxy/binary/version-cache.js +171 -0
- package/dist/cliproxy/binary/version-cache.js.map +1 -0
- package/dist/cliproxy/binary/version-checker.d.ts +19 -0
- package/dist/cliproxy/binary/version-checker.d.ts.map +1 -0
- package/dist/cliproxy/binary/version-checker.js +77 -0
- package/dist/cliproxy/binary/version-checker.js.map +1 -0
- package/dist/cliproxy/binary/zip-extractor.d.ts +9 -0
- package/dist/cliproxy/binary/zip-extractor.d.ts.map +1 -0
- package/dist/cliproxy/binary/zip-extractor.js +110 -0
- package/dist/cliproxy/binary/zip-extractor.js.map +1 -0
- package/dist/cliproxy/binary-manager.d.ts +16 -170
- package/dist/cliproxy/binary-manager.d.ts.map +1 -1
- package/dist/cliproxy/binary-manager.js +38 -865
- package/dist/cliproxy/binary-manager.js.map +1 -1
- package/dist/cliproxy/services/binary-service.d.ts +65 -0
- package/dist/cliproxy/services/binary-service.d.ts.map +1 -0
- package/dist/cliproxy/services/binary-service.js +140 -0
- package/dist/cliproxy/services/binary-service.js.map +1 -0
- package/dist/cliproxy/services/index.d.ts +8 -0
- package/dist/cliproxy/services/index.d.ts.map +1 -0
- package/dist/cliproxy/services/index.js +31 -0
- package/dist/cliproxy/services/index.js.map +1 -0
- package/dist/cliproxy/services/proxy-lifecycle-service.d.ts +38 -0
- package/dist/cliproxy/services/proxy-lifecycle-service.d.ts.map +1 -0
- package/dist/cliproxy/services/proxy-lifecycle-service.js +41 -0
- package/dist/cliproxy/services/proxy-lifecycle-service.js.map +1 -0
- package/dist/cliproxy/services/variant-config-adapter.d.ts +38 -0
- package/dist/cliproxy/services/variant-config-adapter.d.ts.map +1 -0
- package/dist/cliproxy/services/variant-config-adapter.js +172 -0
- package/dist/cliproxy/services/variant-config-adapter.js.map +1 -0
- package/dist/cliproxy/services/variant-service.d.ts +37 -0
- package/dist/cliproxy/services/variant-service.d.ts.map +1 -0
- package/dist/cliproxy/services/variant-service.js +128 -0
- package/dist/cliproxy/services/variant-service.js.map +1 -0
- package/dist/cliproxy/services/variant-settings.d.ts +32 -0
- package/dist/cliproxy/services/variant-settings.d.ts.map +1 -0
- package/dist/cliproxy/services/variant-settings.js +128 -0
- package/dist/cliproxy/services/variant-settings.js.map +1 -0
- package/dist/commands/api-command.d.ts +3 -6
- package/dist/commands/api-command.d.ts.map +1 -1
- package/dist/commands/api-command.js +84 -445
- package/dist/commands/api-command.js.map +1 -1
- package/dist/commands/cliproxy-command.d.ts +0 -3
- package/dist/commands/cliproxy-command.d.ts.map +1 -1
- package/dist/commands/cliproxy-command.js +182 -621
- package/dist/commands/cliproxy-command.js.map +1 -1
- package/dist/commands/index.d.ts +17 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +33 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/config/unified-config-loader.d.ts +7 -0
- package/dist/config/unified-config-loader.d.ts.map +1 -1
- package/dist/config/unified-config-loader.js +11 -1
- package/dist/config/unified-config-loader.js.map +1 -1
- package/dist/delegation/executor/index.d.ts +7 -0
- package/dist/delegation/executor/index.d.ts.map +1 -0
- package/dist/delegation/executor/index.js +28 -0
- package/dist/delegation/executor/index.js.map +1 -0
- package/dist/delegation/executor/result-aggregator.d.ts +30 -0
- package/dist/delegation/executor/result-aggregator.d.ts.map +1 -0
- package/dist/delegation/executor/result-aggregator.js +66 -0
- package/dist/delegation/executor/result-aggregator.js.map +1 -0
- package/dist/delegation/executor/stream-parser.d.ts +28 -0
- package/dist/delegation/executor/stream-parser.d.ts.map +1 -0
- package/dist/delegation/executor/stream-parser.js +140 -0
- package/dist/delegation/executor/stream-parser.js.map +1 -0
- package/dist/delegation/executor/types.d.ts +121 -0
- package/dist/delegation/executor/types.d.ts.map +1 -0
- package/dist/delegation/executor/types.js +6 -0
- package/dist/delegation/executor/types.js.map +1 -0
- package/dist/delegation/headless-executor.d.ts +13 -91
- package/dist/delegation/headless-executor.d.ts.map +1 -1
- package/dist/delegation/headless-executor.js +84 -291
- package/dist/delegation/headless-executor.js.map +1 -1
- package/dist/delegation/index.d.ts +11 -0
- package/dist/delegation/index.d.ts.map +1 -0
- package/dist/delegation/index.js +33 -0
- package/dist/delegation/index.js.map +1 -0
- package/dist/delegation/result-formatter.d.ts +1 -30
- package/dist/delegation/result-formatter.d.ts.map +1 -1
- package/dist/delegation/result-formatter.js.map +1 -1
- package/dist/errors/cleanup-registry.d.ts +64 -0
- package/dist/errors/cleanup-registry.d.ts.map +1 -0
- package/dist/errors/cleanup-registry.js +141 -0
- package/dist/errors/cleanup-registry.js.map +1 -0
- package/dist/errors/error-handler.d.ts +45 -0
- package/dist/errors/error-handler.d.ts.map +1 -0
- package/dist/errors/error-handler.js +150 -0
- package/dist/errors/error-handler.js.map +1 -0
- package/dist/errors/error-types.d.ts +102 -0
- package/dist/errors/error-types.d.ts.map +1 -0
- package/dist/errors/error-types.js +158 -0
- package/dist/errors/error-types.js.map +1 -0
- package/dist/errors/exit-codes.d.ts +49 -0
- package/dist/errors/exit-codes.d.ts.map +1 -0
- package/dist/errors/exit-codes.js +72 -0
- package/dist/errors/exit-codes.js.map +1 -0
- package/dist/errors/index.d.ts +29 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +62 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/glmt/glmt-transformer.d.ts +29 -248
- package/dist/glmt/glmt-transformer.d.ts.map +1 -1
- package/dist/glmt/glmt-transformer.js +63 -718
- package/dist/glmt/glmt-transformer.js.map +1 -1
- package/dist/glmt/index.d.ts +14 -0
- package/dist/glmt/index.d.ts.map +1 -0
- package/dist/glmt/index.js +41 -0
- package/dist/glmt/index.js.map +1 -0
- package/dist/glmt/pipeline/content-transformer.d.ts +39 -0
- package/dist/glmt/pipeline/content-transformer.d.ts.map +1 -0
- package/dist/glmt/pipeline/content-transformer.js +162 -0
- package/dist/glmt/pipeline/content-transformer.js.map +1 -0
- package/dist/glmt/pipeline/index.d.ts +12 -0
- package/dist/glmt/pipeline/index.d.ts.map +1 -0
- package/dist/glmt/pipeline/index.js +20 -0
- package/dist/glmt/pipeline/index.js.map +1 -0
- package/dist/glmt/pipeline/request-transformer.d.ts +31 -0
- package/dist/glmt/pipeline/request-transformer.d.ts.map +1 -0
- package/dist/glmt/pipeline/request-transformer.js +116 -0
- package/dist/glmt/pipeline/request-transformer.js.map +1 -0
- package/dist/glmt/pipeline/response-builder.d.ts +52 -0
- package/dist/glmt/pipeline/response-builder.d.ts.map +1 -0
- package/dist/glmt/pipeline/response-builder.js +205 -0
- package/dist/glmt/pipeline/response-builder.js.map +1 -0
- package/dist/glmt/pipeline/stream-parser.d.ts +59 -0
- package/dist/glmt/pipeline/stream-parser.d.ts.map +1 -0
- package/dist/glmt/pipeline/stream-parser.js +241 -0
- package/dist/glmt/pipeline/stream-parser.js.map +1 -0
- package/dist/glmt/pipeline/tool-call-handler.d.ts +22 -0
- package/dist/glmt/pipeline/tool-call-handler.d.ts.map +1 -0
- package/dist/glmt/pipeline/tool-call-handler.js +87 -0
- package/dist/glmt/pipeline/tool-call-handler.js.map +1 -0
- package/dist/glmt/pipeline/types.d.ts +159 -0
- package/dist/glmt/pipeline/types.d.ts.map +1 -0
- package/dist/glmt/pipeline/types.js +6 -0
- package/dist/glmt/pipeline/types.js.map +1 -0
- package/dist/management/checks/cliproxy-check.d.ts +37 -0
- package/dist/management/checks/cliproxy-check.d.ts.map +1 -0
- package/dist/management/checks/cliproxy-check.js +187 -0
- package/dist/management/checks/cliproxy-check.js.map +1 -0
- package/dist/management/checks/config-check.d.ts +27 -0
- package/dist/management/checks/config-check.d.ts.map +1 -0
- package/dist/management/checks/config-check.js +158 -0
- package/dist/management/checks/config-check.js.map +1 -0
- package/dist/management/checks/env-check.d.ts +17 -0
- package/dist/management/checks/env-check.d.ts.map +1 -0
- package/dist/management/checks/env-check.js +71 -0
- package/dist/management/checks/env-check.js.map +1 -0
- package/dist/management/checks/index.d.ts +12 -0
- package/dist/management/checks/index.d.ts.map +1 -0
- package/dist/management/checks/index.js +48 -0
- package/dist/management/checks/index.js.map +1 -0
- package/dist/management/checks/oauth-check.d.ts +16 -0
- package/dist/management/checks/oauth-check.d.ts.map +1 -0
- package/dist/management/checks/oauth-check.js +68 -0
- package/dist/management/checks/oauth-check.js.map +1 -0
- package/dist/management/checks/profile-check.d.ts +36 -0
- package/dist/management/checks/profile-check.d.ts.map +1 -0
- package/dist/management/checks/profile-check.js +165 -0
- package/dist/management/checks/profile-check.js.map +1 -0
- package/dist/management/checks/symlink-check.d.ts +30 -0
- package/dist/management/checks/symlink-check.d.ts.map +1 -0
- package/dist/management/checks/symlink-check.js +204 -0
- package/dist/management/checks/symlink-check.js.map +1 -0
- package/dist/management/checks/system-check.d.ts +25 -0
- package/dist/management/checks/system-check.d.ts.map +1 -0
- package/dist/management/checks/system-check.js +136 -0
- package/dist/management/checks/system-check.js.map +1 -0
- package/dist/management/checks/types.d.ts +64 -0
- package/dist/management/checks/types.d.ts.map +1 -0
- package/dist/management/checks/types.js +63 -0
- package/dist/management/checks/types.js.map +1 -0
- package/dist/management/doctor.d.ts +3 -92
- package/dist/management/doctor.d.ts.map +1 -1
- package/dist/management/doctor.js +15 -831
- package/dist/management/doctor.js.map +1 -1
- package/dist/management/index.d.ts +15 -0
- package/dist/management/index.d.ts.map +1 -0
- package/dist/management/index.js +56 -0
- package/dist/management/index.js.map +1 -0
- package/dist/management/repair/auto-repair.d.ts +13 -0
- package/dist/management/repair/auto-repair.d.ts.map +1 -0
- package/dist/management/repair/auto-repair.js +170 -0
- package/dist/management/repair/auto-repair.js.map +1 -0
- package/dist/management/repair/index.d.ts +5 -0
- package/dist/management/repair/index.d.ts.map +1 -0
- package/dist/management/repair/index.js +9 -0
- package/dist/management/repair/index.js.map +1 -0
- package/dist/types/delegation.d.ts +1 -13
- package/dist/types/delegation.d.ts.map +1 -1
- package/dist/types/utils.d.ts +27 -0
- package/dist/types/utils.d.ts.map +1 -1
- package/dist/ui/assets/{accounts-p1_nf0Jy.js → accounts-BqDNXZu4.js} +1 -1
- package/dist/ui/assets/analytics-DQMyOsqI.js +1 -0
- package/dist/ui/assets/api-Bzyq4XP7.js +1 -0
- package/dist/ui/assets/{card-CCDc-Mx9.js → card-CIN0KDsX.js} +1 -1
- package/dist/ui/assets/cliproxy-5iKdPrEG.js +3 -0
- package/dist/ui/assets/cliproxy-control-panel-CJ2CfYod.js +1 -0
- package/dist/ui/assets/{code-editor-Br9x-r-E.js → code-editor-CDmNFLQ6.js} +1 -1
- package/dist/ui/assets/confirm-dialog-CaiDQikc.js +1 -0
- package/dist/ui/assets/copilot-nS6iAyk2.js +4 -0
- package/dist/ui/assets/form-utils-DP6ILe7Z.js +20 -0
- package/dist/ui/assets/health-DYOQfC7u.js +1 -0
- package/dist/ui/assets/{icons-BOsxPbiD.js → icons-ZmwVoUeR.js} +1 -1
- package/dist/ui/assets/index-C6Dah-xh.js +46 -0
- package/dist/ui/assets/index-It66SkKf.css +1 -0
- package/dist/ui/assets/{radix-ui-DFHQr9A5.js → radix-ui-CV3R9pD6.js} +3 -3
- package/dist/ui/assets/settings-DABC9b5G.js +1 -0
- package/dist/ui/assets/{shared-BfYhSN4-.js → shared-BwU4OKQc.js} +1 -1
- package/dist/ui/assets/{switch-CMk95lwf.js → switch-BQ6sBBUv.js} +1 -1
- package/dist/ui/assets/{tanstack-C4gT2P7V.js → tanstack-Df9bCj5R.js} +1 -1
- package/dist/ui/index.html +6 -6
- package/dist/utils/claude-spawner.d.ts +54 -0
- package/dist/utils/claude-spawner.d.ts.map +1 -0
- package/dist/utils/claude-spawner.js +118 -0
- package/dist/utils/claude-spawner.js.map +1 -0
- package/dist/utils/delegation-validator.d.ts +8 -4
- package/dist/utils/delegation-validator.d.ts.map +1 -1
- package/dist/utils/delegation-validator.js.map +1 -1
- package/dist/utils/helpers.d.ts +0 -11
- package/dist/utils/helpers.d.ts.map +1 -1
- package/dist/utils/helpers.js +1 -57
- package/dist/utils/helpers.js.map +1 -1
- package/dist/utils/index.d.ts +15 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +50 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/time.d.ts +10 -0
- package/dist/utils/time.d.ts.map +1 -0
- package/dist/utils/time.js +27 -0
- package/dist/utils/time.js.map +1 -0
- package/dist/utils/ui/boxes.d.ts +24 -0
- package/dist/utils/ui/boxes.d.ts.map +1 -0
- package/dist/utils/ui/boxes.js +108 -0
- package/dist/utils/ui/boxes.js.map +1 -0
- package/dist/utils/ui/colors.d.ts +25 -0
- package/dist/utils/ui/colors.d.ts.map +1 -0
- package/dist/utils/ui/colors.js +70 -0
- package/dist/utils/ui/colors.js.map +1 -0
- package/dist/utils/ui/index.d.ts +51 -0
- package/dist/utils/ui/index.d.ts.map +1 -0
- package/dist/utils/ui/index.js +96 -0
- package/dist/utils/ui/index.js.map +1 -0
- package/dist/utils/ui/indicators.d.ts +23 -0
- package/dist/utils/ui/indicators.d.ts.map +1 -0
- package/dist/utils/ui/indicators.js +39 -0
- package/dist/utils/ui/indicators.js.map +1 -0
- package/dist/utils/ui/init.d.ts +30 -0
- package/dist/utils/ui/init.d.ts.map +1 -0
- package/dist/utils/ui/init.js +102 -0
- package/dist/utils/ui/init.js.map +1 -0
- package/dist/utils/ui/spinner.d.ts +13 -0
- package/dist/utils/ui/spinner.d.ts.map +1 -0
- package/dist/utils/ui/spinner.js +89 -0
- package/dist/utils/ui/spinner.js.map +1 -0
- package/dist/utils/ui/tables.d.ts +12 -0
- package/dist/utils/ui/tables.d.ts.map +1 -0
- package/dist/utils/ui/tables.js +69 -0
- package/dist/utils/ui/tables.js.map +1 -0
- package/dist/utils/ui/tasks.d.ts +26 -0
- package/dist/utils/ui/tasks.d.ts.map +1 -0
- package/dist/utils/ui/tasks.js +102 -0
- package/dist/utils/ui/tasks.js.map +1 -0
- package/dist/utils/ui/text.d.ts +24 -0
- package/dist/utils/ui/text.d.ts.map +1 -0
- package/dist/utils/ui/text.js +60 -0
- package/dist/utils/ui/text.js.map +1 -0
- package/dist/utils/ui/types.d.ts +36 -0
- package/dist/utils/ui/types.d.ts.map +1 -0
- package/dist/utils/ui/types.js +33 -0
- package/dist/utils/ui/types.js.map +1 -0
- package/dist/utils/ui.d.ts +3 -138
- package/dist/utils/ui.d.ts.map +1 -1
- package/dist/utils/ui.js +40 -567
- package/dist/utils/ui.js.map +1 -1
- package/dist/utils/websearch/gemini-cli.d.ts +36 -0
- package/dist/utils/websearch/gemini-cli.d.ts.map +1 -0
- package/dist/utils/websearch/gemini-cli.js +132 -0
- package/dist/utils/websearch/gemini-cli.js.map +1 -0
- package/dist/utils/websearch/grok-cli.d.ts +26 -0
- package/dist/utils/websearch/grok-cli.d.ts.map +1 -0
- package/dist/utils/websearch/grok-cli.js +81 -0
- package/dist/utils/websearch/grok-cli.js.map +1 -0
- package/dist/utils/websearch/hook-config.d.ts +21 -0
- package/dist/utils/websearch/hook-config.d.ts.map +1 -0
- package/dist/utils/websearch/hook-config.js +183 -0
- package/dist/utils/websearch/hook-config.js.map +1 -0
- package/dist/utils/websearch/hook-env.d.ts +16 -0
- package/dist/utils/websearch/hook-env.d.ts.map +1 -0
- package/dist/utils/websearch/hook-env.js +62 -0
- package/dist/utils/websearch/hook-env.js.map +1 -0
- package/dist/utils/websearch/hook-installer.d.ts +27 -0
- package/dist/utils/websearch/hook-installer.d.ts.map +1 -0
- package/dist/utils/websearch/hook-installer.js +141 -0
- package/dist/utils/websearch/hook-installer.js.map +1 -0
- package/dist/utils/websearch/index.d.ts +15 -0
- package/dist/utils/websearch/index.d.ts.map +1 -0
- package/dist/utils/websearch/index.js +44 -0
- package/dist/utils/websearch/index.js.map +1 -0
- package/dist/utils/websearch/opencode-cli.d.ts +26 -0
- package/dist/utils/websearch/opencode-cli.d.ts.map +1 -0
- package/dist/utils/websearch/opencode-cli.js +81 -0
- package/dist/utils/websearch/opencode-cli.js.map +1 -0
- package/dist/utils/websearch/status.d.ts +35 -0
- package/dist/utils/websearch/status.d.ts.map +1 -0
- package/dist/utils/websearch/status.js +185 -0
- package/dist/utils/websearch/status.js.map +1 -0
- package/dist/utils/websearch/types.d.ts +85 -0
- package/dist/utils/websearch/types.d.ts.map +1 -0
- package/dist/utils/websearch/types.js +10 -0
- package/dist/utils/websearch/types.js.map +1 -0
- package/dist/utils/websearch-manager.d.ts +7 -186
- package/dist/utils/websearch-manager.d.ts.map +1 -1
- package/dist/utils/websearch-manager.js +37 -710
- package/dist/utils/websearch-manager.js.map +1 -1
- package/dist/web-server/data-aggregator.d.ts +3 -51
- package/dist/web-server/data-aggregator.d.ts.map +1 -1
- package/dist/web-server/data-aggregator.js +18 -386
- package/dist/web-server/data-aggregator.js.map +1 -1
- package/dist/web-server/health/cliproxy-checks.d.ts +23 -0
- package/dist/web-server/health/cliproxy-checks.d.ts.map +1 -0
- package/dist/web-server/health/cliproxy-checks.js +145 -0
- package/dist/web-server/health/cliproxy-checks.js.map +1 -0
- package/dist/web-server/health/config-checks.d.ts +19 -0
- package/dist/web-server/health/config-checks.d.ts.map +1 -0
- package/dist/web-server/health/config-checks.js +174 -0
- package/dist/web-server/health/config-checks.js.map +1 -0
- package/dist/web-server/health/environment-checks.d.ts +11 -0
- package/dist/web-server/health/environment-checks.d.ts.map +1 -0
- package/dist/web-server/health/environment-checks.js +40 -0
- package/dist/web-server/health/environment-checks.js.map +1 -0
- package/dist/web-server/health/index.d.ts +13 -0
- package/dist/web-server/health/index.d.ts.map +1 -0
- package/dist/web-server/health/index.js +41 -0
- package/dist/web-server/health/index.js.map +1 -0
- package/dist/web-server/health/oauth-checks.d.ts +11 -0
- package/dist/web-server/health/oauth-checks.d.ts.map +1 -0
- package/dist/web-server/health/oauth-checks.js +34 -0
- package/dist/web-server/health/oauth-checks.js.map +1 -0
- package/dist/web-server/health/profile-checks.d.ts +19 -0
- package/dist/web-server/health/profile-checks.d.ts.map +1 -0
- package/dist/web-server/health/profile-checks.js +152 -0
- package/dist/web-server/health/profile-checks.js.map +1 -0
- package/dist/web-server/health/symlink-checks.d.ts +15 -0
- package/dist/web-server/health/symlink-checks.d.ts.map +1 -0
- package/dist/web-server/health/symlink-checks.js +173 -0
- package/dist/web-server/health/symlink-checks.js.map +1 -0
- package/dist/web-server/health/system-checks.d.ts +19 -0
- package/dist/web-server/health/system-checks.d.ts.map +1 -0
- package/dist/web-server/health/system-checks.js +127 -0
- package/dist/web-server/health/system-checks.js.map +1 -0
- package/dist/web-server/health/types.d.ts +34 -0
- package/dist/web-server/health/types.d.ts.map +1 -0
- package/dist/web-server/health/types.js +8 -0
- package/dist/web-server/health/types.js.map +1 -0
- package/dist/web-server/health/websearch-checks.d.ts +11 -0
- package/dist/web-server/health/websearch-checks.d.ts.map +1 -0
- package/dist/web-server/health/websearch-checks.js +53 -0
- package/dist/web-server/health/websearch-checks.js.map +1 -0
- package/dist/web-server/health-service.d.ts +4 -30
- package/dist/web-server/health-service.d.ts.map +1 -1
- package/dist/web-server/health-service.js +28 -695
- package/dist/web-server/health-service.js.map +1 -1
- package/dist/web-server/index.d.ts.map +1 -1
- package/dist/web-server/index.js +2 -5
- package/dist/web-server/index.js.map +1 -1
- package/dist/web-server/routes/cliproxy-auth-routes.d.ts +6 -0
- package/dist/web-server/routes/cliproxy-auth-routes.d.ts.map +1 -0
- package/dist/web-server/routes/cliproxy-auth-routes.js +202 -0
- package/dist/web-server/routes/cliproxy-auth-routes.js.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes.d.ts +6 -0
- package/dist/web-server/routes/cliproxy-stats-routes.d.ts.map +1 -0
- package/dist/web-server/routes/cliproxy-stats-routes.js +253 -0
- package/dist/web-server/routes/cliproxy-stats-routes.js.map +1 -0
- package/dist/web-server/routes/config-routes.d.ts +6 -0
- package/dist/web-server/routes/config-routes.d.ts.map +1 -0
- package/dist/web-server/routes/config-routes.js +145 -0
- package/dist/web-server/routes/config-routes.js.map +1 -0
- package/dist/web-server/routes/copilot-routes.d.ts +6 -0
- package/dist/web-server/routes/copilot-routes.d.ts.map +1 -0
- package/dist/web-server/routes/copilot-routes.js +195 -0
- package/dist/web-server/routes/copilot-routes.js.map +1 -0
- package/dist/web-server/routes/copilot-settings-routes.d.ts +6 -0
- package/dist/web-server/routes/copilot-settings-routes.d.ts.map +1 -0
- package/dist/web-server/routes/copilot-settings-routes.js +122 -0
- package/dist/web-server/routes/copilot-settings-routes.js.map +1 -0
- package/dist/web-server/routes/health-routes.d.ts +6 -0
- package/dist/web-server/routes/health-routes.d.ts.map +1 -0
- package/dist/web-server/routes/health-routes.js +30 -0
- package/dist/web-server/routes/health-routes.js.map +1 -0
- package/dist/web-server/routes/index.d.ts +8 -0
- package/dist/web-server/routes/index.d.ts.map +1 -0
- package/dist/web-server/routes/index.js +54 -0
- package/dist/web-server/routes/index.js.map +1 -0
- package/dist/web-server/routes/misc-routes.d.ts +6 -0
- package/dist/web-server/routes/misc-routes.d.ts.map +1 -0
- package/dist/web-server/routes/misc-routes.js +219 -0
- package/dist/web-server/routes/misc-routes.js.map +1 -0
- package/dist/web-server/routes/profile-routes.d.ts +6 -0
- package/dist/web-server/routes/profile-routes.d.ts.map +1 -0
- package/dist/web-server/routes/profile-routes.js +164 -0
- package/dist/web-server/routes/profile-routes.js.map +1 -0
- package/dist/web-server/routes/provider-routes.d.ts +6 -0
- package/dist/web-server/routes/provider-routes.d.ts.map +1 -0
- package/dist/web-server/routes/provider-routes.js +146 -0
- package/dist/web-server/routes/provider-routes.js.map +1 -0
- package/dist/web-server/routes/route-helpers.d.ts +55 -0
- package/dist/web-server/routes/route-helpers.d.ts.map +1 -0
- package/dist/web-server/routes/route-helpers.js +201 -0
- package/dist/web-server/routes/route-helpers.js.map +1 -0
- package/dist/web-server/routes/settings-routes.d.ts +6 -0
- package/dist/web-server/routes/settings-routes.d.ts.map +1 -0
- package/dist/web-server/routes/settings-routes.js +207 -0
- package/dist/web-server/routes/settings-routes.js.map +1 -0
- package/dist/web-server/routes/variant-routes.d.ts +6 -0
- package/dist/web-server/routes/variant-routes.d.ts.map +1 -0
- package/dist/web-server/routes/variant-routes.js +158 -0
- package/dist/web-server/routes/variant-routes.js.map +1 -0
- package/dist/web-server/routes/websearch-routes.d.ts +6 -0
- package/dist/web-server/routes/websearch-routes.d.ts.map +1 -0
- package/dist/web-server/routes/websearch-routes.js +130 -0
- package/dist/web-server/routes/websearch-routes.js.map +1 -0
- package/dist/web-server/services/index.d.ts +7 -0
- package/dist/web-server/services/index.d.ts.map +1 -0
- package/dist/web-server/services/index.js +21 -0
- package/dist/web-server/services/index.js.map +1 -0
- package/dist/web-server/services/usage-aggregator.d.ts +7 -0
- package/dist/web-server/services/usage-aggregator.d.ts.map +1 -0
- package/dist/web-server/services/usage-aggregator.js +23 -0
- package/dist/web-server/services/usage-aggregator.js.map +1 -0
- package/dist/web-server/usage/aggregator.d.ts +54 -0
- package/dist/web-server/usage/aggregator.d.ts.map +1 -0
- package/dist/web-server/usage/aggregator.js +470 -0
- package/dist/web-server/usage/aggregator.js.map +1 -0
- package/dist/web-server/usage/data-aggregator.d.ts +55 -0
- package/dist/web-server/usage/data-aggregator.d.ts.map +1 -0
- package/dist/web-server/usage/data-aggregator.js +391 -0
- package/dist/web-server/usage/data-aggregator.js.map +1 -0
- package/dist/web-server/usage/disk-cache.d.ts +46 -0
- package/dist/web-server/usage/disk-cache.d.ts.map +1 -0
- package/dist/web-server/usage/disk-cache.js +162 -0
- package/dist/web-server/usage/disk-cache.js.map +1 -0
- package/dist/web-server/usage/handlers.d.ts +50 -0
- package/dist/web-server/usage/handlers.d.ts.map +1 -0
- package/dist/web-server/usage/handlers.js +524 -0
- package/dist/web-server/usage/handlers.js.map +1 -0
- package/dist/web-server/usage/index.d.ts +12 -0
- package/dist/web-server/usage/index.d.ts.map +1 -0
- package/dist/web-server/usage/index.js +54 -0
- package/dist/web-server/usage/index.js.map +1 -0
- package/dist/web-server/usage/routes.d.ts +11 -0
- package/dist/web-server/usage/routes.d.ts.map +1 -0
- package/dist/web-server/usage/routes.js +37 -0
- package/dist/web-server/usage/routes.js.map +1 -0
- package/dist/web-server/usage/types.d.ts +119 -0
- package/dist/web-server/usage/types.d.ts.map +1 -0
- package/dist/web-server/usage/types.js +9 -0
- package/dist/web-server/usage/types.js.map +1 -0
- package/dist/web-server/usage-disk-cache.d.ts +3 -42
- package/dist/web-server/usage-disk-cache.d.ts.map +1 -1
- package/dist/web-server/usage-disk-cache.js +5 -144
- package/dist/web-server/usage-disk-cache.js.map +1 -1
- package/dist/web-server/usage-routes.d.ts +3 -31
- package/dist/web-server/usage-routes.d.ts.map +1 -1
- package/dist/web-server/usage-routes.js +8 -1139
- package/dist/web-server/usage-routes.js.map +1 -1
- package/dist/web-server/usage-types.d.ts +3 -115
- package/dist/web-server/usage-types.d.ts.map +1 -1
- package/dist/web-server/usage-types.js +17 -3
- package/dist/web-server/usage-types.js.map +1 -1
- package/package.json +1 -1
- package/dist/ui/assets/analytics-D1k2nYcF.js +0 -1
- package/dist/ui/assets/api-D9VVmZ1j.js +0 -1
- package/dist/ui/assets/cliproxy-CTt_Nsft.js +0 -1
- package/dist/ui/assets/cliproxy-control-panel-DKMAi4_4.js +0 -1
- package/dist/ui/assets/copilot-C6F8PT_L.js +0 -4
- package/dist/ui/assets/form-utils-BuXDJb0w.js +0 -20
- package/dist/ui/assets/health-DiAvJaSn.js +0 -1
- package/dist/ui/assets/index-Brq6EBKZ.css +0 -1
- package/dist/ui/assets/index-ByU8ZhED.js +0 -48
- package/dist/ui/assets/settings-CEomZLGl.js +0 -1
- package/dist/web-server/routes.d.ts +0 -7
- package/dist/web-server/routes.d.ts.map +0 -1
- package/dist/web-server/routes.js +0 -1891
- package/dist/web-server/routes.js.map +0 -1
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Version Cache Manager
|
|
4
|
+
* Handles reading/writing version cache to avoid excessive GitHub API calls.
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
+
}) : function(o, v) {
|
|
20
|
+
o["default"] = v;
|
|
21
|
+
});
|
|
22
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
23
|
+
if (mod && mod.__esModule) return mod;
|
|
24
|
+
var result = {};
|
|
25
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
26
|
+
__setModuleDefault(result, mod);
|
|
27
|
+
return result;
|
|
28
|
+
};
|
|
29
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
+
exports.isVersionPinned = exports.clearPinnedVersion = exports.savePinnedVersion = exports.getPinnedVersion = exports.writeInstalledVersion = exports.readInstalledVersion = exports.writeVersionCache = exports.readVersionCache = exports.getVersionPinPath = exports.getVersionCachePath = void 0;
|
|
31
|
+
const fs = __importStar(require("fs"));
|
|
32
|
+
const path = __importStar(require("path"));
|
|
33
|
+
const config_generator_1 = require("../config-generator");
|
|
34
|
+
const types_1 = require("./types");
|
|
35
|
+
/**
|
|
36
|
+
* Get path to version cache file
|
|
37
|
+
*/
|
|
38
|
+
function getVersionCachePath() {
|
|
39
|
+
return path.join((0, config_generator_1.getCliproxyDir)(), '.version-cache.json');
|
|
40
|
+
}
|
|
41
|
+
exports.getVersionCachePath = getVersionCachePath;
|
|
42
|
+
/**
|
|
43
|
+
* Get path to version pin file
|
|
44
|
+
*/
|
|
45
|
+
function getVersionPinPath() {
|
|
46
|
+
return path.join((0, config_generator_1.getBinDir)(), types_1.VERSION_PIN_FILE);
|
|
47
|
+
}
|
|
48
|
+
exports.getVersionPinPath = getVersionPinPath;
|
|
49
|
+
/**
|
|
50
|
+
* Read version cache if still valid
|
|
51
|
+
*/
|
|
52
|
+
function readVersionCache() {
|
|
53
|
+
const cachePath = getVersionCachePath();
|
|
54
|
+
if (!fs.existsSync(cachePath)) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
const content = fs.readFileSync(cachePath, 'utf8');
|
|
59
|
+
const cache = JSON.parse(content);
|
|
60
|
+
// Check if cache is still valid
|
|
61
|
+
if (Date.now() - cache.checkedAt < types_1.VERSION_CACHE_DURATION_MS) {
|
|
62
|
+
return cache;
|
|
63
|
+
}
|
|
64
|
+
// Cache expired
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.readVersionCache = readVersionCache;
|
|
72
|
+
/**
|
|
73
|
+
* Write version to cache
|
|
74
|
+
*/
|
|
75
|
+
function writeVersionCache(version) {
|
|
76
|
+
const cachePath = getVersionCachePath();
|
|
77
|
+
const cache = {
|
|
78
|
+
latestVersion: version,
|
|
79
|
+
checkedAt: Date.now(),
|
|
80
|
+
};
|
|
81
|
+
try {
|
|
82
|
+
fs.mkdirSync(path.dirname(cachePath), { recursive: true });
|
|
83
|
+
fs.writeFileSync(cachePath, JSON.stringify(cache), 'utf8');
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
// Silent fail - caching is optional
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
exports.writeVersionCache = writeVersionCache;
|
|
90
|
+
/**
|
|
91
|
+
* Read installed version from .version file
|
|
92
|
+
*/
|
|
93
|
+
function readInstalledVersion(binPath, fallbackVersion) {
|
|
94
|
+
const versionFile = path.join(binPath, '.version');
|
|
95
|
+
if (fs.existsSync(versionFile)) {
|
|
96
|
+
try {
|
|
97
|
+
return fs.readFileSync(versionFile, 'utf8').trim();
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
return fallbackVersion;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return fallbackVersion;
|
|
104
|
+
}
|
|
105
|
+
exports.readInstalledVersion = readInstalledVersion;
|
|
106
|
+
/**
|
|
107
|
+
* Write installed version to .version file
|
|
108
|
+
*/
|
|
109
|
+
function writeInstalledVersion(binPath, version) {
|
|
110
|
+
const versionFile = path.join(binPath, '.version');
|
|
111
|
+
try {
|
|
112
|
+
fs.writeFileSync(versionFile, version, 'utf8');
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
// Silent fail - not critical
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
exports.writeInstalledVersion = writeInstalledVersion;
|
|
119
|
+
/**
|
|
120
|
+
* Get pinned version if one exists
|
|
121
|
+
*/
|
|
122
|
+
function getPinnedVersion() {
|
|
123
|
+
const pinPath = getVersionPinPath();
|
|
124
|
+
if (!fs.existsSync(pinPath)) {
|
|
125
|
+
return null;
|
|
126
|
+
}
|
|
127
|
+
try {
|
|
128
|
+
return fs.readFileSync(pinPath, 'utf8').trim();
|
|
129
|
+
}
|
|
130
|
+
catch {
|
|
131
|
+
return null;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
exports.getPinnedVersion = getPinnedVersion;
|
|
135
|
+
/**
|
|
136
|
+
* Save pinned version to persist user's explicit choice
|
|
137
|
+
*/
|
|
138
|
+
function savePinnedVersion(version) {
|
|
139
|
+
const pinPath = getVersionPinPath();
|
|
140
|
+
try {
|
|
141
|
+
fs.mkdirSync(path.dirname(pinPath), { recursive: true });
|
|
142
|
+
fs.writeFileSync(pinPath, version, 'utf8');
|
|
143
|
+
}
|
|
144
|
+
catch {
|
|
145
|
+
// Silent fail - not critical
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
exports.savePinnedVersion = savePinnedVersion;
|
|
149
|
+
/**
|
|
150
|
+
* Clear pinned version (unpin)
|
|
151
|
+
*/
|
|
152
|
+
function clearPinnedVersion() {
|
|
153
|
+
const pinPath = getVersionPinPath();
|
|
154
|
+
if (fs.existsSync(pinPath)) {
|
|
155
|
+
try {
|
|
156
|
+
fs.unlinkSync(pinPath);
|
|
157
|
+
}
|
|
158
|
+
catch {
|
|
159
|
+
// Silent fail
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
exports.clearPinnedVersion = clearPinnedVersion;
|
|
164
|
+
/**
|
|
165
|
+
* Check if a version is currently pinned
|
|
166
|
+
*/
|
|
167
|
+
function isVersionPinned() {
|
|
168
|
+
return getPinnedVersion() !== null;
|
|
169
|
+
}
|
|
170
|
+
exports.isVersionPinned = isVersionPinned;
|
|
171
|
+
//# sourceMappingURL=version-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version-cache.js","sourceRoot":"","sources":["../../../src/cliproxy/binary/version-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Version Checker
|
|
3
|
+
* Handles checking GitHub API for latest version and comparing semver.
|
|
4
|
+
*/
|
|
5
|
+
import { UpdateCheckResult } from './types';
|
|
6
|
+
/**
|
|
7
|
+
* Compare semver versions (true if latest > current)
|
|
8
|
+
*/
|
|
9
|
+
export declare function isNewerVersion(latest: string, current: string): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Fetch latest version from GitHub API
|
|
12
|
+
*/
|
|
13
|
+
export declare function fetchLatestVersion(verbose?: boolean): Promise<string>;
|
|
14
|
+
/**
|
|
15
|
+
* Check for updates by comparing installed version with latest release
|
|
16
|
+
* Uses cache to avoid hitting GitHub API on every run
|
|
17
|
+
*/
|
|
18
|
+
export declare function checkForUpdates(binPath: string, configVersion: string, verbose?: boolean): Promise<UpdateCheckResult>;
|
|
19
|
+
//# sourceMappingURL=version-checker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version-checker.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/binary/version-checker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,iBAAiB,EAA6B,MAAM,SAAS,CAAC;AAEvE;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAcvE;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAUzE;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,OAAO,UAAQ,GACd,OAAO,CAAC,iBAAiB,CAAC,CA8B5B"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Version Checker
|
|
4
|
+
* Handles checking GitHub API for latest version and comparing semver.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.checkForUpdates = exports.fetchLatestVersion = exports.isNewerVersion = void 0;
|
|
8
|
+
const downloader_1 = require("./downloader");
|
|
9
|
+
const version_cache_1 = require("./version-cache");
|
|
10
|
+
const types_1 = require("./types");
|
|
11
|
+
/**
|
|
12
|
+
* Compare semver versions (true if latest > current)
|
|
13
|
+
*/
|
|
14
|
+
function isNewerVersion(latest, current) {
|
|
15
|
+
const latestParts = latest.split('.').map((p) => parseInt(p, 10) || 0);
|
|
16
|
+
const currentParts = current.split('.').map((p) => parseInt(p, 10) || 0);
|
|
17
|
+
// Pad arrays to same length
|
|
18
|
+
while (latestParts.length < 3)
|
|
19
|
+
latestParts.push(0);
|
|
20
|
+
while (currentParts.length < 3)
|
|
21
|
+
currentParts.push(0);
|
|
22
|
+
for (let i = 0; i < 3; i++) {
|
|
23
|
+
if (latestParts[i] > currentParts[i])
|
|
24
|
+
return true;
|
|
25
|
+
if (latestParts[i] < currentParts[i])
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
return false; // Equal versions
|
|
29
|
+
}
|
|
30
|
+
exports.isNewerVersion = isNewerVersion;
|
|
31
|
+
/**
|
|
32
|
+
* Fetch latest version from GitHub API
|
|
33
|
+
*/
|
|
34
|
+
async function fetchLatestVersion(verbose = false) {
|
|
35
|
+
const response = await (0, downloader_1.fetchJson)(types_1.GITHUB_API_LATEST_RELEASE, verbose);
|
|
36
|
+
// Extract version from tag_name (format: "v6.5.27" or "6.5.27")
|
|
37
|
+
const tagName = response.tag_name;
|
|
38
|
+
if (!tagName) {
|
|
39
|
+
throw new Error('No tag_name in GitHub API response');
|
|
40
|
+
}
|
|
41
|
+
return tagName.replace(/^v/, '');
|
|
42
|
+
}
|
|
43
|
+
exports.fetchLatestVersion = fetchLatestVersion;
|
|
44
|
+
/**
|
|
45
|
+
* Check for updates by comparing installed version with latest release
|
|
46
|
+
* Uses cache to avoid hitting GitHub API on every run
|
|
47
|
+
*/
|
|
48
|
+
async function checkForUpdates(binPath, configVersion, verbose = false) {
|
|
49
|
+
const currentVersion = (0, version_cache_1.readInstalledVersion)(binPath, configVersion);
|
|
50
|
+
// Try cache first
|
|
51
|
+
const cache = (0, version_cache_1.readVersionCache)();
|
|
52
|
+
if (cache) {
|
|
53
|
+
if (verbose) {
|
|
54
|
+
console.error(`[cliproxy] Using cached version: ${cache.latestVersion}`);
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
hasUpdate: isNewerVersion(cache.latestVersion, currentVersion),
|
|
58
|
+
currentVersion,
|
|
59
|
+
latestVersion: cache.latestVersion,
|
|
60
|
+
fromCache: true,
|
|
61
|
+
checkedAt: cache.checkedAt,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
// Fetch from GitHub API
|
|
65
|
+
const latestVersion = await fetchLatestVersion(verbose);
|
|
66
|
+
const now = Date.now();
|
|
67
|
+
(0, version_cache_1.writeVersionCache)(latestVersion);
|
|
68
|
+
return {
|
|
69
|
+
hasUpdate: isNewerVersion(latestVersion, currentVersion),
|
|
70
|
+
currentVersion,
|
|
71
|
+
latestVersion,
|
|
72
|
+
fromCache: false,
|
|
73
|
+
checkedAt: now,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
exports.checkForUpdates = checkForUpdates;
|
|
77
|
+
//# sourceMappingURL=version-checker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version-checker.js","sourceRoot":"","sources":["../../../src/cliproxy/binary/version-checker.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,6CAAyC;AACzC,mDAA4F;AAC5F,mCAAuE;AAEvE;;GAEG;AACH,SAAgB,cAAc,CAAC,MAAc,EAAE,OAAe;IAC5D,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEzE,4BAA4B;IAC5B,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC;QAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnD,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC;QAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAErD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAClD,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IACrD,CAAC;IAED,OAAO,KAAK,CAAC,CAAC,iBAAiB;AACjC,CAAC;AAdD,wCAcC;AAED;;GAEG;AACI,KAAK,UAAU,kBAAkB,CAAC,OAAO,GAAG,KAAK;IACtD,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAS,EAAC,iCAAyB,EAAE,OAAO,CAAC,CAAC;IAErE,gEAAgE;IAChE,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAkB,CAAC;IAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAVD,gDAUC;AAED;;;GAGG;AACI,KAAK,UAAU,eAAe,CACnC,OAAe,EACf,aAAqB,EACrB,OAAO,GAAG,KAAK;IAEf,MAAM,cAAc,GAAG,IAAA,oCAAoB,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAEpE,kBAAkB;IAClB,MAAM,KAAK,GAAG,IAAA,gCAAgB,GAAE,CAAC;IACjC,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,oCAAoC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO;YACL,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,aAAa,EAAE,cAAc,CAAC;YAC9D,cAAc;YACd,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,IAAA,iCAAiB,EAAC,aAAa,CAAC,CAAC;IAEjC,OAAO;QACL,SAAS,EAAE,cAAc,CAAC,aAAa,EAAE,cAAc,CAAC;QACxD,cAAc;QACd,aAAa;QACb,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,GAAG;KACf,CAAC;AACJ,CAAC;AAlCD,0CAkCC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zip Archive Extractor
|
|
3
|
+
* Handles extraction of zip archives using Node.js built-in modules.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Extract zip archive using Node.js (simple implementation)
|
|
7
|
+
*/
|
|
8
|
+
export declare function extractZip(archivePath: string, destDir: string, verbose?: boolean): Promise<void>;
|
|
9
|
+
//# sourceMappingURL=zip-extractor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zip-extractor.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/binary/zip-extractor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH;;GAEG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiF/F"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Zip Archive Extractor
|
|
4
|
+
* Handles extraction of zip archives using Node.js built-in modules.
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
+
}) : function(o, v) {
|
|
20
|
+
o["default"] = v;
|
|
21
|
+
});
|
|
22
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
23
|
+
if (mod && mod.__esModule) return mod;
|
|
24
|
+
var result = {};
|
|
25
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
26
|
+
__setModuleDefault(result, mod);
|
|
27
|
+
return result;
|
|
28
|
+
};
|
|
29
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
+
exports.extractZip = void 0;
|
|
31
|
+
const fs = __importStar(require("fs"));
|
|
32
|
+
const path = __importStar(require("path"));
|
|
33
|
+
const zlib = __importStar(require("zlib"));
|
|
34
|
+
const platform_detector_1 = require("../platform-detector");
|
|
35
|
+
/**
|
|
36
|
+
* Extract zip archive using Node.js (simple implementation)
|
|
37
|
+
*/
|
|
38
|
+
function extractZip(archivePath, destDir, verbose = false) {
|
|
39
|
+
return new Promise((resolve, reject) => {
|
|
40
|
+
const execName = (0, platform_detector_1.getExecutableName)();
|
|
41
|
+
const archiveBinaryName = (0, platform_detector_1.getArchiveBinaryName)();
|
|
42
|
+
const buffer = fs.readFileSync(archivePath);
|
|
43
|
+
// Find End of Central Directory record (EOCD)
|
|
44
|
+
let eocdOffset = buffer.length - 22;
|
|
45
|
+
while (eocdOffset >= 0) {
|
|
46
|
+
if (buffer.readUInt32LE(eocdOffset) === 0x06054b50)
|
|
47
|
+
break;
|
|
48
|
+
eocdOffset--;
|
|
49
|
+
}
|
|
50
|
+
if (eocdOffset < 0) {
|
|
51
|
+
reject(new Error('Invalid ZIP file: EOCD not found'));
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const centralDirOffset = buffer.readUInt32LE(eocdOffset + 16);
|
|
55
|
+
let offset = centralDirOffset;
|
|
56
|
+
while (offset < eocdOffset) {
|
|
57
|
+
const sig = buffer.readUInt32LE(offset);
|
|
58
|
+
if (sig !== 0x02014b50)
|
|
59
|
+
break;
|
|
60
|
+
const compressionMethod = buffer.readUInt16LE(offset + 10);
|
|
61
|
+
const compressedSize = buffer.readUInt32LE(offset + 20);
|
|
62
|
+
const uncompressedSize = buffer.readUInt32LE(offset + 24);
|
|
63
|
+
const fileNameLength = buffer.readUInt16LE(offset + 28);
|
|
64
|
+
const extraFieldLength = buffer.readUInt16LE(offset + 30);
|
|
65
|
+
const commentLength = buffer.readUInt16LE(offset + 32);
|
|
66
|
+
const localHeaderOffset = buffer.readUInt32LE(offset + 42);
|
|
67
|
+
const fileName = buffer.toString('utf8', offset + 46, offset + 46 + fileNameLength);
|
|
68
|
+
const baseName = path.basename(fileName);
|
|
69
|
+
if (baseName === execName ||
|
|
70
|
+
baseName === archiveBinaryName ||
|
|
71
|
+
baseName === 'cli-proxy-api.exe') {
|
|
72
|
+
const localOffset = localHeaderOffset;
|
|
73
|
+
const localSig = buffer.readUInt32LE(localOffset);
|
|
74
|
+
if (localSig !== 0x04034b50) {
|
|
75
|
+
reject(new Error('Invalid local file header'));
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const localFileNameLength = buffer.readUInt16LE(localOffset + 26);
|
|
79
|
+
const localExtraLength = buffer.readUInt16LE(localOffset + 28);
|
|
80
|
+
const dataOffset = localOffset + 30 + localFileNameLength + localExtraLength;
|
|
81
|
+
let fileData;
|
|
82
|
+
if (compressionMethod === 0) {
|
|
83
|
+
fileData = buffer.subarray(dataOffset, dataOffset + compressedSize);
|
|
84
|
+
}
|
|
85
|
+
else if (compressionMethod === 8) {
|
|
86
|
+
const compressed = buffer.subarray(dataOffset, dataOffset + compressedSize);
|
|
87
|
+
fileData = zlib.inflateRawSync(compressed);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
reject(new Error(`Unsupported compression method: ${compressionMethod}`));
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
if (fileData.length !== uncompressedSize) {
|
|
94
|
+
reject(new Error('Decompression size mismatch'));
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
const destPath = path.join(destDir, execName);
|
|
98
|
+
fs.writeFileSync(destPath, fileData);
|
|
99
|
+
if (verbose)
|
|
100
|
+
console.error(`[cliproxy] Extracted: ${fileName} -> ${destPath}`);
|
|
101
|
+
resolve();
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
offset += 46 + fileNameLength + extraFieldLength + commentLength;
|
|
105
|
+
}
|
|
106
|
+
reject(new Error(`Executable not found in archive: ${execName}`));
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
exports.extractZip = extractZip;
|
|
110
|
+
//# sourceMappingURL=zip-extractor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zip-extractor.js","sourceRoot":"","sources":["../../../src/cliproxy/binary/zip-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,169 +1,41 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Binary Manager for CLIProxyAPI
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* - Downloads platform-specific binary from GitHub releases
|
|
6
|
-
* - Verifies SHA256 checksum
|
|
7
|
-
* - Extracts and caches binary locally
|
|
8
|
-
* - Supports retry logic with exponential backoff
|
|
9
|
-
* - Auto-checks for updates on startup (fetches latest from GitHub API)
|
|
10
|
-
*
|
|
4
|
+
* Facade pattern wrapper for modular binary management.
|
|
11
5
|
* Pattern: Mirrors npm install behavior (fast check, download only when needed)
|
|
12
6
|
*/
|
|
13
7
|
import { BinaryInfo, BinaryManagerConfig } from './types';
|
|
14
|
-
|
|
15
|
-
interface UpdateCheckResult {
|
|
16
|
-
hasUpdate: boolean;
|
|
17
|
-
currentVersion: string;
|
|
18
|
-
latestVersion: string;
|
|
19
|
-
fromCache: boolean;
|
|
20
|
-
checkedAt: number;
|
|
21
|
-
}
|
|
8
|
+
import { UpdateCheckResult, getPinnedVersion, savePinnedVersion, clearPinnedVersion, isVersionPinned, getVersionPinPath } from './binary';
|
|
22
9
|
/**
|
|
23
10
|
* Binary Manager class for CLIProxyAPI binary lifecycle
|
|
24
11
|
*/
|
|
25
12
|
export declare class BinaryManager {
|
|
26
13
|
private config;
|
|
27
|
-
private verbose;
|
|
28
14
|
constructor(config?: Partial<BinaryManagerConfig>);
|
|
29
|
-
/**
|
|
30
|
-
* Ensure binary is available (download if missing, update if outdated)
|
|
31
|
-
* @returns Path to executable binary
|
|
32
|
-
*/
|
|
15
|
+
/** Ensure binary is available (download if missing, update if outdated) */
|
|
33
16
|
ensureBinary(): Promise<string>;
|
|
34
|
-
/**
|
|
35
|
-
* Check for updates by comparing installed version with latest release
|
|
36
|
-
* Uses cache to avoid hitting GitHub API on every run
|
|
37
|
-
*/
|
|
17
|
+
/** Check for updates by comparing installed version with latest release */
|
|
38
18
|
checkForUpdates(): Promise<UpdateCheckResult>;
|
|
39
|
-
/**
|
|
40
|
-
* Fetch latest version from GitHub API
|
|
41
|
-
*/
|
|
42
|
-
private fetchLatestVersion;
|
|
43
|
-
/**
|
|
44
|
-
* Fetch JSON from URL (for GitHub API)
|
|
45
|
-
*/
|
|
46
|
-
private fetchJson;
|
|
47
|
-
/**
|
|
48
|
-
* Get installed version from version file or fallback to pinned
|
|
49
|
-
*/
|
|
50
|
-
private getInstalledVersion;
|
|
51
|
-
/**
|
|
52
|
-
* Save installed version to file
|
|
53
|
-
*/
|
|
54
|
-
private saveInstalledVersion;
|
|
55
|
-
/**
|
|
56
|
-
* Get version cache data if still valid
|
|
57
|
-
*/
|
|
58
|
-
private getVersionCache;
|
|
59
|
-
/**
|
|
60
|
-
* Cache latest version for future checks
|
|
61
|
-
*/
|
|
62
|
-
private cacheLatestVersion;
|
|
63
|
-
/**
|
|
64
|
-
* Get path to version cache file
|
|
65
|
-
*/
|
|
66
|
-
private getVersionCachePath;
|
|
67
|
-
/**
|
|
68
|
-
* Compare semver versions (true if latest > current)
|
|
69
|
-
*/
|
|
70
|
-
private isNewerVersion;
|
|
71
|
-
/**
|
|
72
|
-
* Get full path to binary executable
|
|
73
|
-
*/
|
|
19
|
+
/** Get full path to binary executable */
|
|
74
20
|
getBinaryPath(): string;
|
|
75
|
-
/**
|
|
76
|
-
* Check if binary exists
|
|
77
|
-
*/
|
|
21
|
+
/** Check if binary exists */
|
|
78
22
|
isBinaryInstalled(): boolean;
|
|
79
|
-
/**
|
|
80
|
-
* Get binary info if installed
|
|
81
|
-
*/
|
|
23
|
+
/** Get binary info if installed */
|
|
82
24
|
getBinaryInfo(): Promise<BinaryInfo | null>;
|
|
83
|
-
/**
|
|
84
|
-
* Download and install binary
|
|
85
|
-
*/
|
|
86
|
-
private downloadAndInstall;
|
|
87
|
-
/**
|
|
88
|
-
* Download file with retry logic and exponential backoff
|
|
89
|
-
*/
|
|
90
|
-
private downloadWithRetry;
|
|
91
|
-
/**
|
|
92
|
-
* Download file from URL with progress tracking
|
|
93
|
-
*/
|
|
94
|
-
private downloadFile;
|
|
95
|
-
/**
|
|
96
|
-
* Verify file checksum against checksums.txt
|
|
97
|
-
*/
|
|
98
|
-
private verifyChecksum;
|
|
99
|
-
/**
|
|
100
|
-
* Parse checksum from checksums.txt content
|
|
101
|
-
*/
|
|
102
|
-
private parseChecksum;
|
|
103
|
-
/**
|
|
104
|
-
* Compute SHA256 checksum of file
|
|
105
|
-
*/
|
|
106
|
-
private computeChecksum;
|
|
107
|
-
/**
|
|
108
|
-
* Fetch text content from URL
|
|
109
|
-
*/
|
|
110
|
-
private fetchText;
|
|
111
|
-
/**
|
|
112
|
-
* Extract archive (tar.gz or zip)
|
|
113
|
-
*/
|
|
114
|
-
private extractArchive;
|
|
115
|
-
/**
|
|
116
|
-
* Extract tar.gz archive using Node.js built-in modules
|
|
117
|
-
*/
|
|
118
|
-
private extractTarGz;
|
|
119
|
-
/**
|
|
120
|
-
* Extract zip archive using Node.js (simple implementation)
|
|
121
|
-
*/
|
|
122
|
-
private extractZip;
|
|
123
|
-
/**
|
|
124
|
-
* Delete binary (for cleanup or reinstall)
|
|
125
|
-
*/
|
|
25
|
+
/** Delete binary (for cleanup or reinstall) */
|
|
126
26
|
deleteBinary(): void;
|
|
127
|
-
/**
|
|
128
|
-
* Sleep helper
|
|
129
|
-
*/
|
|
130
|
-
private sleep;
|
|
131
|
-
/**
|
|
132
|
-
* Log message if verbose
|
|
133
|
-
*/
|
|
134
|
-
private log;
|
|
135
27
|
}
|
|
136
|
-
/**
|
|
137
|
-
* Convenience function to ensure binary is available
|
|
138
|
-
* Respects version pin if set by user via 'ccs cliproxy --install <version>'
|
|
139
|
-
* @returns Path to CLIProxyAPI executable
|
|
140
|
-
*/
|
|
28
|
+
/** Convenience function respecting version pin */
|
|
141
29
|
export declare function ensureCLIProxyBinary(verbose?: boolean): Promise<string>;
|
|
142
|
-
/**
|
|
143
|
-
* Check if CLIProxyAPI binary is installed
|
|
144
|
-
*/
|
|
30
|
+
/** Check if CLIProxyAPI binary is installed */
|
|
145
31
|
export declare function isCLIProxyInstalled(): boolean;
|
|
146
|
-
/**
|
|
147
|
-
* Get CLIProxyAPI binary path (may not exist)
|
|
148
|
-
*/
|
|
32
|
+
/** Get CLIProxyAPI binary path (may not exist) */
|
|
149
33
|
export declare function getCLIProxyPath(): string;
|
|
150
|
-
/**
|
|
151
|
-
* Get installed CLIProxyAPI version from .version file
|
|
152
|
-
* Returns the fallback version if not installed or version file missing
|
|
153
|
-
*/
|
|
34
|
+
/** Get installed CLIProxyAPI version from .version file */
|
|
154
35
|
export declare function getInstalledCliproxyVersion(): string;
|
|
155
|
-
/**
|
|
156
|
-
* Install a specific version of CLIProxyAPI
|
|
157
|
-
* Deletes existing binary and downloads the specified version
|
|
158
|
-
*
|
|
159
|
-
* @param version Version to install (e.g., "6.5.53")
|
|
160
|
-
* @param verbose Enable verbose logging
|
|
161
|
-
*/
|
|
36
|
+
/** Install a specific version of CLIProxyAPI */
|
|
162
37
|
export declare function installCliproxyVersion(version: string, verbose?: boolean): Promise<void>;
|
|
163
|
-
/**
|
|
164
|
-
* Fetch the latest CLIProxyAPI version from GitHub API
|
|
165
|
-
* @returns Latest version string (e.g., "6.5.53")
|
|
166
|
-
*/
|
|
38
|
+
/** Fetch the latest CLIProxyAPI version from GitHub API */
|
|
167
39
|
export declare function fetchLatestCliproxyVersion(): Promise<string>;
|
|
168
40
|
/** Update check result for API response */
|
|
169
41
|
export interface CliproxyUpdateCheckResult {
|
|
@@ -173,34 +45,8 @@ export interface CliproxyUpdateCheckResult {
|
|
|
173
45
|
fromCache: boolean;
|
|
174
46
|
checkedAt: number;
|
|
175
47
|
}
|
|
176
|
-
/**
|
|
177
|
-
* Check for CLIProxyAPI binary updates
|
|
178
|
-
* @returns Update check result with version info
|
|
179
|
-
*/
|
|
48
|
+
/** Check for CLIProxyAPI binary updates */
|
|
180
49
|
export declare function checkCliproxyUpdate(): Promise<CliproxyUpdateCheckResult>;
|
|
181
|
-
|
|
182
|
-
* Get path to version pin file
|
|
183
|
-
* @returns Absolute path to .version-pin file
|
|
184
|
-
*/
|
|
185
|
-
export declare function getVersionPinPath(): string;
|
|
186
|
-
/**
|
|
187
|
-
* Get pinned version if one exists
|
|
188
|
-
* @returns Pinned version string, or null if not pinned
|
|
189
|
-
*/
|
|
190
|
-
export declare function getPinnedVersion(): string | null;
|
|
191
|
-
/**
|
|
192
|
-
* Save pinned version to persist user's explicit choice
|
|
193
|
-
* @param version Version to pin (e.g., "6.5.50")
|
|
194
|
-
*/
|
|
195
|
-
export declare function savePinnedVersion(version: string): void;
|
|
196
|
-
/**
|
|
197
|
-
* Clear pinned version (unpin)
|
|
198
|
-
*/
|
|
199
|
-
export declare function clearPinnedVersion(): void;
|
|
200
|
-
/**
|
|
201
|
-
* Check if a version is currently pinned
|
|
202
|
-
* @returns true if a version is pinned
|
|
203
|
-
*/
|
|
204
|
-
export declare function isVersionPinned(): boolean;
|
|
50
|
+
export { getVersionPinPath, getPinnedVersion, savePinnedVersion, clearPinnedVersion, isVersionPinned, };
|
|
205
51
|
export default BinaryManager;
|
|
206
52
|
//# sourceMappingURL=binary-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary-manager.d.ts","sourceRoot":"","sources":["../../src/cliproxy/binary-manager.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"binary-manager.d.ts","sourceRoot":"","sources":["../../src/cliproxy/binary-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE1D,OAAO,EACL,iBAAiB,EAMjB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EAGlB,MAAM,UAAU,CAAC;AAYlB;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAsB;gBAExB,MAAM,GAAE,OAAO,CAAC,mBAAmB,CAAM;IAIrD,2EAA2E;IACrE,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAIrC,2EAA2E;IACrE,eAAe,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAInD,yCAAyC;IACzC,aAAa,IAAI,MAAM;IAIvB,6BAA6B;IAC7B,iBAAiB,IAAI,OAAO;IAI5B,mCAAmC;IAC7B,aAAa,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAIjD,+CAA+C;IAC/C,YAAY,IAAI,IAAI;CAGrB;AAED,kDAAkD;AAClD,wBAAsB,oBAAoB,CAAC,OAAO,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAW3E;AAED,+CAA+C;AAC/C,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAED,kDAAkD;AAClD,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,2DAA2D;AAC3D,wBAAgB,2BAA2B,IAAI,MAAM,CAEpD;AAED,gDAAgD;AAChD,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ5F;AAED,2DAA2D;AAC3D,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,MAAM,CAAC,CAGlE;AAED,2CAA2C;AAC3C,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,2CAA2C;AAC3C,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,yBAAyB,CAAC,CAE9E;AAGD,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,GAChB,CAAC;AAEF,eAAe,aAAa,CAAC"}
|