github-actions[bot]
dcdb2f6284
chore(release): 7.47.0-dev.4 [skip ci]
2026-02-21 19:46:08 +00:00
Kai (Tam Nhu) Tran and GitHub
2cc84cf901
Merge pull request #600 from kaitranntt/fix/548-claude-quota-balance
...
feat(cliproxy): support Claude quota windows and load balancing
2026-02-22 02:44:39 +07:00
Tam Nhu Tran
ca58cb5a08
fix(cliproxy): harden quota guards and review follow-ups
2026-02-22 02:35:07 +07:00
Tam Nhu Tran
8c790f41ff
fix(cliproxy): close remaining quota edge-case gaps
2026-02-22 02:12:40 +07:00
Tam Nhu Tran
9371a72c16
fix(cliproxy): split claude quota fetcher for maintainability gate
2026-02-22 01:35:32 +07:00
Tam Nhu Tran
d47620592d
Merge remote-tracking branch 'origin/dev' into fix/548-claude-quota-balance
...
# Conflicts:
# src/commands/cliproxy/help-subcommand.ts
# src/commands/cliproxy/index.ts
# src/commands/cliproxy/quota-subcommand.ts
2026-02-22 01:24:44 +07:00
Tam Nhu Tran
2385d9028a
feat(cliproxy): add Claude quota windows and account failover
2026-02-22 01:19:02 +07:00
github-actions[bot]
2231b6c3a7
chore(release): 7.47.0-dev.3 [skip ci]
2026-02-21 17:58:53 +00:00
Kai (Tam Nhu) Tran and GitHub
06a4f3f131
Merge pull request #599 from kaitranntt/fix/598-gemini-3-1-pro-preview
...
fix(cliproxy): support gemini-3.1-pro-preview alias routing
2026-02-22 00:57:30 +07:00
Tam Nhu Tran
63619cb9dc
fix(cliproxy): harden antigravity alias generation
2026-02-22 00:35:20 +07:00
Tam Nhu Tran
653f8092ae
fix(cliproxy): add gemini 3.1 preview alias compatibility
2026-02-22 00:14:15 +07:00
github-actions[bot]
d8028d15c9
chore(release): 7.47.0-dev.2 [skip ci]
2026-02-21 03:42:18 +00:00
Kai (Tam Nhu) Tran and GitHub
4c7501fe39
Merge pull request #596 from kaitranntt/feat/refactor-hardcode-dx-one-pr
...
refactor(core): centralize hardcoded paths and command/provider sources
2026-02-21 10:40:51 +07:00
github-actions[bot]
b7166532df
chore(release): 7.47.0-dev.1 [skip ci]
2026-02-21 03:33:22 +00:00
Tam Nhu Tran
343ec959fc
fix(core): resolve edge cases and hardcoded drift
2026-02-21 10:32:19 +07:00
Kai (Tam Nhu) Tran and GitHub
c0762382cb
Merge pull request #597 from kaitranntt/fix/124-model-id-mcp
...
fix(cliproxy): provider-aware model ID normalization for MCP routing
2026-02-21 10:31:58 +07:00
Tam Nhu Tran
187c6f7f13
docs(cliproxy): add normalizer API usage examples
2026-02-21 02:21:32 +07:00
Tam Nhu Tran
6429781e8f
fix(cliproxy): normalize provider-aware Claude model IDs
2026-02-21 02:14:09 +07:00
Tam Nhu Tran
6074fcb0b6
fix(refactor): address PR review follow-up findings
2026-02-21 01:44:44 +07:00
Tam Nhu Tran
af6aa2d7b2
fix(types): use type-only import for composite tier config
2026-02-21 01:35:58 +07:00
Tam Nhu Tran
8d2ec86155
refactor(core): centralize claude paths and command parsing
2026-02-21 01:31:16 +07:00
semantic-release-bot
6a9abd2a48
chore(release): 7.47.0 [skip ci]
...
## [7.47.0](https://github.com/kaitranntt/ccs/compare/v7.46.0...v7.47.0 ) (2026-02-20)
### Features
* **quota:** add GitHub Copilot quota checks for ghcp and copilot ([8d9d498 ](https://github.com/kaitranntt/ccs/commit/8d9d4987dc42415ebe53760e1ac06c9c024ce17f ))
* **thinking:** complete thinking UX/DX for all providers ([c48ed2e ](https://github.com/kaitranntt/ccs/commit/c48ed2ea7fe7fcf0725805274233bd5760f284d8 )), closes [#583 ](https://github.com/kaitranntt/ccs/issues/583 )
### Bug Fixes
* **api:** sanitize preset help text rendering ([5b12ce7 ](https://github.com/kaitranntt/ccs/commit/5b12ce7f0065ff19eff46f61171db20f6e1170a3 ))
* **cliproxy:** add Kimi model catalog, sync, and pricing to dashboard ([3767b95 ](https://github.com/kaitranntt/ccs/commit/3767b95735950b506e2470a0454d4d0db7f00764 )), closes [#581 ](https://github.com/kaitranntt/ccs/issues/581 )
* **cliproxy:** add kimi-k2 pricing and kimi catalog tests ([dd38df6 ](https://github.com/kaitranntt/ccs/commit/dd38df6b8d7a5367c06b14b0258a271af8545fd4 ))
* **cliproxy:** address review feedback on kimi catalog ([c73a26c ](https://github.com/kaitranntt/ccs/commit/c73a26c51c5340598aacf25f48fb2851bf61d5a8 ))
* **cliproxy:** harden provider alias and refresh edge cases ([a71496c ](https://github.com/kaitranntt/ccs/commit/a71496cc3d7db499780c2b257d74bb6cc101f450 ))
* **cliproxy:** normalize codex model and provider routing ([ecc4a3f ](https://github.com/kaitranntt/ccs/commit/ecc4a3fe58721b47f3c248053d06dcec8a5c2fbf ))
* **cliproxy:** warn gemini and agy users about issue 509 ([476eabe ](https://github.com/kaitranntt/ccs/commit/476eabe08f06284fed3d35ed546534f9f73ef9d2 ))
* **delegation:** strip CLAUDECODE env var to bypass nested session guard ([4303ee4 ](https://github.com/kaitranntt/ccs/commit/4303ee48c9849f6ba1cdfb420eddca4d9ae2d541 )), closes [#588 ](https://github.com/kaitranntt/ccs/issues/588 )
* **delegation:** strip claudecode in core delegation spawn paths ([50412dc ](https://github.com/kaitranntt/ccs/commit/50412dc6799921a3e536ab2fd86b011f8849e99c )), closes [#588 ](https://github.com/kaitranntt/ccs/issues/588 )
* **execution:** strip claudecode in remaining claude paths ([8e57d59 ](https://github.com/kaitranntt/ccs/commit/8e57d5947901c56ac39071dee14938551ad49c84 )), closes [#588 ](https://github.com/kaitranntt/ccs/issues/588 )
* **profile:** close km legacy kimi compatibility gaps ([0bf00b2 ](https://github.com/kaitranntt/ccs/commit/0bf00b23d9085dde7fedfbed30f7924fee41da92 ))
* **profile:** handle km compatibility for legacy kimi api users ([cf8070b ](https://github.com/kaitranntt/ccs/commit/cf8070b5f00d8fa13f86d7324a7bfd85cfc8f78e ))
* **profiles:** reset form state on preset transitions ([14242b5 ](https://github.com/kaitranntt/ccs/commit/14242b568190920bd954ec9e093a9f9a2f766480 ))
* **quota:** address ghcp review follow-ups ([8201204 ](https://github.com/kaitranntt/ccs/commit/8201204380ac5d3981d9c84a609b1c823f6696e6 ))
* **spawn:** sanitize claudecode in shared claude env builders ([d25eda8 ](https://github.com/kaitranntt/ccs/commit/d25eda8435c72c24f16f28a84d6bfffb31b67174 )), closes [#588 ](https://github.com/kaitranntt/ccs/issues/588 )
* **test:** pin real child_process passthrough refs ([04e4e61 ](https://github.com/kaitranntt/ccs/commit/04e4e61b686b50dd685917646af97b7d47e81ba1 ))
* **test:** prevent child_process mock cross-test leakage ([5b164a6 ](https://github.com/kaitranntt/ccs/commit/5b164a64864a548192578eacd4bb149253d4be95 ))
* **test:** scope child_process mock to test lifecycle ([873b7ad ](https://github.com/kaitranntt/ccs/commit/873b7adb701f01d1686fab2ad98cb294c4143405 ))
* **thinking:** handle clear no-op and tighten override coverage ([954baec ](https://github.com/kaitranntt/ccs/commit/954baecfe429aad1c6fc4f60601b578af04ff37f ))
* **thinking:** harden codex reasoning controls across cli and dashboard ([92e2ec1 ](https://github.com/kaitranntt/ccs/commit/92e2ec111d08aecb55e4461fccebc93c544439eb ))
* **ui:** harden cliproxy panel and proxy edge handling ([c18adc9 ](https://github.com/kaitranntt/ccs/commit/c18adc90c33b45577422de4929edb9034e854941 ))
* **ui:** harden provider preset/icon typing ([b317717 ](https://github.com/kaitranntt/ccs/commit/b3177179b11b55cb3ba0a660adade4f5898c11dd ))
* **ui:** make api profile dialog scrollable on small screens ([faa610f ](https://github.com/kaitranntt/ccs/commit/faa610f843bae381aaa6553370fd1ae294a144e9 ))
* **ui:** normalize ghcp quota tooltip and labels ([2c5b2af ](https://github.com/kaitranntt/ccs/commit/2c5b2af55a9a7cf87716b98432c2c6d40311d860 ))
* **ui:** replace stale BASE_URL references in api client ([5a78626 ](https://github.com/kaitranntt/ccs/commit/5a786263bc2501684593c2c1aa0b56b1d20a56ed ))
### Documentation
* **spawn:** document claudecode env sanitization behavior ([f2ffb81 ](https://github.com/kaitranntt/ccs/commit/f2ffb815ab059e8f48b309ab4af05b2cde8b3215 )), closes [#588 ](https://github.com/kaitranntt/ccs/issues/588 )
### Code Refactoring
* **cliproxy:** address review feedback on parity and refresh flow ([39593c1 ](https://github.com/kaitranntt/ccs/commit/39593c161b4cbbfc6a5a125f6ef100922b73ef9b ))
* **cliproxy:** centralize provider auth capability metadata ([bd8daac ](https://github.com/kaitranntt/ccs/commit/bd8daac094404bf834d77f5c4bebd9470d88c55f ))
* **cliproxy:** resolve remaining review parity and cleanup nits ([7e527af ](https://github.com/kaitranntt/ccs/commit/7e527af777f1ca8ea36570f97aada469c77299ee ))
* **cliproxy:** use shared default port in management paths ([90b8d04 ](https://github.com/kaitranntt/ccs/commit/90b8d04d71c78b8a120ac8cd091ea0936ba5bb6f ))
* **commands:** share cliproxy default port for setup and help ([688f3e3 ](https://github.com/kaitranntt/ccs/commit/688f3e3889843931cde2e34fd56ec51df454b0a6 ))
* **presets:** centralize shared provider preset catalog ([21d6754 ](https://github.com/kaitranntt/ccs/commit/21d6754ec6ae59002c2d393d41515dd105de692a ))
* **ui:** centralize default ports and add parity test ([63f4221 ](https://github.com/kaitranntt/ccs/commit/63f422179ed34678a8abc0f763a2a3e3525bac16 ))
* **ui:** centralize provider metadata and fallbacks ([9ad8e64 ](https://github.com/kaitranntt/ccs/commit/9ad8e64e85458a0154c1cac7bac2e3f082f9c7ac ))
* **ui:** centralize provider metadata for setup wizard ([a53e6cb ](https://github.com/kaitranntt/ccs/commit/a53e6cbd2505c2dab5c5e8fd940b75af5584d600 ))
* **ui:** replace remaining hardcoded port defaults ([70116cb ](https://github.com/kaitranntt/ccs/commit/70116cb3a15694532e57d370245176b905c8f375 ))
* **ui:** unify api base path for cursor and copilot hooks ([feb556d ](https://github.com/kaitranntt/ccs/commit/feb556dc90dab593e79aaf6145dd5b9a38eb6831 ))
* **ui:** use shared default proxy port in settings cards ([5788ddc ](https://github.com/kaitranntt/ccs/commit/5788ddc3b7747df898571470318d5df774603b95 ))
### Tests
* **delegation:** add regression coverage for claudecode stripping ([80a84ed ](https://github.com/kaitranntt/ccs/commit/80a84edf1f7a7514dfb3fbd8c3786b0571b528bf )), closes [#588 ](https://github.com/kaitranntt/ccs/issues/588 )
2026-02-20 17:01:39 +00:00
Kai (Tam Nhu) Tran and GitHub
3c3da4eb85
Merge pull request #594 from kaitranntt/dev
...
feat: v7.47.0 release — Kimi provider, multi-target droid, GHCP quota, thinking UX
2026-02-21 00:00:09 +07:00
github-actions[bot]
f2bbf77ca4
chore(release): 7.46.0-dev.9 [skip ci]
2026-02-20 16:50:05 +00:00
Kai (Tam Nhu) Tran and GitHub
21e6b80286
Merge pull request #593 from kaitranntt/kai/refactor-hardcoded-260220-225538
...
refactor(presets): reduce hardcoded provider logic
2026-02-20 23:48:38 +07:00
Tam Nhu Tran
04e4e61b68
fix(test): pin real child_process passthrough refs
...
- bind real spawn/spawnSync/execSync before module mocking
- avoid potential rebinding recursion or mock passthrough drift in CI
- keeps non-Claude process execution untouched during test mocks
2026-02-20 23:41:20 +07:00
Tam Nhu Tran
873b7adb70
fix(test): scope child_process mock to test lifecycle
...
- register child_process module mock in beforeAll instead of module load
- keep passthrough for non-Claude commands and restore after suite
- avoids cross-suite side effects that stalled cursor daemon CI tests
2026-02-20 23:36:22 +07:00
Tam Nhu Tran
5b164a6486
fix(test): prevent child_process mock cross-test leakage
...
- mock only Claude command spawns and pass through real child_process for others
- add missing ChildProcess-compatible fields (pid/unref) on mock child
- stabilizes cursor daemon and ccsd alias tests in CI parallel execution
2026-02-20 23:24:11 +07:00
Tam Nhu Tran
b3177179b1
fix(ui): harden provider preset/icon typing
...
- replace unsafe provider asset/color index lookups with typed helpers
- explicitly type UI preset override map to satisfy ProviderPresetId indexing
- resolves TS7053 failures seen in validate CI after dev merges
2026-02-20 23:24:11 +07:00
Tam Nhu Tran
14242b5681
fix(profiles): reset form state on preset transitions
...
- resolve presets through canonical alias-aware lookup
- reset all tier model fields when switching presets/custom
- derive quick templates from non-recommended categories
2026-02-20 23:24:11 +07:00
Tam Nhu Tran
9ad8e64e85
refactor(ui): centralize provider metadata and fallbacks
...
- move logo, label, and device-code copy into provider-config
- handle unknown or non-string providers without UI crashes
- replace duplicated hardcoded mappings in cliproxy table/logo
2026-02-20 23:24:11 +07:00
Tam Nhu Tran
5b12ce7f00
fix(api): sanitize preset help text rendering
...
- strip control characters from dynamic preset output
- render preset help from shared registry data
- include normalized alias hints without hardcoded lines
2026-02-20 23:24:11 +07:00
Tam Nhu Tran
21d6754ec6
refactor(presets): centralize shared provider preset catalog
...
- add shared preset catalog used by CLI and Dashboard
- enforce alias/id integrity and canonical normalization
- replace duplicated preset definitions in service and UI layers
- allow Vite dev fs access to repo root for shared catalog imports
2026-02-20 23:24:11 +07:00
Tam Nhu Tran
e32192177b
Merge remote-tracking branch 'origin/dev' into kai/fix/588-nested-session-guard
2026-02-20 23:04:59 +07:00
github-actions[bot]
f80c8244f6
chore(release): 7.46.0-dev.8 [skip ci]
2026-02-20 16:01:43 +00:00
Tam Nhu Tran
f2ffb815ab
docs(spawn): document claudecode env sanitization behavior
...
- note delegation compatibility with Claude nested-session guard
- document CLAUDECODE sanitization invariant in code standards
Refs #588
2026-02-20 23:01:21 +07:00
Tam Nhu Tran
80a84edf1f
test(delegation): add regression coverage for claudecode stripping
...
- verify case-insensitive CLAUDECODE removal helper behavior
- cover execClaude env merge, override, no-key, and Windows paths
- cover headless executor spawn env sanitization behavior
Refs #588
2026-02-20 23:01:09 +07:00
Tam Nhu Tran
8e57d59479
fix(execution): strip claudecode in remaining claude paths
...
- sanitize Copilot profile Claude launch environment
- sanitize auth create isolated instance launch environment
- sanitize doctor Claude CLI version check spawn environment
Refs #588
2026-02-20 23:00:59 +07:00
Tam Nhu Tran
d25eda8435
fix(spawn): sanitize claudecode in shared claude env builders
...
- strip CLAUDECODE from cliproxy-built Claude environments
- enforce sanitization in ClaudeAdapter buildEnv
- apply same env hardening in shared spawnClaude helper
Refs #588
2026-02-20 23:00:47 +07:00
Tam Nhu Tran
50412dc679
fix(delegation): strip claudecode in core delegation spawn paths
...
- add shared CLAUDECODE sanitizer for child env construction
- apply sanitizer in execClaude and headless delegation execution
- sanitize GLMT embedded Claude spawn environment
Refs #588
2026-02-20 23:00:33 +07:00
Kai (Tam Nhu) Tran and GitHub
a2cfe7e6c2
Merge pull request #592 from kaitranntt/fix/589-github-copilot-quota-check
...
feat(quota): add GitHub Copilot quota checks for ghcp and copilot
2026-02-20 23:00:14 +07:00
Tam Nhu Tran
8201204380
fix(quota): address ghcp review follow-ups
2026-02-20 22:53:49 +07:00
Tam Nhu Tran
2c5b2af55a
fix(ui): normalize ghcp quota tooltip and labels
2026-02-20 22:40:22 +07:00
Tam Nhu Tran
8d9d4987dc
feat(quota): add GitHub Copilot quota checks for ghcp and copilot
2026-02-20 22:32:27 +07:00
Tam Nhu Tran
4303ee48c9
fix(delegation): strip CLAUDECODE env var to bypass nested session guard
...
Claude Code v2.1.39+ sets CLAUDECODE env var and refuses to launch
if detected, breaking CCS auto-delegation which spawns child Claude
processes. Strip the var from both interactive (execClaude) and
headless (HeadlessExecutor) spawn paths.
Closes #588
2026-02-20 22:22:11 +07:00
github-actions[bot]
00fc478d02
chore(release): 7.46.0-dev.7 [skip ci]
2026-02-20 05:37:41 +00:00
Kai (Tam Nhu) Tran and GitHub
2eddd5c773
Merge pull request #590 from kaitranntt/fix/api-profiles-mobile-scroll
...
fix(ui): make API profile dialog scrollable on small screens
2026-02-20 12:36:18 +07:00
Tam Nhu Tran
faa610f843
fix(ui): make api profile dialog scrollable on small screens
2026-02-20 12:31:19 +07:00
github-actions[bot]
58af0a4423
chore(release): 7.46.0-dev.6 [skip ci]
2026-02-19 09:33:26 +00:00
Kai (Tam Nhu) Tran and GitHub
e63292c793
Merge pull request #587 from kaitranntt/kai/feat/583-thinking-ux-dx
...
feat(thinking): complete thinking UX/DX for all providers
2026-02-19 16:32:05 +07:00