Commit Graph
279 Commits
Author SHA1 Message Date
kaitranntt 3bb1ea7541 fix(types): add forceversion to binarymanagerconfig interface 2025-12-05 13:35:29 -05:00
20bf6266d2 feat(cliproxy): add iFlow OAuth provider support (#55)
Add iFlow as a new OAuth-based provider for CLIProxy.

Changes:
- Add config/base-iflow.settings.json with iFlow provider configuration
- Add iFlow to CLIProxyProvider type
- Add iFlow OAuth config (authUrl, scopes, authFlag)
- Add iFlow to provider display names, auth prefixes, and type values
- Update config-generator to support iFlow provider
- Update base-qwen.settings.json models (qwen3-coder-plus)

Co-authored-by: kaitranntt <kaitran.ntt@gmail.com>
2025-12-05 13:31:42 -05:00
github-actions[bot] 8fee4040cb chore(release): 5.6.0-dev.2 [skip ci] 2025-12-05 18:30:54 +00:00
kaitranntt 1471bd2152 fix(doctor): repair shared settings.json symlink broken by claude cli
claude cli's atomic writes (toggle thinking, etc.) replace symlinks with
regular files, breaking the settings sync chain. this adds:

- `ccs doctor --fix` to detect and repair broken shared symlinks
- `ccs sync` now also repairs shared symlinks automatically

fixes #57
2025-12-05 13:29:10 -05:00
github-actions[bot] c96b0f9fb3 chore(release): 5.6.0-dev.1 [skip ci] 2025-12-04 20:53:16 +00:00
kaitranntt 64a8e86db4 fix(ci): add path filtering to deploy-ccs-worker pull request trigger 2025-12-04 15:51:36 -05:00
semantic-release-bot 2130855874 chore(release): 5.6.0 [skip ci]
# [5.6.0](https://github.com/kaitranntt/ccs/compare/v5.5.0...v5.6.0) (2025-12-04)

### Bug Fixes

* **cliproxy:** clarify paid tier messaging to reference google account tier ([848fbf4](https://github.com/kaitranntt/ccs/commit/848fbf4686b49305c26ef85da339b12dffa51b5b))
* **cliproxy:** correct model selection default and update fallback version ([fdb8761](https://github.com/kaitranntt/ccs/commit/fdb8761cfac416831a8c3ae64f5718179517e3d0))
* **dev-release:** find next available dev version from npm ([482f3a7](https://github.com/kaitranntt/ccs/commit/482f3a7fc66f1b93a1b7e24e00a87c9858574ebd))
* **doctor:** use actual installed clipproxy version instead of hardcoded ([e3edcf6](https://github.com/kaitranntt/ccs/commit/e3edcf613e28a48fb7cb5c2c90ffed3c80cb0c62))
* **prompt:** strip bracketed paste escape sequences from password input ([df31ffc](https://github.com/kaitranntt/ccs/commit/df31ffcee7872b8d263451807818b368a9ba1eb4))
* **update:** add --help support and --dev alias for update command ([b18163c](https://github.com/kaitranntt/ccs/commit/b18163c57b59cabbd7d18165b28933155d94d74a))

### Features

* **cliproxy:** add model catalog with configuration management ([4654c15](https://github.com/kaitranntt/ccs/commit/4654c15577307457f8eb86ca9718b527460c7c40))
* **cliproxy:** add version management command ([7e07615](https://github.com/kaitranntt/ccs/commit/7e07615eedb7263aa359651abef8660ff0dcd95a))
* **cliproxy:** add warning for broken claude proxy models on agy ([0e11426](https://github.com/kaitranntt/ccs/commit/0e11426daa8896ba58aa9d53889818ab3577e250)), closes [CLIProxyAPI#415](https://github.com/CLIProxyAPI/issues/415)
* **prompt:** add password input utility with masking ([3bdbff9](https://github.com/kaitranntt/ccs/commit/3bdbff9345c2eb21d861621e56430de5bac61fc4))
* **release:** simplify dev versioning with stable base ([942b4b9](https://github.com/kaitranntt/ccs/commit/942b4b92cfce054c0886d8508f1c15ad18fd4400))
2025-12-04 11:38:21 +00:00
Kai (Tam Nhu) TranandGitHub 71d618a080 Merge pull request #54 from kaitranntt/dev
fix(cliproxy): model config improvements and fallback version update
2025-12-04 06:37:45 -05:00
github-actions[bot] ebb4e77b6d chore(release): 5.5.0-dev.11 [skip ci] 2025-12-04 11:37:12 +00:00
kaitranntt 7e07615eed feat(cliproxy): add version management command
Allow users to install specific versions or update to latest CLIProxy
via 'ccs cliproxy' command with install/update subcommands.
2025-12-04 06:36:06 -05:00
github-actions[bot] 8cadf4d7fa chore(release): 5.5.0-dev.10 [skip ci] 2025-12-04 11:23:45 +00:00
kaitranntt 0e11426daa feat(cliproxy): add warning for broken claude proxy models on agy
- add broken flag to model catalog for models with known issues
- display [BROKEN] badge in model selection and config display
- show warning message when starting with a broken model
- link to tracking issue: CLIProxyAPI#415

Claude proxy models (gemini-claude-*) currently fail with tool calls
due to upstream CLIProxyAPI bug. Warning helps users know to switch
to gemini-3-pro-preview until fixed.
2025-12-04 06:22:38 -05:00
github-actions[bot] 43e45c157c chore(release): 5.5.0-dev.9 [skip ci] 2025-12-04 11:15:43 +00:00
kaitranntt fdb8761cfa fix(cliproxy): correct model selection default and update fallback version
- Fix --config showing wrong default star position by using current
  user model instead of catalog default when reconfiguring
- Update CLIPROXY_FALLBACK_VERSION from 6.5.31 to 6.5.40
2025-12-04 06:14:14 -05:00
github-actions[bot] fcfa7ce35f chore(release): 5.5.0-dev.8 [skip ci] 2025-12-04 10:42:35 +00:00
kaitranntt 848fbf4686 fix(cliproxy): clarify paid tier messaging to reference google account tier
Replace misleading "[Paid API]" and "API key" references with "[Paid Tier]"
and clarify that paid tier refers to a paid Google account (not free tier),
not an API key purchase. Updates model descriptions in both catalog and
configuration to accurately reflect the tier requirement.
2025-12-04 05:41:10 -05:00
github-actions[bot] 7937009665 chore(release): 5.5.0-dev.7 [skip ci] 2025-12-04 10:31:30 +00:00
kaitranntt 20b7bae046 refactor(cliproxy): use centralized ui system for model config display
Replace custom formatting with ui.ts imports (color, bold, dim, ok, info,
header, initUI) to maintain consistent styling with ccs doctor. Add model
descriptions to catalog and clarify [Paid API] tier labeling. Update
showCurrentConfig to async for UI initialization. Improves code reuse and
visual consistency across CLI commands.
2025-12-04 05:29:55 -05:00
github-actions[bot] e3a18358e9 chore(release): 5.5.0-dev.6 [skip ci] 2025-12-04 10:07:17 +00:00
kaitranntt df31ffcee7 fix(prompt): strip bracketed paste escape sequences from password input
Terminals using bracketed paste mode wrap pasted content with ESC[200~
(start) and ESC[201~ (end) sequences. These were incorrectly passed
through to API keys, causing "[200~API_KEY[201~" instead of "API_KEY".

Now buffers ESC sequences and discards recognized paste markers.
2025-12-04 05:05:45 -05:00
github-actions[bot] 0d4d2daf06 chore(release): 5.5.0-dev.5 [skip ci] 2025-12-04 09:46:50 +00:00
kaitranntt 3bdbff9345 feat(prompt): add password input utility with masking
Adds new password prompt utility with customizable masking for secure
credential collection. Integrates with help command for improved UX.
2025-12-04 04:45:26 -05:00
kaitranntt 4654c15577 feat(cliproxy): add model catalog with configuration management
Introduces new model-catalog and model-config modules to manage LLM
provider configurations and aliases. Enables dynamic model selection
with validated configuration per provider.
2025-12-04 04:45:11 -05:00
github-actions[bot] c06e7ab871 chore(release): 5.5.0-dev.4 [skip ci] 2025-12-04 08:25:37 +00:00
kaitranntt b18163c57b fix(update): add --help support and --dev alias for update command 2025-12-04 03:24:17 -05:00
github-actions[bot] 2126e83da6 chore(release): 5.5.0-dev.3 [skip ci] 2025-12-04 08:20:32 +00:00
kaitranntt e3edcf613e fix(doctor): use actual installed clipproxy version instead of hardcoded 2025-12-04 03:19:01 -05:00
github-actions[bot] 5d5d62fac9 chore(release): 5.5.0-dev.2 [skip ci] 2025-12-04 06:27:13 +00:00
kaitranntt 482f3a7fc6 fix(dev-release): find next available dev version from npm 2025-12-04 01:26:05 -05:00
kaitranntt 942b4b92cf feat(release): simplify dev versioning with stable base
- Remove dev branch from semantic-release (main only)
- Add dev-release.yml: simple X.Y.Z-dev.N bump workflow
- Update sync workflow: handle merge conflicts for version files
- Update release.yml: trigger only on main branch

Dev versions now stay at {stable}-dev.N until merged to main.
PR merge commit type (feat/fix) determines actual version bump.
2025-12-04 01:23:46 -05:00
kaitranntt 88fc1b3a2e chore(sync): merge main v5.5.0 into dev [skip ci] 2025-12-04 01:16:00 -05:00
kaitranntt 808a890db3 ci(workflow): add auto-sync dev after main release
Automatically merges main into dev after Release workflow completes.
Keeps dev ahead with next version number after stable releases.
2025-12-04 01:15:13 -05:00
semantic-release-bot 1361c054ff chore(release): 5.5.0-dev.1 [skip ci]
# [5.5.0-dev.1](https://github.com/kaitranntt/ccs/compare/v5.4.4-dev.2...v5.5.0-dev.1) (2025-12-04)

### Features

* **kimi:** update default model to kimi-k2-thinking-turbo ([134511c](https://github.com/kaitranntt/ccs/commit/134511c38b581a720da6b9d7e6608ca6b3c63fb1))
2025-12-04 06:06:12 +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
Kai (Tam Nhu) TranandGitHub 3ffe0f4cae Merge pull request #52 from kaitranntt/dev
feat(kimi): update default model to kimi-k2-thinking-turbo
2025-12-04 01:05:24 -05:00
kaitranntt 134511c38b feat(kimi): update default model to kimi-k2-thinking-turbo
- Update base-kimi.settings.json with model fields
- Update install.sh KIMI_MODEL variable
- Update postinstall.js template and migration to add model fields
- Migration now adds model fields instead of removing them (v5.5.0)
2025-12-04 01:04:26 -05: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
kaitranntt 2e5b1f212a fix(changelog): restore full changelog history from main 2025-12-04 00:01:52 -05: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 1833ce8945 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-04)

### 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)
* **tests:** migrate test suite from mocha to bun test runner ([bd46c8d](https://github.com/kaitranntt/ccs/commit/bd46c8de1237e3a76c774b00a1c9e026f4c0cd4b))
2025-12-04 02:44:26 +00:00
semantic-release-botandkaitranntt 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
Kai (Tam Nhu) TranandGitHub 56278c238a Merge pull request #50 from kaitranntt/hotfix/broken-symlink-postinstall
fix(postinstall): handle broken symlinks during npm install
2025-12-03 06:08:19 -05:00
kaitranntt 81add5a05e fix(postinstall): handle broken symlinks during npm install
When upgrading from older CCS versions, ~/.ccs/shared/* directories may
exist as broken symlinks (dangling symlinks pointing to deleted targets).

Problem:
- fs.existsSync() returns false for broken symlinks
- fs.mkdirSync() fails with ENOENT because path exists as broken symlink

Solution:
- Added removeIfBrokenSymlink() helper that detects and removes dangling
  symlinks using lstatSync (doesn't follow symlinks) + statSync (follows)
- Applied to shared directory and all subdirectories before mkdir

Fixes npm install error: ENOENT: no such file or directory, mkdir
2025-12-03 06:06:49 -05: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
Kai (Tam Nhu) TranandGitHub 1d70cd8ab4 Merge pull request #47 from kaitranntt/dev
feat(release): promote v5.4.1-dev.2 to production
2025-12-02 23:45:01 -05: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
kaitranntt 8347ea64c6 fix(merge): resolve conflicts between dev and main
- Keep main version 5.4.1 as production release
- Merge Windows symlink fallback fix from dev into main
- Consolidate CHANGELOG entries for v5.4.1
- Update installer versions to match production release
2025-12-02 23:43:30 -05:00
semantic-release-bot c45fc3e19f chore(release): 5.4.1-dev.2 [skip ci]
## [5.4.1-dev.2](https://github.com/kaitranntt/ccs/compare/v5.4.1-dev.1...v5.4.1-dev.2) (2025-12-03)

### Bug Fixes

* **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 03:16:27 +00:00