mirror of
https://github.com/tiennm99/ccs.git
synced 2026-10-04 20:13:18 +00:00
## [8.10.0](https://github.com/kaitranntt/ccs/compare/v8.9.0...v8.10.0) (2026-09-11) ### Features * **api:** add OrcaRouter provider preset ([ea7906b](https://github.com/kaitranntt/ccs/commit/ea7906b97580533c158e09ff8777f7c66d248ac6)) * **cliproxy:** add Grok 4.6 selection ([c30e9ca](https://github.com/kaitranntt/ccs/commit/c30e9ca6179d584174622dce971b05e664ad98f7)) * **cliproxy:** add meetsBackendMinimumVersion comparator helper ([3658c01](https://github.com/kaitranntt/ccs/commit/3658c0113729514dc660af99ade379644c57186d)) * **cliproxy:** clarify quota percentages are remaining in CLI output ([eca266a](https://github.com/kaitranntt/ccs/commit/eca266ad30851040f0605ae03ec6d5571032e90b)), closes [#1714](https://github.com/kaitranntt/ccs/issues/1714) * **dashboard:** collapse the CLIProxy status widget ([fde7bd8](https://github.com/kaitranntt/ccs/commit/fde7bd83db96ce4fa87cb3b5403a7ab51c4ccde9)) * **models:** add Claude Fable 5.1 and correct Sonnet 5 pricing ([3583b54](https://github.com/kaitranntt/ccs/commit/3583b544d01170d0352a49f3e4bfc8b5ecd2c953)) ### Bug Fixes * **ci:** publish dev releases with public access for scoped package ([#1715](https://github.com/kaitranntt/ccs/issues/1715)) ([ae1559a](https://github.com/kaitranntt/ccs/commit/ae1559aeb01d466787026bdabff0c24d58895bd0)) * **cliproxy:** correct ARM release asset architecture boundaries ([#1725](https://github.com/kaitranntt/ccs/issues/1725)) ([87f1d9b](https://github.com/kaitranntt/ccs/commit/87f1d9b4e874f63a61d337357796db8e27a4f18f)) * **cliproxy:** correct pool routing version capability map ([#1726](https://github.com/kaitranntt/ccs/issues/1726)) ([b9601cb](https://github.com/kaitranntt/ccs/commit/b9601cb913dce355e2a5f3347500efe024e79974)) * **cliproxy:** fail-closed on unsupported drain-order priority selection ([#1724](https://github.com/kaitranntt/ccs/issues/1724)) ([ed1badc](https://github.com/kaitranntt/ccs/commit/ed1badcfcb90f6e096ec06f28c27fecd270c0239)) * **cliproxy:** finish concurrent update recovery ([fc56eca](https://github.com/kaitranntt/ccs/commit/fc56ecaac4ed8218f5d0408a6c78f173a11a78da)) * **cliproxy:** harden update recovery paths ([4502e5d](https://github.com/kaitranntt/ccs/commit/4502e5d503b4ae73dda6187d9044263364019565)) * **cliproxy:** keep proxy available during updates ([8e4def4](https://github.com/kaitranntt/ccs/commit/8e4def4713a9932c7b741e9bf791ee9904d4d695)) * **cliproxy:** make formatQuotaBar pure ASCII and add doctor quota tests ([745cb74](https://github.com/kaitranntt/ccs/commit/745cb743181362372fd5f89d20e67ea10cc4ed89)) * **delegation:** flush stdout before exit to prevent piped output truncation ([3e49834](https://github.com/kaitranntt/ccs/commit/3e49834c9daa0a965316a1c26bbb9df7e0b09908)) * **docker:** target live cliproxy compose stack ([54c3e86](https://github.com/kaitranntt/ccs/commit/54c3e86e894fe6563a4e944709b1dae65bbf360b)) * **docs:** format star history chart with valid sealed_token url ([03ff7d8](https://github.com/kaitranntt/ccs/commit/03ff7d840001d504642c2fa25dc0c29d661be2fd)) * **docs:** format star history chart with valid sealed_token url ([0598d2a](https://github.com/kaitranntt/ccs/commit/0598d2a7ba3fd2d8d0e09b825f9000d66c2e6f08)) * **docs:** update star history chart with encrypted sealed_token ([eadcef2](https://github.com/kaitranntt/ccs/commit/eadcef22897859ae89596d675296fa974df91e03)) * **docs:** update star history chart with encrypted sealed_token ([583d0cf](https://github.com/kaitranntt/ccs/commit/583d0cf8fca901885beeb10c5e9b379430e5a070)) * **extended-context:** manage ANTHROPIC_DEFAULT_MODEL and keep the overlay in sync ([7ae7a5e](https://github.com/kaitranntt/ccs/commit/7ae7a5eba6c75871f6822567079d841d9cd73789)) * **extended-context:** never write [1m] into the Fable tier key ([2b780ce](https://github.com/kaitranntt/ccs/commit/2b780ceae3bcc5a4cbaf809601e6d50fef1ae15b)) * **extended-context:** suffix the Fable tier and default it on 1M launches ([02c45e0](https://github.com/kaitranntt/ccs/commit/02c45e088a841fe9a8d6192743f18a8f99cd2724)) * **image-analysis:** honor configured profile_backends at launch ([fe3447f](https://github.com/kaitranntt/ccs/commit/fe3447f4871c4b53c2bf0f2f9e9cba9d057002bf)) * **image-analysis:** route original backend at CLIProxy root ([afa663b](https://github.com/kaitranntt/ccs/commit/afa663b5b2f999b19bef14a208044e02e8b3c122)), closes [#1703](https://github.com/kaitranntt/ccs/issues/1703) * **openrouter:** use /api endpoint root to prevent duplicated /v1 ([#1728](https://github.com/kaitranntt/ccs/issues/1728)) ([375a346](https://github.com/kaitranntt/ccs/commit/375a3468b8c5de1ad9af963db5abb285feaffc94)) * **README:** update star history chart to use working domain ([6e3a16b](https://github.com/kaitranntt/ccs/commit/6e3a16b84c7eb50357da426f350b7711cb4694cd)) * **shared-manager:** publish adopted settings by replacement ([00a4dce](https://github.com/kaitranntt/ccs/commit/00a4dceb94a5a21d740e7e7d057c6a1b7398d8ee)) * **update:** detect pnpm v9+ global store layouts ([c43cd6c](https://github.com/kaitranntt/ccs/commit/c43cd6caf5002514d8c9d7e3ff7da2a2ce61253c)), closes [#1706](https://github.com/kaitranntt/ccs/issues/1706) * **websearch:** filter disabled legacy CLI probes and skip unused version fetching ([f491169](https://github.com/kaitranntt/ccs/commit/f4911694e37aaa97dbdfefac0b0f712c4e81e435)), closes [#1716](https://github.com/kaitranntt/ccs/issues/1716) * **websearch:** format status.ts ([c0c3699](https://github.com/kaitranntt/ccs/commit/c0c36991d650cd4129ea1a910f0a3ad012373064)) ### Documentation * **docker:** document host continuity ([ee891bd](https://github.com/kaitranntt/ccs/commit/ee891bdd0edcdda0faa658cf6d28acd352b5c3c1)) * refresh hardening inventory after [#1727](https://github.com/kaitranntt/ccs/issues/1727) ([247c033](https://github.com/kaitranntt/ccs/commit/247c0336c7f91cb143531eeff97da748d4457092)) * refresh hardening inventory after dev merge ([8cb3451](https://github.com/kaitranntt/ccs/commit/8cb3451f8153af3be6b855f3651d925efeb4e1de)) * refresh hardening inventory after merge ([a4281ce](https://github.com/kaitranntt/ccs/commit/a4281cea1b0bc090123087d154b294e9d69124cd)) * refresh hardening inventory and add 75% quota test ([eddc404](https://github.com/kaitranntt/ccs/commit/eddc404f2499b73acd96a8ec3b6d52c52916e05a)) * refresh hardening inventory counts ([b9190a6](https://github.com/kaitranntt/ccs/commit/b9190a6e57708f576a5c322f3d12e470eb9d6b36)) * **shared-manager:** note why the CAS mismatch raises EEXIST ([4a17f03](https://github.com/kaitranntt/ccs/commit/4a17f034e24f1bcbed3067166e184e933cf17746)) ### Code Refactoring * **shared-manager:** extract the durable temp write ([df52662](https://github.com/kaitranntt/ccs/commit/df52662a59517c495ea21056055c5d65ba1ba813)) * **shared-manager:** tighten canonical identity capture ([fa3fd8e](https://github.com/kaitranntt/ccs/commit/fa3fd8eb3a7c76781defe61771d9f8f3418f2a3e)) ### Tests * **cliproxy:** strengthen fallback download url and ungated show/reset coverage ([fcbac62](https://github.com/kaitranntt/ccs/commit/fcbac629d277c9fc65f81817ca70108fdc88c062)) * **openrouter:** refine regression test using existing profile-writer harness ([#1728](https://github.com/kaitranntt/ccs/issues/1728)) ([283e884](https://github.com/kaitranntt/ccs/commit/283e8843ac624377bc6422a2e704724baf8a5e07)) ### CI * **docker:** allow cold-start healthcheck window ([78ad297](https://github.com/kaitranntt/ccs/commit/78ad297e30f0e80906af1a92db73d43f47cf9a91)) * merge main Docker smoke fix into dev ([8ae7dd8](https://github.com/kaitranntt/ccs/commit/8ae7dd88f3c9fefa1e31173ef46374e62282a491))
157 lines
4.9 KiB
JSON
157 lines
4.9 KiB
JSON
{
|
|
"name": "@kaitranntt/ccs",
|
|
"version": "8.10.0",
|
|
"description": "Claude Codex Switch - Instant profile switching between Claude, GLM, Kimi, and more",
|
|
"keywords": [
|
|
"cli",
|
|
"claude",
|
|
"glm",
|
|
"ai",
|
|
"profile",
|
|
"switch"
|
|
],
|
|
"homepage": "https://github.com/kaitranntt/ccs",
|
|
"bugs": {
|
|
"url": "https://github.com/kaitranntt/ccs/issues"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/kaitranntt/ccs.git"
|
|
},
|
|
"license": "MIT",
|
|
"publishConfig": {
|
|
"access": "public"
|
|
},
|
|
"author": {
|
|
"name": "Tam Nhu Tran (Kai)",
|
|
"email": "kaitranntt@users.noreply.github.com"
|
|
},
|
|
"main": "dist/ccs.js",
|
|
"types": "dist/ccs.d.ts",
|
|
"bin": {
|
|
"ccs": "dist/ccs.js",
|
|
"ccs-droid": "dist/bin/droid-runtime.js",
|
|
"ccsd": "dist/bin/droid-runtime.js",
|
|
"ccs-codex": "dist/bin/codex-runtime.js",
|
|
"ccsx": "dist/bin/codex-runtime.js",
|
|
"ccsxp": "dist/bin/ccsxp-runtime.js"
|
|
},
|
|
"files": [
|
|
"dist/",
|
|
"lib/",
|
|
"scripts/",
|
|
"config/",
|
|
".claude/",
|
|
"VERSION",
|
|
"README.md",
|
|
"LICENSE"
|
|
],
|
|
"engines": {
|
|
"node": ">=18.0.0",
|
|
"bun": ">=1.0.0"
|
|
},
|
|
"packageManager": "bun@1.3.9",
|
|
"os": [
|
|
"darwin",
|
|
"linux",
|
|
"win32"
|
|
],
|
|
"preferGlobal": true,
|
|
"scripts": {
|
|
"preinstall": "node scripts/preinstall.js",
|
|
"postuninstall": "node scripts/postuninstall.js",
|
|
"build": "tsc && node scripts/add-shebang.js",
|
|
"build:watch": "tsc --watch",
|
|
"build:server": "tsc && node scripts/add-shebang.js",
|
|
"build:all": "bun run ui:build && bun run build:server",
|
|
"prebuild": "node scripts/clean-dist.js",
|
|
"prebuild:server": "node scripts/clean-dist.js",
|
|
"prebuild:all": "rm -rf dist tsconfig.tsbuildinfo",
|
|
"postbuild:all": "node scripts/verify-bundle.js",
|
|
"typecheck": "tsc --noEmit",
|
|
"lint": "eslint src/",
|
|
"lint:fix": "eslint src/ --fix",
|
|
"format": "prettier --write src/",
|
|
"format:check": "prettier --check src/",
|
|
"validate": "bun run typecheck && bun run lint && bun run format:check && bun run test:fast",
|
|
"validate:ci-parity": "bash scripts/ci-parity-gate.sh",
|
|
"verify:bundle": "node scripts/verify-bundle.js",
|
|
"test": "bun run build && bun run test:all",
|
|
"test:ci": "bun run test:all",
|
|
"test:fast": "node scripts/run-test-bucket.js fast",
|
|
"test:slow": "node scripts/run-test-bucket.js slow",
|
|
"test:all": "node scripts/run-test-bucket.js all",
|
|
"test:unit": "bun test tests/unit",
|
|
"test:npm": "bun test tests/npm/",
|
|
"test:native": "bash tests/native/unix/edge-cases.sh",
|
|
"test:runtime-matrix": "bun run build && CCS_RUNTIME_MATRIX=1 bun test tests/integration/proxy/runtime-transport-matrix.test.ts --timeout 60000",
|
|
"test:e2e": "bun test tests/e2e/ --bail --timeout 60000",
|
|
"report:hardening": "node scripts/hardening-inventory.js",
|
|
"dev": "bun run build:server && node dist/ccs.js config --dev",
|
|
"dev:symlink": "bash scripts/dev-symlink.sh",
|
|
"dev:unlink": "bash scripts/dev-symlink.sh --restore",
|
|
"ui:build": "cd ui && bun run build",
|
|
"ui:preview": "cd ui && bun run preview",
|
|
"ui:validate": "cd ui && bun run validate",
|
|
"prepack": "bun run build:all",
|
|
"prepare": "husky",
|
|
"postinstall": "node scripts/postinstall.js"
|
|
},
|
|
"dependencies": {
|
|
"bcrypt": "^6.0.0",
|
|
"boxen": "^5.1.2",
|
|
"chalk": "^4.1.2",
|
|
"chokidar": "^3.6.0",
|
|
"cli-table3": "^0.6.5",
|
|
"express": "^4.18.2",
|
|
"express-rate-limit": "^8.2.1",
|
|
"express-session": "^1.18.2",
|
|
"get-port": "^5.1.1",
|
|
"gradient-string": "^2.0.2",
|
|
"http-proxy-agent": "^7.0.2",
|
|
"https-proxy-agent": "^7.0.6",
|
|
"js-yaml": "^4.1.1",
|
|
"listr2": "^3.14.0",
|
|
"open": "^8.4.2",
|
|
"ora": "^5.4.1",
|
|
"proper-lockfile": "^4.1.2",
|
|
"smol-toml": "^1.6.1",
|
|
"undici": "^5.29.0",
|
|
"ws": "^8.16.0"
|
|
},
|
|
"devDependencies": {
|
|
"@commitlint/cli": "^20.1.0",
|
|
"@commitlint/config-conventional": "^20.0.0",
|
|
"@semantic-release/changelog": "^6.0.3",
|
|
"@semantic-release/commit-analyzer": "^13.0.1",
|
|
"@semantic-release/git": "^10.0.1",
|
|
"@semantic-release/github": "^12.0.2",
|
|
"@semantic-release/npm": "^13.1.3",
|
|
"@semantic-release/release-notes-generator": "^14.1.0",
|
|
"@tailwindcss/vite": "^4.1.17",
|
|
"@types/bcrypt": "^6.0.0",
|
|
"@types/bun": "^1.3.12",
|
|
"@types/chokidar": "^2.1.7",
|
|
"@types/express": "^4.17.21",
|
|
"@types/express-rate-limit": "6.0.0",
|
|
"@types/express-session": "^1.18.2",
|
|
"@types/js-yaml": "^4.0.9",
|
|
"@types/node": "^20.19.25",
|
|
"@types/proper-lockfile": "^4.1.4",
|
|
"@types/ws": "^8.5.10",
|
|
"@typescript-eslint/eslint-plugin": "^8.48.0",
|
|
"@typescript-eslint/parser": "^8.48.0",
|
|
"@vitejs/plugin-react": "^5.1.1",
|
|
"conventional-changelog-conventionalcommits": "^9.1.0",
|
|
"eslint": "^9.39.1",
|
|
"eslint-config-prettier": "^10.1.8",
|
|
"husky": "^9.1.7",
|
|
"marked": "^15.0.12",
|
|
"mocha": "^11.7.5",
|
|
"prettier": "^3.6.2",
|
|
"semantic-release": "^25.0.2",
|
|
"typescript": "5.3",
|
|
"vite": "^7.2.4"
|
|
}
|
|
}
|