github-actions[bot]
e3a18358e9
chore(release): 5.5.0-dev.6 [skip ci]
2025-12-04 10:07:17 +00:00
github-actions[bot]
0d4d2daf06
chore(release): 5.5.0-dev.5 [skip ci]
2025-12-04 09:46:50 +00:00
github-actions[bot]
c06e7ab871
chore(release): 5.5.0-dev.4 [skip ci]
2025-12-04 08:25:37 +00:00
github-actions[bot]
2126e83da6
chore(release): 5.5.0-dev.3 [skip ci]
2025-12-04 08:20:32 +00:00
github-actions[bot]
5d5d62fac9
chore(release): 5.5.0-dev.2 [skip ci]
2025-12-04 06:27:13 +00:00
semantic-release-bot
ba803ce7f1
chore(release): 5.5.0 [skip ci]
...
# [5.5.0](https://github.com/kaitranntt/ccs/compare/v5.4.3...v5.5.0 ) (2025-12-04)
### Bug Fixes
* **changelog:** restore full changelog history from main ([2e5b1f2 ](https://github.com/kaitranntt/ccs/commit/2e5b1f212abe5611c164cc84388002686175bc8b ))
* **tests:** migrate test suite from mocha to bun test runner ([bd46c8d ](https://github.com/kaitranntt/ccs/commit/bd46c8de1237e3a76c774b00a1c9e026f4c0cd4b ))
### Features
* **kimi:** update default model to kimi-k2-thinking-turbo ([134511c ](https://github.com/kaitranntt/ccs/commit/134511c38b581a720da6b9d7e6608ca6b3c63fb1 ))
2025-12-04 06:06:01 +00:00
semantic-release-bot
4c30cee9ff
chore(release): 5.4.4-dev.2 [skip ci]
...
## [5.4.4-dev.2](https://github.com/kaitranntt/ccs/compare/v5.4.4-dev.1...v5.4.4-dev.2 ) (2025-12-04)
### Bug Fixes
* **changelog:** restore full changelog history from main ([2e5b1f2 ](https://github.com/kaitranntt/ccs/commit/2e5b1f212abe5611c164cc84388002686175bc8b ))
2025-12-04 05:02:46 +00:00
semantic-release-bot
37d372e4b6
chore(release): 5.4.4-dev.1 [skip ci]
...
## [5.4.4-dev.1](https://github.com/kaitranntt/ccs/compare/v5.4.3...v5.4.4-dev.1 ) (2025-12-04)
### Bug Fixes
* **tests:** migrate test suite from mocha to bun test runner ([bd46c8d ](https://github.com/kaitranntt/ccs/commit/bd46c8de1237e3a76c774b00a1c9e026f4c0cd4b ))
2025-12-04 03:08:44 +00:00
kaitranntt
f85eb74771
chore(merge): sync dev with main v5.4.3
2025-12-03 22:07:48 -05:00
semantic-release-bot and kaitranntt
bd46c8de12
fix(tests): migrate test suite from mocha to bun test runner
...
- Replace before()/after() with beforeAll()/afterAll()
- Remove this.timeout() calls (unsupported by bun)
- Update package.json scripts to use bun test
- Fix error message regex for cross-runtime compatibility
- Skip integration tests requiring network/child process mocking
- Format source files with prettier
2025-12-03 21:43:29 -05:00
semantic-release-bot
b58304aefe
chore(release): 5.4.3 [skip ci]
...
## [5.4.3](https://github.com/kaitranntt/ccs/compare/v5.4.2...v5.4.3 ) (2025-12-03)
### Bug Fixes
* **postinstall:** handle broken symlinks during npm install ([81add5a ](https://github.com/kaitranntt/ccs/commit/81add5a05eeb8297ceef840071f11b6a194df707 ))
2025-12-03 11:08:50 +00:00
semantic-release-bot
7af0473bc8
chore(release): 5.4.2 [skip ci]
...
## [5.4.2](https://github.com/kaitranntt/ccs/compare/v5.4.1...v5.4.2 ) (2025-12-03)
### Bug Fixes
* **merge:** resolve conflicts between dev and main ([8347ea6 ](https://github.com/kaitranntt/ccs/commit/8347ea64c6b919a79f5ab63c398b6c36f012ca2d ))
* **sync:** implement copy fallback for windows when symlinks unavailable ([6b3f93a ](https://github.com/kaitranntt/ccs/commit/6b3f93a80a0232e8c964d73e51aa0afb0768b00f )), closes [#45 ](https://github.com/kaitranntt/ccs/issues/45 )
2025-12-03 04:45:30 +00:00
semantic-release-bot
691758ff47
chore(release): 5.4.2-dev.1 [skip ci]
...
## [5.4.2-dev.1](https://github.com/kaitranntt/ccs/compare/v5.4.1...v5.4.2-dev.1 ) (2025-12-03)
### Bug Fixes
* **merge:** resolve conflicts between dev and main ([8347ea6 ](https://github.com/kaitranntt/ccs/commit/8347ea64c6b919a79f5ab63c398b6c36f012ca2d ))
* **sync:** implement copy fallback for windows when symlinks unavailable ([6b3f93a ](https://github.com/kaitranntt/ccs/commit/6b3f93a80a0232e8c964d73e51aa0afb0768b00f )), closes [#45 ](https://github.com/kaitranntt/ccs/issues/45 )
2025-12-03 04:44:35 +00:00
semantic-release-bot
09f3260c23
chore(release): 5.4.1 [skip ci]
...
## [5.4.1](https://github.com/kaitranntt/ccs/compare/v5.4.0...v5.4.1 ) (2025-12-03)
### Bug Fixes
* **cliproxy:** resolve windows auth browser not opening ([af4d6cf ](https://github.com/kaitranntt/ccs/commit/af4d6cff89395a74e2eaf56551d3f56b95e0a6ce )), closes [#42 ](https://github.com/kaitranntt/ccs/issues/42 )
* **doctor:** resolve windows claude cli detection failure ([cfe9ba0 ](https://github.com/kaitranntt/ccs/commit/cfe9ba05a4351302fbb330ca00b6025cb65a8f20 )), closes [#41 ](https://github.com/kaitranntt/ccs/issues/41 )
2025-12-03 02:21:44 +00:00
semantic-release-bot
fd018296ff
chore(release): 5.4.1-dev.1 [skip ci]
...
## [5.4.1-dev.1](https://github.com/kaitranntt/ccs/compare/v5.4.0...v5.4.1-dev.1 ) (2025-12-03)
### Bug Fixes
* **cliproxy:** resolve windows auth browser not opening ([af4d6cf ](https://github.com/kaitranntt/ccs/commit/af4d6cff89395a74e2eaf56551d3f56b95e0a6ce )), closes [#42 ](https://github.com/kaitranntt/ccs/issues/42 )
* **doctor:** resolve windows claude cli detection failure ([cfe9ba0 ](https://github.com/kaitranntt/ccs/commit/cfe9ba05a4351302fbb330ca00b6025cb65a8f20 )), closes [#41 ](https://github.com/kaitranntt/ccs/issues/41 )
2025-12-03 02:19:11 +00:00
semantic-release-bot
5139c4a1d4
chore(release): 5.4.0 [skip ci]
...
# [5.4.0](https://github.com/kaitranntt/ccs/compare/v5.3.0...v5.4.0 ) (2025-12-02)
### Bug Fixes
* **auth:** prevent default profile from using stale glm env vars ([13d13da ](https://github.com/kaitranntt/ccs/commit/13d13dab516332bc17345dc77afd44ae48bdd2aa )), closes [#37 ](https://github.com/kaitranntt/ccs/issues/37 )
* **cliproxy:** convert windows backslashes to forward slashes in config.yaml auth-dir ([a6663cb ](https://github.com/kaitranntt/ccs/commit/a6663cbd0471d1a08e8bbcdea897760b434ae937 )), closes [#36 ](https://github.com/kaitranntt/ccs/issues/36 )
* **cliproxy:** improve qwen oauth error handling ([7e0b0fe ](https://github.com/kaitranntt/ccs/commit/7e0b0feca8ce2ed5d505c5bf6c84e54c6df8839e )), closes [#29 ](https://github.com/kaitranntt/ccs/issues/29 )
* **cliproxy:** use double-dash flags for cliproxyapi auth ([#24 ](https://github.com/kaitranntt/ccs/issues/24 )) ([4c81f28 ](https://github.com/kaitranntt/ccs/commit/4c81f28f0b67ef92cf74d0f5c13a5943ff0a7f00 ))
* **deps:** add chalk, boxen, gradient-string, listr2 as dependencies ([a214749 ](https://github.com/kaitranntt/ccs/commit/a214749725cfe05612e2c84cefa2ab3f619c6a2e ))
* **glmt:** handle 401 errors and headers-already-sent exception ([#30 ](https://github.com/kaitranntt/ccs/issues/30 )) ([c953382 ](https://github.com/kaitranntt/ccs/commit/c95338232a37981b95b785b47185ce18d6d94b7a )), closes [#26 ](https://github.com/kaitranntt/ccs/issues/26 )
* **prompt:** improve password input handling with raw mode and buffer support ([bc56d2e ](https://github.com/kaitranntt/ccs/commit/bc56d2e135532b2ae443144dd42217b26bcba951 ))
### Features
* **cliproxy:** add qwen code oauth provider support ([#31 ](https://github.com/kaitranntt/ccs/issues/31 )) ([a3f1e52 ](https://github.com/kaitranntt/ccs/commit/a3f1e52ac68600ba0806d67aacceb6477ffa3543 )), closes [#29 ](https://github.com/kaitranntt/ccs/issues/29 )
* **cliproxy:** auto-update cliproxyapi to latest release on startup ([8873ccd ](https://github.com/kaitranntt/ccs/commit/8873ccd981679e8acff8965accdc22215c6e4aa2 ))
* **profile:** add profile command with configuration display ([53d7a15 ](https://github.com/kaitranntt/ccs/commit/53d7a15c047e760723e051dc0f7be3c0dd42d087 ))
* **shell-completion:** add --force flag and fix zsh profile coloring ([7faed1d ](https://github.com/kaitranntt/ccs/commit/7faed1d84ba29ba02bf687bae5b3458617512e67 ))
* **ui:** add central ui abstraction layer for cli styling ([6e49e0e ](https://github.com/kaitranntt/ccs/commit/6e49e0e7e157abd4a38c98553dbe3c16473b57d9 ))
* **ui:** enhance auth commands with new ui layer ([6f42a65 ](https://github.com/kaitranntt/ccs/commit/6f42a6527b1bf02cbf29ec23525c9f27af6f0c98 ))
* **ui:** enhance delegation with listr2 task lists and styled output ([716193a ](https://github.com/kaitranntt/ccs/commit/716193a682a1504767c7f32409a0de51278242eb ))
* **ui:** enhance doctor and error manager with new ui layer ([57016f3 ](https://github.com/kaitranntt/ccs/commit/57016f3f765f207915161514e1827b18c0b03d5c ))
* **ui:** enhance help and profile commands with new ui layer ([f3ed359 ](https://github.com/kaitranntt/ccs/commit/f3ed359050ce66d96c0109cf60c242bfd092114d ))
* **ui:** enhance section headers with gradient and rename profile to api ([073a5e1 ](https://github.com/kaitranntt/ccs/commit/073a5e15ee8f895d7485864526d8946b774bb728 ))
2025-12-02 22:22:39 +00:00
semantic-release-bot
1013c567f4
chore(release): 5.4.0-beta.3 [skip ci]
...
# [5.4.0-beta.3](https://github.com/kaitranntt/ccs/compare/v5.4.0-beta.2...v5.4.0-beta.3 ) (2025-12-02)
### Bug Fixes
* **cliproxy:** convert windows backslashes to forward slashes in config.yaml auth-dir ([a6663cb ](https://github.com/kaitranntt/ccs/commit/a6663cbd0471d1a08e8bbcdea897760b434ae937 )), closes [#36 ](https://github.com/kaitranntt/ccs/issues/36 )
2025-12-02 22:11:33 +00:00
semantic-release-bot
b15f0588c1
chore(release): 5.4.0-beta.2 [skip ci]
...
# [5.4.0-beta.2](https://github.com/kaitranntt/ccs/compare/v5.4.0-beta.1...v5.4.0-beta.2 ) (2025-12-02)
### Bug Fixes
* **auth:** prevent default profile from using stale glm env vars ([13d13da ](https://github.com/kaitranntt/ccs/commit/13d13dab516332bc17345dc77afd44ae48bdd2aa )), closes [#37 ](https://github.com/kaitranntt/ccs/issues/37 )
2025-12-02 21:02:08 +00:00
semantic-release-bot
dcd55047c3
chore(release): 5.4.0-beta.1 [skip ci]
...
# [5.4.0-beta.1](https://github.com/kaitranntt/ccs/compare/v5.3.0...v5.4.0-beta.1 ) (2025-12-02)
### Bug Fixes
* **cliproxy:** improve qwen oauth error handling ([7e0b0fe ](https://github.com/kaitranntt/ccs/commit/7e0b0feca8ce2ed5d505c5bf6c84e54c6df8839e )), closes [#29 ](https://github.com/kaitranntt/ccs/issues/29 )
* **cliproxy:** use double-dash flags for cliproxyapi auth ([#24 ](https://github.com/kaitranntt/ccs/issues/24 )) ([4c81f28 ](https://github.com/kaitranntt/ccs/commit/4c81f28f0b67ef92cf74d0f5c13a5943ff0a7f00 ))
* **deps:** add chalk, boxen, gradient-string, listr2 as dependencies ([a214749 ](https://github.com/kaitranntt/ccs/commit/a214749725cfe05612e2c84cefa2ab3f619c6a2e ))
* **glmt:** handle 401 errors and headers-already-sent exception ([#30 ](https://github.com/kaitranntt/ccs/issues/30 )) ([c953382 ](https://github.com/kaitranntt/ccs/commit/c95338232a37981b95b785b47185ce18d6d94b7a )), closes [#26 ](https://github.com/kaitranntt/ccs/issues/26 )
* **prompt:** improve password input handling with raw mode and buffer support ([bc56d2e ](https://github.com/kaitranntt/ccs/commit/bc56d2e135532b2ae443144dd42217b26bcba951 ))
### Features
* **cliproxy:** add qwen code oauth provider support ([#31 ](https://github.com/kaitranntt/ccs/issues/31 )) ([a3f1e52 ](https://github.com/kaitranntt/ccs/commit/a3f1e52ac68600ba0806d67aacceb6477ffa3543 )), closes [#29 ](https://github.com/kaitranntt/ccs/issues/29 )
* **cliproxy:** auto-update cliproxyapi to latest release on startup ([8873ccd ](https://github.com/kaitranntt/ccs/commit/8873ccd981679e8acff8965accdc22215c6e4aa2 ))
* **profile:** add profile command with configuration display ([53d7a15 ](https://github.com/kaitranntt/ccs/commit/53d7a15c047e760723e051dc0f7be3c0dd42d087 ))
* **shell-completion:** add --force flag and fix zsh profile coloring ([7faed1d ](https://github.com/kaitranntt/ccs/commit/7faed1d84ba29ba02bf687bae5b3458617512e67 ))
* **ui:** add central ui abstraction layer for cli styling ([6e49e0e ](https://github.com/kaitranntt/ccs/commit/6e49e0e7e157abd4a38c98553dbe3c16473b57d9 ))
* **ui:** enhance auth commands with new ui layer ([6f42a65 ](https://github.com/kaitranntt/ccs/commit/6f42a6527b1bf02cbf29ec23525c9f27af6f0c98 ))
* **ui:** enhance delegation with listr2 task lists and styled output ([716193a ](https://github.com/kaitranntt/ccs/commit/716193a682a1504767c7f32409a0de51278242eb ))
* **ui:** enhance doctor and error manager with new ui layer ([57016f3 ](https://github.com/kaitranntt/ccs/commit/57016f3f765f207915161514e1827b18c0b03d5c ))
* **ui:** enhance help and profile commands with new ui layer ([f3ed359 ](https://github.com/kaitranntt/ccs/commit/f3ed359050ce66d96c0109cf60c242bfd092114d ))
* **ui:** enhance section headers with gradient and rename profile to api ([073a5e1 ](https://github.com/kaitranntt/ccs/commit/073a5e15ee8f895d7485864526d8946b774bb728 ))
2025-12-02 20:30:38 +00:00
kaitranntt
a214749725
fix(deps): add chalk, boxen, gradient-string, listr2 as dependencies
2025-12-02 15:29:50 -05:00
semantic-release-bot
f1ada81193
chore(release): 5.3.0 [skip ci]
...
# [5.3.0](https://github.com/kaitranntt/ccs/compare/v5.2.1...v5.3.0 ) (2025-12-01)
### Features
* **profile,shell-completion,prompt:** add profile commands and improve input handling ([#34 ](https://github.com/kaitranntt/ccs/issues/34 )) ([7ec8cc8 ](https://github.com/kaitranntt/ccs/commit/7ec8cc83690a595bba9bb5f62fb3b9fa6b6a2f8f )), closes [#24 ](https://github.com/kaitranntt/ccs/issues/24 ) [#30 ](https://github.com/kaitranntt/ccs/issues/30 ) [#26 ](https://github.com/kaitranntt/ccs/issues/26 ) [#31 ](https://github.com/kaitranntt/ccs/issues/31 ) [#29 ](https://github.com/kaitranntt/ccs/issues/29 ) [#29 ](https://github.com/kaitranntt/ccs/issues/29 )
2025-12-01 23:13:58 +00:00
7ec8cc8369
feat(profile,shell-completion,prompt): add profile commands and improve input handling ( #34 )
...
* fix(cliproxy): use double-dash flags for cliproxyapi auth (#24 )
CLIProxyAPI updated from single-dash to double-dash CLI flags.
Changed -login to --login, -codex-login to --codex-login,
-antigravity-login to --antigravity-login, -config to --config,
and -no-browser to --no-browser.
* chore(release): 5.1.1-beta.1 [skip ci]
## [5.1.1-beta.1](https://github.com/kaitranntt/ccs/compare/v5.1.0...v5.1.1-beta.1 ) (2025-12-01)
### Bug Fixes
* **cliproxy:** use double-dash flags for cliproxyapi auth ([#24 ](https://github.com/kaitranntt/ccs/issues/24 )) ([4c81f28 ](https://github.com/kaitranntt/ccs/commit/4c81f28f0b67ef92cf74d0f5c13a5943ff0a7f00 ))
* chore(release): 5.1.1-beta.2 [skip ci]
## [5.1.1-beta.2](https://github.com/kaitranntt/ccs/compare/v5.1.1-beta.1...v5.1.1-beta.2 ) (2025-12-01)
### Bug Fixes
* **cliproxy:** use double-dash flags for cliproxyapi auth ([9489884 ](https://github.com/kaitranntt/ccs/commit/94898848ea4533dcfc142e1b6c9bf939ba655537 ))
* fix(glmt): handle 401 errors and headers-already-sent exception (#30 )
- add res.headersSent check before writing error headers
- write error as SSE event when headers already sent (streaming mode)
- add parseUpstreamError() for user-friendly error messages
- return proper HTTP status codes (401, 403, 429, 502, 504)
- clear auth error: check ANTHROPIC_AUTH_TOKEN in config
Fixes #26
* chore(release): 5.1.1-beta.3 [skip ci]
## [5.1.1-beta.3](https://github.com/kaitranntt/ccs/compare/v5.1.1-beta.2...v5.1.1-beta.3 ) (2025-12-01)
### Bug Fixes
* **glmt:** handle 401 errors and headers-already-sent exception ([#30 ](https://github.com/kaitranntt/ccs/issues/30 )) ([c953382 ](https://github.com/kaitranntt/ccs/commit/c95338232a37981b95b785b47185ce18d6d94b7a )), closes [#26 ](https://github.com/kaitranntt/ccs/issues/26 )
* chore(release): enable success comments and released labels in semantic-release
* feat(cliproxy): add qwen code oauth provider support (#31 )
Add 'qwen' as new CLIProxy OAuth provider with --qwen-login flag.
Support qwen3-coder model with base config at config/base-qwen.settings.json.
Register qwen OAuth endpoints and token prefix handling.
Update help documentation across all CLI entry points.
Implements issue #29
* chore(release): 5.2.0-beta.1 [skip ci]
# [5.2.0-beta.1](https://github.com/kaitranntt/ccs/compare/v5.1.1-beta.3...v5.2.0-beta.1 ) (2025-12-01)
### Features
* **cliproxy:** add qwen code oauth provider support ([#31 ](https://github.com/kaitranntt/ccs/issues/31 )) ([a3f1e52 ](https://github.com/kaitranntt/ccs/commit/a3f1e52ac68600ba0806d67aacceb6477ffa3543 )), closes [#29 ](https://github.com/kaitranntt/ccs/issues/29 )
* feat(cliproxy): auto-update cliproxyapi to latest release on startup
- add github api integration to fetch latest release version
- check for updates on every startup (cached for 1 hour)
- auto-download newer versions when available
- rename CLIPROXY_VERSION to CLIPROXY_FALLBACK_VERSION (safety net)
- add version tracking (.version file) and caching (.version-cache.json)
- non-blocking: startup continues if update check fails
* chore(release): 5.2.0-beta.2 [skip ci]
# [5.2.0-beta.2](https://github.com/kaitranntt/ccs/compare/v5.2.0-beta.1...v5.2.0-beta.2 ) (2025-12-01)
### Features
* **cliproxy:** auto-update cliproxyapi to latest release on startup ([8873ccd ](https://github.com/kaitranntt/ccs/commit/8873ccd981679e8acff8965accdc22215c6e4aa2 ))
* chore(release): 5.3.0-beta.1 [skip ci]
# [5.3.0-beta.1](https://github.com/kaitranntt/ccs/compare/v5.2.0...v5.3.0-beta.1 ) (2025-12-01)
### Bug Fixes
* **cliproxy:** use double-dash flags for cliproxyapi auth ([#24 ](https://github.com/kaitranntt/ccs/issues/24 )) ([4c81f28 ](https://github.com/kaitranntt/ccs/commit/4c81f28f0b67ef92cf74d0f5c13a5943ff0a7f00 ))
* **glmt:** handle 401 errors and headers-already-sent exception ([#30 ](https://github.com/kaitranntt/ccs/issues/30 )) ([c953382 ](https://github.com/kaitranntt/ccs/commit/c95338232a37981b95b785b47185ce18d6d94b7a )), closes [#26 ](https://github.com/kaitranntt/ccs/issues/26 )
### Features
* **cliproxy:** add qwen code oauth provider support ([#31 ](https://github.com/kaitranntt/ccs/issues/31 )) ([a3f1e52 ](https://github.com/kaitranntt/ccs/commit/a3f1e52ac68600ba0806d67aacceb6477ffa3543 )), closes [#29 ](https://github.com/kaitranntt/ccs/issues/29 )
* **cliproxy:** auto-update cliproxyapi to latest release on startup ([8873ccd ](https://github.com/kaitranntt/ccs/commit/8873ccd981679e8acff8965accdc22215c6e4aa2 ))
* fix(cliproxy): improve qwen oauth error handling
- Updated OAuth port documentation with correct flow types per provider
- Removed Qwen from port cleanup logic (Device Code Flow has no callback)
- Fixed Qwen error messages to show Device Code Flow troubleshooting tips
Fixes #29
* chore(release): 5.3.0-beta.2 [skip ci]
# [5.3.0-beta.2](https://github.com/kaitranntt/ccs/compare/v5.3.0-beta.1...v5.3.0-beta.2 ) (2025-12-01)
### Bug Fixes
* **cliproxy:** improve qwen oauth error handling ([7e0b0fe ](https://github.com/kaitranntt/ccs/commit/7e0b0feca8ce2ed5d505c5bf6c84e54c6df8839e )), closes [#29 ](https://github.com/kaitranntt/ccs/issues/29 )
* feat(profile): add profile command with configuration display
* feat(shell-completion): add --force flag and fix zsh profile coloring
* fix(prompt): improve password input handling with raw mode and buffer support
* chore(release): 5.3.0-beta.3 [skip ci]
# [5.3.0-beta.3](https://github.com/kaitranntt/ccs/compare/v5.3.0-beta.2...v5.3.0-beta.3 ) (2025-12-01)
### Bug Fixes
* **prompt:** improve password input handling with raw mode and buffer support ([bc56d2e ](https://github.com/kaitranntt/ccs/commit/bc56d2e135532b2ae443144dd42217b26bcba951 ))
### Features
* **profile:** add profile command with configuration display ([53d7a15 ](https://github.com/kaitranntt/ccs/commit/53d7a15c047e760723e051dc0f7be3c0dd42d087 ))
* **shell-completion:** add --force flag and fix zsh profile coloring ([7faed1d ](https://github.com/kaitranntt/ccs/commit/7faed1d84ba29ba02bf687bae5b3458617512e67 ))
* chore(release): 5.3.0-beta.4 [skip ci]
# [5.3.0-beta.4](https://github.com/kaitranntt/ccs/compare/v5.3.0-beta.3...v5.3.0-beta.4 ) (2025-12-01)
### Bug Fixes
* **cliproxy:** improve qwen oauth error handling ([#33 ](https://github.com/kaitranntt/ccs/issues/33 )) ([1c3374f ](https://github.com/kaitranntt/ccs/commit/1c3374f6a7e4440e299d49b58808c6454b4547c2 )), closes [#29 ](https://github.com/kaitranntt/ccs/issues/29 )
---------
Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net >
2025-12-01 18:04:04 -05:00
semantic-release-bot
7f3f1fc34a
chore(release): 5.2.1 [skip ci]
...
## [5.2.1](https://github.com/kaitranntt/ccs/compare/v5.2.0...v5.2.1 ) (2025-12-01)
### Bug Fixes
* **cliproxy:** improve qwen oauth error handling ([#33 ](https://github.com/kaitranntt/ccs/issues/33 )) ([1c3374f ](https://github.com/kaitranntt/ccs/commit/1c3374f6a7e4440e299d49b58808c6454b4547c2 )), closes [#29 ](https://github.com/kaitranntt/ccs/issues/29 )
2025-12-01 10:23:00 +00:00
Kai (Tam Nhu) Tran and GitHub
1c3374f6a7
fix(cliproxy): improve qwen oauth error handling ( #33 )
...
Fixes #29
- Update OAuth flow documentation (Qwen uses Device Code Flow, not callback-based)
- Remove incorrect port cleanup for Qwen (Device Code Flow needs no port)
- Fix error messages to show Qwen-specific troubleshooting tips
2025-12-01 05:22:33 -05:00
semantic-release-bot
d8e7d772a9
chore(release): 5.2.0 [skip ci]
...
# [5.2.0](https://github.com/kaitranntt/ccs/compare/v5.1.1...v5.2.0 ) (2025-12-01)
### Features
* **release:** trigger v5.2.0 release ([7b65374 ](https://github.com/kaitranntt/ccs/commit/7b65374100196562a4f83705c8626fc7e6bb35d6 ))
2025-12-01 09:17:50 +00:00
semantic-release-bot
27ee769ec0
chore(release): 5.1.1 [skip ci]
...
## [5.1.1](https://github.com/kaitranntt/ccs/compare/v5.1.0...v5.1.1 ) (2025-12-01)
### Bug Fixes
* **cliproxy:** use double-dash flags for cliproxyapi auth ([9489884 ](https://github.com/kaitranntt/ccs/commit/94898848ea4533dcfc142e1b6c9bf939ba655537 ))
2025-12-01 03:04:14 +00:00
5665b4a0aa
chore: promote beta v5.1.1-beta.1 to main ( #28 )
...
* fix(cliproxy): use double-dash flags for cliproxyapi auth (#24 )
CLIProxyAPI updated from single-dash to double-dash CLI flags.
Changed -login to --login, -codex-login to --codex-login,
-antigravity-login to --antigravity-login, -config to --config,
and -no-browser to --no-browser.
* chore(release): 5.1.1-beta.1 [skip ci]
## [5.1.1-beta.1](https://github.com/kaitranntt/ccs/compare/v5.1.0...v5.1.1-beta.1 ) (2025-12-01)
### Bug Fixes
* **cliproxy:** use double-dash flags for cliproxyapi auth ([#24 ](https://github.com/kaitranntt/ccs/issues/24 )) ([4c81f28 ](https://github.com/kaitranntt/ccs/commit/4c81f28f0b67ef92cf74d0f5c13a5943ff0a7f00 ))
---------
Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net >
2025-11-30 21:51:55 -05:00
semantic-release-bot
211215adcf
chore(release): 5.1.0 [skip ci]
...
# [5.1.0](https://github.com/kaitranntt/ccs/compare/v5.0.2...v5.1.0 ) (2025-12-01)
### Bug Fixes
* **ci:** use pat token to bypass branch protection ([04af7e7 ](https://github.com/kaitranntt/ccs/commit/04af7e7c09edbc4207f332e7a613d92df1f2fea1 ))
### Features
* **release:** implement semantic versioning automation with conventional commits ([d3d9637 ](https://github.com/kaitranntt/ccs/commit/d3d96371def7b5b44d6133ad50d86c934cdf1ad4 ))
2025-12-01 00:13:39 +00:00
kaitranntt
d3d96371de
feat(release): implement semantic versioning automation with conventional commits
...
- Add semantic-release for automated npm publishing
- Add commitlint + husky for commit message enforcement
- Add professional branching strategy (beta → main workflow)
- Create .releaserc.json with multi-branch config
- Create sync-version-plugin.cjs for VERSION file sync
- Update release.yml workflow (Node.js 22 required)
- Update CLAUDE.md and CONTRIBUTING.md with new workflow
- Deprecate manual bump-version.sh script
2025-11-30 18:56:02 -05:00
kaitranntt
72c2b08715
refactor: consolidate test structure and remove backup files
...
- Move ux-integration-test.sh to tests/integration/ directory
- Consolidate tests/fixtures/ into tests/shared/fixtures/
- Fix import paths in cli.test.js and postinstall.test.js
- Remove src/ccs.ts.backup file (958 lines)
- Remove empty src/scripts/ directory
- Remove non-existent test:edge-cases script from package.json
- Update tests/README.md with accurate structure
- Update CONTRIBUTING.md with correct test commands
- Update docs/system-architecture.md with correct test paths
2025-11-30 17:54:04 -05:00
kaitranntt
cb7e38d2b1
refactor: replace custom test runner with Node.js assert
...
- Simplify test files by removing custom TestRunner class
- Use standard Node.js assert module across all unit tests
- Update CLAUDE.md with streamlined development instructions
- Update tests/README.md with current testing approach
- Reduce boilerplate in delegation and GLMT test suites (652 lines removed)
2025-11-30 17:42:52 -05:00
kaitranntt
ce9d60d0ca
feat(cliproxy): add user-defined CLIProxy variants
...
Allow users to create custom profile names that route through CLIProxy
providers with different model configurations.
Config example:
{
"cliproxy": {
"flash": { "provider": "gemini", "settings": "~/.ccs/gemini-flash.settings.json" },
"pro": { "provider": "gemini", "settings": "~/.ccs/gemini-pro.settings.json" }
}
}
Usage: ccs flash "quick task" or ccs pro "complex analysis"
Changes:
- Add CLIProxyVariantConfig types to src/types/config.ts
- Update profile-detector to check config.cliproxy section (Priority 1)
- Pass customSettingsPath through executor chain
- Update getEffectiveEnvVars to support custom settings path
- Document feature in README.md and CLAUDE.md
- Bump version to 5.0.2
2025-11-30 04:02:43 -05:00
kaitranntt
93b38d8550
fix(cliproxy): detect Gemini tokens by JSON type field
...
Root cause: CLIProxyAPI saves Gemini tokens without prefix
({email}-{projectID}.json), but CCS was only looking for
gemini-* files. Added content-based detection as fallback.
Changes:
- Added PROVIDER_TYPE_VALUES map for JSON type detection
- Added isTokenFileForProvider() for content-based detection
- Updated isAuthenticated() and getAuthStatus() with dual strategy
- Fixed triggerOAuth() success messaging and error hints
- Bumped patch version (3.0.8 -> 3.0.9)
2025-11-29 02:27:57 -05:00
kaitranntt
5f71eba6f6
feat(cliproxy): add CLIProxyAPI integration for OAuth profiles
...
Complete integration of CLIProxyAPI for zero-config OAuth profiles.
New profiles:
- ccs gemini: Gemini via OAuth
- ccs chatgpt: ChatGPT via OAuth
- ccs qwen: Qwen via OAuth
Implementation:
- Phase 1: Binary infrastructure (download-on-demand)
- Phase 2: Proxy executor (spawn/kill pattern)
- Phase 3: OAuth integration (browser-based auth)
- Phase 4: Profile registration (routing + help text)
- Phase 5: Diagnostics (doctor command + errors)
Files added:
- src/cliproxy/*.ts (binary-manager, platform-detector, executor, auth-handler, config-generator, types, index)
Files modified:
- src/ccs.ts (CLIProxy routing)
- src/auth/profile-detector.ts (cliproxy profile type)
- src/commands/help-command.ts (new profiles in help)
- src/management/doctor.ts (CLIProxy health checks)
- src/utils/error-manager.ts (OAuth/port/download errors)
- CHANGELOG.md (v5.0.0 release notes)
Tests: 42/42 passed
2025-11-28 16:28:15 -05:00
kaitranntt
d56df0a95e
chore: bump version to 4.5.0
2025-11-27 09:34:58 -05:00
kaitranntt
0139333146
feat: set up quality gates for CCS TypeScript package
...
- Migrate package manager from npm to bun
- Add ESLint configuration with TypeScript support
- Add Prettier configuration and .prettierignore
- Format all TypeScript source files
- Update CLAUDE.md with bun instructions
- Verify 39 tests passing
2025-11-26 20:43:21 -05:00
kaitranntt
ea6695f4a9
feat(typescript): convert 4 missing utilities to TypeScript
...
- claude-dir-installer.ts: copy .claude/ from package (~300 LOC)
- claude-symlink-manager.ts: selective symlinks to ~/.claude/ (~310 LOC)
- progress-indicator.ts: CLI spinners/progress display (~120 LOC)
- update-checker.ts: version update notifications (~250 LOC)
All strict TypeScript, no any types, cross-platform compatible.
39/39 tests pass.
2025-11-26 19:37:59 -05:00
kaitranntt
77d026869e
fix(tsconfig): remove duplicate compiler options
...
- Remove duplicate allowSyntheticDefaultImports (lines 16 & 42)
- Remove duplicate skipLibCheck (lines 18 & 46)
- Add TypeScript source files for npm package migration
- Verify build pipeline works (42/42 tests pass)
2025-11-26 19:24:40 -05:00
kaitranntt
739895a29e
feat(config): introduce shared settings.json across profiles
2025-11-23 20:31:39 -05:00
Kai (Tam Nhu) Tran and GitHub
0f82b0cb06
fix: clear package manager cache during update to ensure fresh downloads (v4.3.10) ( #19 )
...
* fix: clear package manager cache during update to ensure fresh downloads (v4.3.10)
Resolves issue where 'ccs update' would report success but serve cached package versions, requiring manual 'npm cache clean --force'.
Changes:
- Node.js (bin/ccs.js): Added cache clearing for npm, yarn, pnpm before update
- Bash (lib/ccs): Added 'npm cache clean --force' before npm update
- PowerShell (lib/ccs.ps1): Added 'npm cache clean --force' before npm update
- Updated manual fallback commands to include cache clearing
- Non-blocking: continues with update even if cache clearing fails
Version bumped to 4.3.10
* docs: update CHANGELOG for v4.3.10
2025-11-22 20:57:54 -05:00
Kai (Tam Nhu) Tran and GitHub
e148373c62
fix: resolve missing commands/ccs.md symlink during npm install (v4.3.9) ( #18 )
...
* fix: add missing commands/ccs.md symlink during npm install
Previously, the ClaudeSymlinkManager only created symlinks for the
commands/ccs directory and skills/ccs-delegation directory, but missed
the commands/ccs.md file. This resulted in an incomplete symlink structure
where users would see the ccs folder symlinked but not the ccs.md file.
Added commands/ccs.md to the ccsItems array to ensure all CCS components
are properly symlinked during installation.
Fixes: npm install now creates complete symlink structure for all CCS items
* chore: bump version to 4.3.9
2025-11-22 20:18:57 -05:00
Kai (Tam Nhu) Tran and GitHub
7ea4448abf
fix: missing ~/.ccs/.claude/ directory and ora v9 compatibility (v4.3.8) ( #17 )
...
* fix(postinstall): make ora dependency optional to fix missing ~/.ccs/.claude/ directory
The root cause was that `ora` module was not available during `npm install`
when the postinstall script runs, causing both:
- .claude/ directory copy to fail (ClaudeDirInstaller)
- Symlink creation to fail (ClaudeSymlinkManager)
This resulted in the ~/.ccs/.claude/ directory not being created.
Changes:
- Made ora import optional in ClaudeDirInstaller
- Made ora import optional in ClaudeSymlinkManager
- Both classes now gracefully fallback to console.log when ora is unavailable
- Postinstall now successfully creates ~/.ccs/.claude/ and symlinks
Tested: Clean install now properly creates all directories and symlinks
* chore: bump version to 4.3.7
Version 4.3.7 - Postinstall Fix Release
Changes:
- Fixed missing ~/.ccs/.claude/ directory during npm install
- Made ora dependency optional in installer utilities
- Added CHANGELOG entry documenting the fix
Files updated:
- VERSION: 4.3.6 -> 4.3.7
- package.json: version updated
- lib/ccs: version string updated
- lib/ccs.ps1: version string updated
- installers/install.sh: version string updated
- installers/install.ps1: version string updated
- CHANGELOG.md: added 4.3.7 release notes
* fix: handle ora v9 ES module compatibility
ora v9.0.0 is now an ES module, which requires using .default when
importing with CommonJS require(). This was causing "ora is not a
function" errors in doctor.js and installer utilities.
Changes:
- Updated ora import to use oraModule.default || oraModule
- Added fallback spinner implementation for when ora is unavailable
- Ensures compatibility with both ES and CommonJS module systems
- Fixes ccs doctor command and postinstall script
Tested:
- ccs doctor now works correctly with spinners
- postinstall successfully creates ~/.ccs/.claude/ and symlinks
- Fallback console.log works when ora is unavailable
* chore: update package-lock.json
* chore: bump version to 4.3.8
Version 4.3.8 - ora v9 Compatibility Release
Changes:
- Fixed ora v9 ES module compatibility issues
- Updated CHANGELOG with 4.3.8 release notes
Files updated:
- VERSION: 4.3.7 -> 4.3.8
- package.json: version updated
- lib/ccs: version string updated
- lib/ccs.ps1: version string updated
- installers/install.sh: version string updated
- installers/install.ps1: version string updated
- CHANGELOG.md: added 4.3.8 release notes
2025-11-22 20:07:15 -05:00
Kai (Tam Nhu) Tran and GitHub
e97311cd3b
fix: resolve missing ~/.ccs/.claude/ directory during npm install (v4.3.7) ( #16 )
...
* fix(postinstall): make ora dependency optional to fix missing ~/.ccs/.claude/ directory
The root cause was that `ora` module was not available during `npm install`
when the postinstall script runs, causing both:
- .claude/ directory copy to fail (ClaudeDirInstaller)
- Symlink creation to fail (ClaudeSymlinkManager)
This resulted in the ~/.ccs/.claude/ directory not being created.
Changes:
- Made ora import optional in ClaudeDirInstaller
- Made ora import optional in ClaudeSymlinkManager
- Both classes now gracefully fallback to console.log when ora is unavailable
- Postinstall now successfully creates ~/.ccs/.claude/ and symlinks
Tested: Clean install now properly creates all directories and symlinks
* chore: bump version to 4.3.7
Version 4.3.7 - Postinstall Fix Release
Changes:
- Fixed missing ~/.ccs/.claude/ directory during npm install
- Made ora dependency optional in installer utilities
- Added CHANGELOG entry documenting the fix
Files updated:
- VERSION: 4.3.6 -> 4.3.7
- package.json: version updated
- lib/ccs: version string updated
- lib/ccs.ps1: version string updated
- installers/install.sh: version string updated
- installers/install.ps1: version string updated
- CHANGELOG.md: added 4.3.7 release notes
2025-11-22 19:43:50 -05:00
Kai (Tam Nhu) Tran and GitHub
e2e432837e
feat: add plugin support to shared directories (v4.3.6) ( #15 )
...
* feat(shared): add plugin support to shared directories
Add Claude Code plugins to the .ccs/shared/ symlink architecture,
enabling plugin sharing across all CCS profiles (GLM, GLMT, Kimi, etc).
Changes:
- SharedManager: Add 'plugins' to sharedDirs array
- Help text: Update all three implementations (Node.js, bash, PowerShell)
- Postinstall: Create ~/.ccs/shared/plugins/ directory on install
Architecture:
~/.claude/plugins/ <- ~/.ccs/shared/plugins/ <- instance/plugins/
This follows the existing pattern for commands/skills/agents and
maintains cross-platform compatibility with Windows fallback support.
* chore: bump version to 4.3.6
* docs: update CHANGELOG for v4.3.6
2025-11-22 19:27:04 -05:00
kaitranntt
ebb33b7843
feat(installer): add deprecated agent cleanup logic
2025-11-22 13:24:13 -05:00
kaitranntt
ca8f7f0d61
fix(update): Automatically detect package manager for ccs update
2025-11-22 12:44:29 -05:00
kaitranntt
24a11e1051
refactor(delegation)!: consolidate commands with intelligent profile selection
...
BREAKING CHANGE: Replace 4 hardcoded commands with 2 intelligent commands:
- Old: /ccs:glm, /ccs:kimi, /ccs:glm:continue, /ccs:kimi:continue
- New: /ccs (auto-selects), /ccs:continue (auto-dects)
- Override with flags: /ccs --glm "task", /ccs --kimi "task"
This change:
- Adds intelligent profile selection based on task analysis
- Supports custom profiles without creating new commands
- Enhances session management with automatic profile detection
- Updates all help text, examples, and documentation
- Fixes CCS Doctor health checks for new command structure
2025-11-21 20:31:44 -05:00
kaitranntt
d82bb8095b
chore: bump version to 4.3.2
2025-11-18 20:40:34 -05:00
Kai (Tam Nhu) Tran and GitHub
e770200cb4
feat(completion): improve fish shell completion with category prefixes ( #14 )
...
* feat(completion): improve fish shell completion with category prefixes
- Remove problematic inline set_color commands that prevented descriptions from displaying
- Add [cmd], [model], and [account] prefixes to visually group completions
- Update file header to document categorization features
This brings fish completion quality closer to zsh by making categories
clear and ensuring descriptions actually display to users.
Fixes issue where fish completions showed no descriptions.
* chore: bump version to 4.3.1
2025-11-18 02:52:48 -05:00
Kai (Tam Nhu) Tran and kaitranntt
67dbd3f259
feat: improve UX for ccs doctor and sync commands ( #13 )
...
* feat: enhance UX for 'ccs sync' and 'ccs doctor' commands
- Add ora spinners for real-time progress feedback
- Add cli-table3 for structured health check summary table
- Display detailed component information in doctor report
- Show file/directory counts during sync operations
- Improve visual hierarchy and readability
- Fix Unicode checkmark violation (replaced with [OK])
Breaking changes: None
Dependencies added: ora@^5.4.1, cli-table3@^0.6.5
Version bumped to 4.3.0
* fix: match doctor summary header width to table width
* feat: improve settings validation to check API keys, not just endpoints
- Check if API keys are configured or still placeholders
- Show 'Key configured' vs 'Placeholder key (not configured)'
- Previous message 'Valid (API: api.z.ai)' was misleading
- Now users can clearly see which profiles need API key configuration
- Warnings shown for placeholder keys (yellow [!])
* feat: add category grouping and alignment to doctor checks
- Group checks into logical categories: System, Configuration, Profiles & Delegation, System Health
- Add consistent padding (26 chars) for aligned columns
- Add 2-space indent for better visual hierarchy
- Separate categories with blank lines for better readability
- Much cleaner and easier to scan than before
* fix: perfect alignment for all doctor check output
- Use .padEnd(26) consistently for all component names
- Remove extra space before status icons
- Now all status icons [OK]/[X]/[!]/[i] align perfectly
- All component names pad to exactly 26 characters
2025-11-18 01:19:28 -05:00