kaitranntt
f3ed359050
feat(ui): enhance help and profile commands with new ui layer
...
- Redesign help command with hero box and styled sections
- Add table formatting for profile list with status indicators
- Use semantic colors consistently (command, path, success, warning)
- Profile create shows info box on success
- Maintain NO_COLOR compliance for all output
2025-12-01 19:29:58 -05:00
kaitranntt
6e49e0e7e1
feat(ui): add central ui abstraction layer for cli styling
...
- create src/utils/ui.ts with semantic colors, status indicators, boxes, tables, spinners
- add ui types (SemanticColor, BoxOptions, TableOptions, SpinnerOptions) to src/types/utils.ts
- add deprecation notice to src/utils/helpers.ts for legacy color functions
- add unit tests for ui module (11 test cases)
- install chalk@5.6.2, boxen@8.0.1, gradient-string@3.0.0
features:
- semantic color system (success, error, warning, info, primary, secondary)
- ascii-only status indicators: [OK], [X], [!], [i]
- tty-aware with NO_COLOR/FORCE_COLOR support
- styled boxes with boxen (round, double, bold borders)
- formatted tables with cli-table3
- animated spinners with ora (fallback to plain text in non-tty)
- gradient text for headers (cyan-to-blue)
- lazy esm module loading for chalk/boxen/gradient-string
2025-12-01 19:22:51 -05:00
semantic-release-bot
b1a0bd7545
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 )
2025-12-01 23:01:05 +00:00
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