kaitranntt
a736f595d6
chore: merge main into beta, resolve version conflicts
...
Keep beta version 5.3.0-beta.3, incorporate 5.2.1 hotfix changelog entry.
2025-12-01 18:00:15 -05:00
semantic-release-bot
6f2d0fb4f7
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 ))
2025-12-01 22:55:39 +00:00
kaitranntt
bc56d2e135
fix(prompt): improve password input handling with raw mode and buffer support
2025-12-01 17:54:55 -05:00
kaitranntt
7faed1d84b
feat(shell-completion): add --force flag and fix zsh profile coloring
2025-12-01 17:54:41 -05:00
kaitranntt
53d7a15c04
feat(profile): add profile command with configuration display
2025-12-01 17:54:26 -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
8bc5d4a315
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 )
2025-12-01 10:16:36 +00:00
kaitranntt
7e0b0feca8
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
2025-12-01 05:16:05 -05:00
semantic-release-bot
79b450a91a
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 ))
2025-12-01 09:31:04 +00:00
kaitranntt
f378ff64fb
Merge branch 'main' into beta
2025-12-01 04:30:35 -05:00
kaitranntt
773225d180
docs: add rule for beta to main pr prefix requirement
...
- update example to use feat(release): instead of chore:
- add warning that chore: won't trigger npm release
- add rule #7 : beta to main prs must use feat: or fix:
2025-12-01 04:30:14 -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
kaitranntt
7b65374100
feat(release): trigger v5.2.0 release
...
Merged from beta:
- feat(cliproxy): auto-update CLIProxyAPI to latest release on startup
- feat(cliproxy): add qwen code oauth provider support
- fix(glmt): handle 401 errors and headers-already-sent exception
- fix(cliproxy): use double-dash flags for cliproxyapi auth
2025-12-01 04:17:05 -05:00
7fc281fcec
chore: promote beta to main (v5.2.0) ( #32 )
...
* 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 ))
---------
Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net >
2025-12-01 04:11:14 -05:00
kaitranntt
969253cc5e
chore: merge main into beta (resolve version conflicts)
2025-12-01 04:10:00 -05:00
semantic-release-bot
7747002b5d
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 ))
2025-12-01 09:03:50 +00:00
kaitranntt
8873ccd981
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
2025-12-01 04:03:03 -05:00
semantic-release-bot
22199f4932
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 )
2025-12-01 08:52:16 +00:00
Kai (Tam Nhu) Tran and GitHub
a3f1e52ac6
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
2025-12-01 03:51:47 -05:00
kaitranntt
ca8a95cdaf
chore(release): enable success comments and released labels in semantic-release
2025-12-01 03:24:05 -05:00
semantic-release-bot
ee811b8984
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 )
2025-12-01 08:19:25 +00:00
Kai (Tam Nhu) Tran and GitHub
c95338232a
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
2025-12-01 03:18:53 -05:00
semantic-release-bot
6b846019b7
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 ))
2025-12-01 03:05:34 +00:00
kaitranntt
7961d5c3f0
Merge branch 'main' into beta
2025-11-30 22:05:02 -05: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
kaitranntt
94898848ea
fix(cliproxy): use double-dash flags for cliproxyapi auth
...
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.
2025-11-30 22:03:25 -05:00
kaitranntt
d93a34b634
ci(release): add workflow_dispatch trigger for manual releases
2025-11-30 22:02:13 -05: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
7d4111b699
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 ))
2025-12-01 01:20:20 +00:00
Kai (Tam Nhu) Tran and GitHub
45f3f060ed
Merge pull request #27 from kaitranntt/kai/fix/cliproxy-codex-auth
...
fix(cliproxy): use double-dash flags for cliproxyapi auth
2025-11-30 20:19:28 -05:00
kaitranntt
4c81f28f0b
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.
2025-11-30 20:02:50 -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
04af7e7c09
fix(ci): use pat token to bypass branch protection
2025-11-30 19:12:58 -05: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
3c4578d423
docs: add CLIProxy profile type to Architecture section
...
- Add profile priority order (CLIProxy → settings → account → default)
- Document CLIProxy profile with OAuth auth, port 8317, binary location
- Include model mappings for gemini, codex, agy providers
- Add cliproxy/auth/ to profile-specific data
- Link to CLIProxyAPI GitHub repo
2025-11-28 21:19:56 -05:00
kaitranntt
6ce590e0cf
docs(readme): add Zero-Config OAuth Providers section
...
- Add OAuth section with gemini, codex, agy providers
- Include provider table with accurate model mappings
- Add authentication commands (--auth, --headless, --logout)
- Add OAuth vs API key comparison table
- Add troubleshooting section for timeout, port, binary issues
- Credit CLIProxyAPI as underlying technology
2025-11-28 21:16:55 -05:00
kaitranntt
c7efce3432
fix(ci): add Bun setup and build steps to npm publish workflow
...
The npm publish was failing because:
1. Bun runtime was not installed (prepublishOnly uses bun commands)
2. dist/ was not built before publish
Added:
- oven-sh/setup-bun@v2 action
- bun install step
- bun run build step
2025-11-28 21:00:53 -05:00
Kai (Tam Nhu) Tran and GitHub
f254e00dea
Merge pull request #20 from kaitranntt/feat/typescript-npm-package
...
feat(cliproxy): OAuth fix, config refactoring, and provider migration
2025-11-28 20:56:08 -05:00
kaitranntt
e0df6aa900
fix(cliproxy): ensure provider-specific OAuth token detection
...
Fixes critical auth bug where checking any JSON file in the auth
directory would incorrectly mark providers as authenticated. Now
validates that token files match provider-specific prefixes (gemini-,
codex-, antigravity-) to prevent OAuth skipping across providers.
Updates help command examples to use placeholder syntax and updates
CHANGELOG to reflect Qwen -> Antigravity provider name change.
2025-11-28 20:53:20 -05:00
kaitranntt
e54d401656
feat(cliproxy): refactor config loading and enhance base settings support
...
- Introduce `BaseConfigLoader` for centralized configuration management
- Add `base-agy.settings.json` configuration
- Refactor `ConfigGenerator` to utilize new loading patterns
- Update help command with improved documentation
- Clean up lint violations file
- Enhance postinstall script
2025-11-28 20:43:11 -05:00
kaitranntt
50d32ca7da
feat(cliproxy): add user settings override for model customization
...
- Add getEffectiveEnvVars() to read user overrides from ~/.ccs/{provider}.settings.json
- Add ensureProviderSettings() to create settings file from defaults on first run
- Update cliproxy-executor to use effective env vars with override support
- Export new functions from index.ts
Users can now customize model mappings by editing ~/.ccs/gemini.settings.json
or ~/.ccs/codex.settings.json. This enables:
- Using gemini-3-pro-preview for all model types
- Easy migration when new models release (gemini 4, 5, etc.)
- User takes full responsibility for custom settings
Default behavior unchanged - works out of box with bundled defaults.
2025-11-28 19:49:28 -05:00
kaitranntt
efb966c96d
feat(cliproxy): unified config for concurrent gemini/codex usage
...
- Add unified CLIProxy config supporting all providers concurrently
- Move CLIProxy files to ~/.ccs/cliproxy/ subdirectory
- Use flat auth directory structure for OAuth tokens
- Add provider-specific URL routing via /api/provider/{provider}
- Add base settings templates for gemini and codex
- Fix model registration with proper auth file discovery
Enables users to run `ccs gemini` and `ccs codex` concurrently
without config conflicts.
2025-11-28 19:41:28 -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
296d5661d0
docs: mark native shell installers as deprecated across all documentation
...
Phase 02 of "Deprecate Native Installers" plan:
Documentation updates (10 files, 3 languages):
- README.md: Mark curl/irm installers as deprecated in collapsed section
- docs/en/installation.md: Add deprecation warnings, emphasize npm as primary
- docs/en/troubleshooting.md: Add FAQ for deprecation warning users see
- docs/en/usage.md: Update uninstall to show npm first, legacy second
- docs/version-management.md: Strikethrough deprecated release checklist items
- docs/ja/README.md: Japanese deprecation notice
- docs/vi/README.md: Vietnamese deprecation notice
- docs/vi/installation.vi.md: Vietnamese installation deprecation
- docs/vi/troubleshooting.vi.md: Vietnamese troubleshooting deprecation
- src/commands/help-command.ts: npm as recommended uninstall method
Code quality:
- Fixed emoji violations: replaced ⚠️ with [!] per CLAUDE.md ASCII-only rule
- Consistent messaging across EN/JA/VI translations
- Updated codebase-summary.md with Phase 02 achievements
All documentation now consistently recommends:
npm install -g @kaitranntt/ccs
Legacy installers (curl/irm) show deprecation warning and auto-redirect
to npm installation when Node.js is available.
2025-11-28 02:39:48 -05:00
kaitranntt
4c27448f11
feat(installers): deprecate native shell installers, auto-redirect to npm
...
Phase 01 of "Deprecate Native Installers" plan:
- Add deprecation notice at script start with 3s delay
- Auto-attempt npm install when npm available
- Exit successfully on npm install success
- Graceful fallback to legacy install if npm fails or unavailable
- 100% backward compatibility maintained
Scripts now display:
- Prominent deprecation warning recommending npm
- Auto-redirect to npm installation
- Fallback warning when using legacy path
ASCII-only output per CLAUDE.md standards (no emojis).
2025-11-28 02:20:30 -05:00