Commit Graph
4644 Commits
Author SHA1 Message Date
Kai (Tam Nhu) Tran 3608bf71a1 feat: rebrand CCS as Claude Codex Switch (#1658)
Closes #1657
2026-07-22 14:23:42 -04:00
github-actions[bot] 39d31508a2 chore(release): 8.8.1-dev.1 2026-07-22 14:43:17 +00:00
Kai (Tam Nhu) Tran 0ef370fafe Merge pull request #1650 from minhbi245/feat/codex-effort-dropdown
feat(ui): per-tier reasoning effort dropdown in model mapping (codex + grok)
2026-07-22 10:39:11 -04:00
Tam Nhu Tran c23b6bee19 fix(ui): preserve untrusted origins in dev proxy 2026-07-22 10:36:38 -04:00
milesnguyen2405 30b54a0966 feat(ui): extend reasoning control to xai grok models 2026-07-22 11:53:07 +07:00
milesnguyen2405 e81fd80944 chore(ui): forward dev proxy origin for dashboard csrf guard 2026-07-22 11:29:45 +07:00
milesnguyen2405 e57bded451 feat(ui): add per-tier codex effort dropdown in model mapping 2026-07-22 11:29:04 +07:00
semantic-release-bot 51e8716630 chore(release): 8.8.1 [skip ci]
## [8.8.1](https://github.com/kaitranntt/ccs/compare/v8.8.0...v8.8.1) (2026-07-19)

### Hotfixes

* **docker:** select Alpine-compatible CLIProxy asset ([003342f](https://github.com/kaitranntt/ccs/commit/003342f604a78e88fd958b3ef2e7d4506d41190c))
2026-07-19 00:08:05 +00:00
Kai (Tam Nhu) Tran 67e16d65f4 Merge pull request #1646 from kaitranntt/kai/hotfix-docker-original-no-plugin
hotfix(docker): select Alpine-compatible CLIProxy asset
2026-07-18 20:04:14 -04:00
Tam Nhu Tran 003342f604 hotfix(docker): select Alpine-compatible CLIProxy asset 2026-07-18 19:55:07 -04:00
semantic-release-bot a31f1ec79c chore(release): 8.8.0 [skip ci]
## [8.8.0](https://github.com/kaitranntt/ccs/compare/v8.7.0...v8.8.0) (2026-07-18)

### Features

* add Sonnet 5 to Claude provider catalog ([c8a4b42](https://github.com/kaitranntt/ccs/commit/c8a4b429906d0c9e08dc8ea27625676ff15c4bba))
* **cliproxy:** add xAI Grok provider ([54a2b47](https://github.com/kaitranntt/ccs/commit/54a2b4759b7bf831ba6801cb71f97b6aef24481c))
* **codex:** add GPT-5.6 model catalog ([24eae8a](https://github.com/kaitranntt/ccs/commit/24eae8ae8f0dec38e0e12b8bb1147ebc1e8a85ed)), closes [#1633](https://github.com/kaitranntt/ccs/issues/1633)
* **pricing:** register Claude Sonnet 5 in the pricing registry ([1e63c37](https://github.com/kaitranntt/ccs/commit/1e63c37baf94468b855cf583453816fadcb209e8))
* support custom GHCP model selection ([631a515](https://github.com/kaitranntt/ccs/commit/631a515986cd2224c3d89d8498399700f19e22c7))

### Bug Fixes

* **auth:** preserve xAI profile compatibility ([44718e9](https://github.com/kaitranntt/ccs/commit/44718e98ef2c3f9ec2cbe7434edb33cd9eecb390))
* **bar:** preserve quota cache and reset semantics ([8996c92](https://github.com/kaitranntt/ccs/commit/8996c92fda4c71b702acf505d1cee4300586cac9))
* **bar:** show Claude and Codex pool quota ([f77ed33](https://github.com/kaitranntt/ccs/commit/f77ed33cc70f8cd6b7ffb92f235eefb7b0386309))
* cap native quota profile refresh fan-out ([#1627](https://github.com/kaitranntt/ccs/issues/1627)) ([0f9a876](https://github.com/kaitranntt/ccs/commit/0f9a87619c84efd268b8b717b54fc7cd3a7e8a45))
* **ci:** isolate Bar command fast tests ([6dc199a](https://github.com/kaitranntt/ccs/commit/6dc199a0383b6f6ac8080ae358cba230f89b1be6))
* claude model no get the 1m tag ([7f369f7](https://github.com/kaitranntt/ccs/commit/7f369f75dce8dbb1d5dde9b63c51219e46614533))
* **cliproxy:** harden xAI provider contracts ([4e4c949](https://github.com/kaitranntt/ccs/commit/4e4c949967f3aa112795e1bf0cc3ee8ebdbd5b3b))
* **codex-auth:** reject aliased plugin cache paths ([234dce3](https://github.com/kaitranntt/ccs/commit/234dce31500b2b147a0cfe3035722242fea74c40))
* **codex-auth:** share plugin cache across profiles ([e5d4d86](https://github.com/kaitranntt/ccs/commit/e5d4d860b32e8f8ff97d2da9a76530c99bfb81a0))
* **codex:** preview joined migration TOML repair ([77e73dd](https://github.com/kaitranntt/ccs/commit/77e73dd091c40fb2e9f91297b4030fb47ff1c08d)), closes [#1635](https://github.com/kaitranntt/ccs/issues/1635)
* guard against missing modelBreakdowns in usage aggregation ([a7f3e4b](https://github.com/kaitranntt/ccs/commit/a7f3e4bc0eebadfaa62c87306855ec19526bf08b))
* keep agy websearch permissions enabled ([#1625](https://github.com/kaitranntt/ccs/issues/1625)) ([05685d1](https://github.com/kaitranntt/ccs/commit/05685d1c21bab786a20e5cdccceb326b12a0e091))
* prevent default profile credential collision ([#1628](https://github.com/kaitranntt/ccs/issues/1628)) ([343899f](https://github.com/kaitranntt/ccs/commit/343899f6c1529cbeb6e0a518a61908fd3171f20f))
* reject case-variant symlinked file paths ([#1629](https://github.com/kaitranntt/ccs/issues/1629)) ([1ee7cac](https://github.com/kaitranntt/ccs/commit/1ee7cac5552313018bf14100a3393b90b31dbcfd))
* strip stale Gemini extended context suffixes ([5943c8f](https://github.com/kaitranntt/ccs/commit/5943c8fa3cc16814e7f3cd44279f1a11be3b3609))
* validate CCS Bar launch shim target integrity ([#1626](https://github.com/kaitranntt/ccs/issues/1626)) ([3621f8d](https://github.com/kaitranntt/ccs/commit/3621f8dcb1454cc9c6d25669cdd46f227282fbe7))

### Documentation

* **codex-auth:** document shared plugin cache ([3103af5](https://github.com/kaitranntt/ccs/commit/3103af5355448b9137828b062b50a64f8639902f))

### Tests

* **codex-auth:** cover profile cache repair entry points ([960d6e2](https://github.com/kaitranntt/ccs/commit/960d6e23a0c85aef6fceef2afbe789e285c5d940))
2026-07-18 23:25:24 +00:00
Kai (Tam Nhu) Tran 197c43f164 Merge pull request #1645 from kaitranntt/kai/release/dev-to-main-20260718
feat: promote dev to main
2026-07-18 19:21:16 -04:00
github-actions[bot] 78a7335529 chore(release): 8.7.0-dev.12 2026-07-18 23:11:51 +00:00
Kai (Tam Nhu) Tran a8bf7d1a9a Merge pull request #1641 from minhbi245/feat/xai-grok-provider
feat(cliproxy): add xAI Grok provider
2026-07-18 19:07:33 -04:00
Tam Nhu Tran 44718e98ef fix(auth): preserve xAI profile compatibility 2026-07-18 19:04:37 -04:00
Tam Nhu Tran 4e4c949967 fix(cliproxy): harden xAI provider contracts 2026-07-18 19:04:07 -04:00
Tam Nhu Tran 90c0409aac Merge remote-tracking branch 'origin/dev' into kai/review/1641-xai-grok 2026-07-18 18:14:56 -04:00
github-actions[bot] 66189250a3 chore(release): 8.7.0-dev.11 2026-07-18 22:00:21 +00:00
Kai (Tam Nhu) Tran 4998153205 Merge pull request #1644 from kaitranntt/kai/fix/fast-bucket-bar-isolation
fix(ci): isolate Bar command fast tests
2026-07-18 17:54:13 -04:00
Tam Nhu Tran 6dc199a038 fix(ci): isolate Bar command fast tests 2026-07-18 17:46:53 -04:00
Kai (Tam Nhu) Tran be97e43503 Merge pull request #1643 from kaitranntt/kai/fix/1642-bar-pool-quota
fix(bar): show Claude and Codex pool quota
2026-07-18 17:40:17 -04:00
Tam Nhu Tran 8996c92fda fix(bar): preserve quota cache and reset semantics 2026-07-18 17:28:36 -04:00
Tam Nhu Tran f77ed33cc7 fix(bar): show Claude and Codex pool quota 2026-07-18 17:13:40 -04:00
minhbi245 54a2b4759b feat(cliproxy): add xAI Grok provider 2026-07-17 00:02:12 +07:00
github-actions[bot] 1b67c7840b chore(release): 8.7.0-dev.10 2026-07-15 15:56:56 +00:00
Kai (Tam Nhu) Tran 802ea04712 Merge pull request #1640 from kaitranntt/kai/fix/1639-ccsx-profile-plugin-cache-v2
fix(codex-auth): share plugin cache across profiles
2026-07-15 11:52:26 -04:00
Tam Nhu Tran 234dce3150 fix(codex-auth): reject aliased plugin cache paths 2026-07-15 11:36:15 -04:00
Tam Nhu Tran 3103af5355 docs(codex-auth): document shared plugin cache 2026-07-15 10:24:13 -04:00
Tam Nhu Tran 960d6e23a0 test(codex-auth): cover profile cache repair entry points 2026-07-15 10:24:13 -04:00
Tam Nhu Tran e5d4d860b3 fix(codex-auth): share plugin cache across profiles 2026-07-15 10:24:13 -04:00
github-actions[bot] 463a1ffa50 chore(release): 8.7.0-dev.9 2026-07-13 09:44:06 -04:00
github-actions[bot] 612a664259 chore(release): 8.7.0-dev.8 2026-07-13 13:37:36 +00:00
Kai (Tam Nhu) Tran 44c2e8ccc5 Merge pull request #1634 from KennethWKZ/feat/support-claude-sonnet-1m
fix: preserve saved Claude extended-context preference
2026-07-13 09:27:02 -04:00
Tam Nhu Tran 72f00bac1f Merge remote-tracking branch 'origin/dev' into kai/review/pr-1634 2026-07-13 09:26:00 -04:00
Kai (Tam Nhu) Tran 073e795f61 Merge pull request #1638 from tom-price/fix/usage-aggregator-missing-modelbreakdowns
fix: guard against missing modelBreakdowns in usage aggregation
2026-07-13 09:25:43 -04:00
Tam Nhu Tran b52e42eba4 Merge remote-tracking branch 'origin/dev' into kai/review/pr-1634 2026-07-13 09:16:46 -04:00
Tam Nhu Tran 5943c8fa3c fix: strip stale Gemini extended context suffixes 2026-07-13 09:14:04 -04:00
Tom Price a7f3e4bc0e fix: guard against missing modelBreakdowns in usage aggregation
The CCS Bar server was crash-looping with:

    [X] Cannot read properties of undefined (reading 'length')

Usage records from partially-written or legacy persisted files (e.g. a
Codex rollout scanned mid-write) can be missing modelBreakdowns despite
the type. getHourlyRequestCount() and the daily/monthly/hourly merges
read it unguarded, and the Bar re-runs aggregation every ~5 min and
restarts on crash - hence the loop.

Default modelBreakdowns to [] at every use site and fall back to 0 for
request count. Regression test added for all three merges.

I don't normally work in TS and this was heavily tool-assisted, but it
has fixed the crash loop on my machine.
2026-07-12 21:23:31 -04:00
github-actions[bot] 507ce278b9 chore(release): 8.7.0-dev.7 2026-07-10 17:30:09 +00:00
Kai (Tam Nhu) Tran 58c02a53d9 Merge pull request #1637 from kaitranntt/kai/feat/1633-gpt-5-6-models
feat(codex): add GPT-5.6 model catalog
2026-07-10 13:20:50 -04:00
Kai (Tam Nhu) Tran ab09c96210 Merge pull request #1636 from kaitranntt/kai/fix/1635-codex-toml-recovery
fix(codex): preview joined migration TOML repair
2026-07-10 13:20:35 -04:00
Tam Nhu Tran 24eae8ae8f feat(codex): add GPT-5.6 model catalog
Closes #1633
2026-07-10 08:54:48 -04:00
Tam Nhu Tran 77e73dd091 fix(codex): preview joined migration TOML repair
Closes #1635
2026-07-10 08:54:18 -04:00
Kenneth Wong 7f369f75dc fix: claude model no get the 1m tag 2026-07-10 00:39:19 +08:00
github-actions[bot] da6c99e3df chore(release): 8.7.0-dev.6 2026-07-08 14:22:20 +00:00
Kai (Tam Nhu) Tran 5afd294c7e Merge pull request #1631 from sgaluza/sergey/add-claude-sonnet-5-pricing
feat(pricing): register Claude Sonnet 5 in the pricing registry
2026-07-08 10:18:03 -04:00
Sergey Galuza 1e63c37baf feat(pricing): register Claude Sonnet 5 in the pricing registry
Add explicit `claude-sonnet-5` and `claude-sonnet-5-thinking` entries to the
web-server PRICING_REGISTRY at the standard Sonnet rates ($3/$15 in/out,
$3.75/$0.30 cache).

The model catalog and dashboard already ship Sonnet 5 (it is the Claude
default), but pricing was missing: getModelPricing() fell through to
UNKNOWN_MODEL_PRICING, which only coincidentally matches Sonnet rates. As a
result hasCustomPricing('claude-sonnet-5') returned false and getKnownModels()
omitted it, so Sonnet 5 was treated as an unknown model in cost accounting and
known-model listings.

Registering it explicitly makes the pricing intentional and consistent with
every other Claude model, without changing any resolved values.

Built [OnSteroids](https://onsteroids.ai)
2026-07-07 14:51:43 +02:00
github-actions[bot] f1eee3029e chore(release): 8.7.0-dev.5 2026-07-02 15:15:30 +00:00
Kai (Tam Nhu) Tran b95f95317e Merge pull request #1630 from kaitranntt/kai/feat/copilot-model-ui
feat: support custom GHCP model selection
2026-07-02 11:11:20 -04:00
Tam Nhu Tran c8a4b42990 feat: add Sonnet 5 to Claude provider catalog 2026-07-02 10:31:42 -04:00