Tam Nhu Tran
8d9d4987dc
feat(quota): add GitHub Copilot quota checks for ghcp and copilot
2026-02-20 22:32:27 +07:00
Kai (Tam Nhu) Tran and GitHub
2eddd5c773
Merge pull request #590 from kaitranntt/fix/api-profiles-mobile-scroll
...
fix(ui): make API profile dialog scrollable on small screens
2026-02-20 12:36:18 +07:00
Tam Nhu Tran
faa610f843
fix(ui): make api profile dialog scrollable on small screens
2026-02-20 12:31:19 +07:00
github-actions[bot]
58af0a4423
chore(release): 7.46.0-dev.6 [skip ci]
2026-02-19 09:33:26 +00:00
Kai (Tam Nhu) Tran and GitHub
e63292c793
Merge pull request #587 from kaitranntt/kai/feat/583-thinking-ux-dx
...
feat(thinking): complete thinking UX/DX for all providers
2026-02-19 16:32:05 +07:00
Tam Nhu Tran
954baecfe4
fix(thinking): handle clear no-op and tighten override coverage
2026-02-19 16:26:56 +07:00
Tam Nhu Tran
92e2ec111d
fix(thinking): harden codex reasoning controls across cli and dashboard
2026-02-19 14:13:41 +07:00
github-actions[bot]
f09d633f24
chore(release): 7.46.0-dev.5 [skip ci]
2026-02-19 07:02:42 +00:00
Kai (Tam Nhu) Tran and GitHub
f03c8c81d7
Merge pull request #586 from kaitranntt/fix/km-legacy-kimi-migration
...
fix(profile): handle km compatibility for legacy kimi api users
2026-02-19 14:01:13 +07:00
Tam Nhu Tran
0bf00b23d9
fix(profile): close km legacy kimi compatibility gaps
2026-02-19 13:02:56 +07:00
Tam Nhu Tran
c48ed2ea7f
feat(thinking): complete thinking UX/DX for all providers
...
- Fix codex off-mode bug: add disableEffort to CodexReasoningProxy
so mode=off actually skips reasoning injection
- Add CCS_THINKING env var (priority: flag > env > config)
- Add startup feedback: [i] Thinking: <level> (<source>)
- Add ccs config thinking CLI subcommand with --mode, --override,
--tier, --provider-override, --clear-override
- Dashboard: add manual override selector when mode=manual
- Dashboard: add provider overrides collapsible section
- Dashboard: update info box with CCS_THINKING env var docs
- Update help-command.ts with CCS_THINKING and config thinking
Closes #583
2026-02-19 12:45:23 +07:00
Tam Nhu Tran
cf8070b5f0
fix(profile): handle km compatibility for legacy kimi api users
2026-02-19 12:43:41 +07:00
github-actions[bot]
7efbac6c1a
chore(release): 7.46.0-dev.4 [skip ci]
2026-02-19 03:50:14 +00:00
Kai (Tam Nhu) Tran and GitHub
10c15dab3d
Merge pull request #585 from kaitranntt/kai/fix/kimi-missing-models
...
fix(cliproxy): add Kimi model catalog, sync, and pricing to dashboard
2026-02-19 10:49:00 +07:00
Tam Nhu Tran
c73a26c51c
fix(cliproxy): address review feedback on kimi catalog
...
- Sync kimi-k2.5 description between backend and UI catalogs
to 'Latest multimodal model (262K context)' per official naming
- Add kimi-k2 pricing entry to avoid fallback to unknown model rate
- Add supportsModelConfig and getProviderCatalog tests for kimi
2026-02-19 10:41:32 +07:00
Tam Nhu Tran
dd38df6b8d
fix(cliproxy): add kimi-k2 pricing and kimi catalog tests
...
Address review feedback from PR #585 :
- Add missing kimi-k2 pricing entry ($0.60/$2.50, cache $0.15)
to avoid fallback to unknown model pricing
- Add kimi provider tests to model-catalog.test.js verifying
catalog structure, default model, and model IDs
2026-02-19 10:36:42 +07:00
Tam Nhu Tran
3767b95735
fix(cliproxy): add Kimi model catalog, sync, and pricing to dashboard
...
- Add kimi entry to UI model-catalogs.ts with K2.5, K2 Thinking, K2
models and preset mappings so dashboard shows available models
- Add kimi to CHANNEL_TO_PROVIDER and SYNCABLE_PROVIDERS in
catalog-cache.ts so models sync from upstream CLIProxyAPI
- Add kimi/moonshot to provider-editor ownerMap for model filtering
- Update Kimi model pricing to match official Kimi Platform rates:
kimi-k2.5 ($0.60/$3.00), kimi-k2-thinking ($0.60/$2.50),
kimi-k2-turbo-preview ($1.15/$8.00)
- Add missing kimi-k2.5 pricing entry
Closes #581
2026-02-19 10:28:40 +07:00
github-actions[bot]
b9b98cb723
chore(release): 7.46.0-dev.3 [skip ci]
2026-02-19 03:24:49 +00:00
Kai (Tam Nhu) Tran and GitHub
60bbacd3a3
Merge pull request #584 from kaitranntt/fix/260219-issue-509-cliproxy-warning
...
fix(cliproxy): warn gemini and agy users about issue 509
2026-02-19 10:23:23 +07:00
Tam Nhu Tran
476eabe08f
fix(cliproxy): warn gemini and agy users about issue 509
2026-02-19 10:12:57 +07:00
github-actions[bot]
63f1bacfbe
chore(release): 7.46.0-dev.2 [skip ci]
2026-02-18 15:14:55 +00:00
Kai (Tam Nhu) Tran and GitHub
42cbbe8bbf
Merge pull request #582 from kaitranntt/fix/260218-codex-provider-routing
...
fix(cliproxy): normalize codex model and provider routing
2026-02-18 22:13:29 +07:00
Tam Nhu Tran
ecc4a3fe58
fix(cliproxy): normalize codex model and provider routing
2026-02-18 21:27:58 +07:00
github-actions[bot]
e6469d1b00
chore(release): 7.46.0-dev.1 [skip ci]
2026-02-18 14:04:50 +00:00
Kai (Tam Nhu) Tran and GitHub
3f2e4af659
Merge pull request #580 from kaitranntt/refactor/cliproxy-hardcoded-standardization
...
refactor(cliproxy): centralize provider capabilities and remove hardcoded defaults
2026-02-18 21:03:22 +07:00
Tam Nhu Tran
c18adc90c3
fix(ui): harden cliproxy panel and proxy edge handling
...
- make iframe auto-login/reload flow race-safe and lint-compliant
- normalize API base joins and replace conflict sentinels with typed errors
- tighten proxy port validation and defer cursor preset apply until models load
- add ui api-client unit coverage for path and conflict helpers
2026-02-18 04:18:57 +07:00
Tam Nhu Tran
a71496cc3d
fix(cliproxy): harden provider alias and refresh edge cases
...
- guard provider alias generation against ambiguous collisions
- add account-scoped Gemini token refresh with strict account checks
- warn and fallback on invalid management remote ports
- align remaining HTTP remote defaults and extend cliproxy tests
2026-02-18 04:18:39 +07:00
Tam Nhu Tran
7e527af777
refactor(cliproxy): resolve remaining review parity and cleanup nits
...
- export buildProviderMap from provider capabilities and reuse in auth-types
- add provider descriptions to backend capabilities and sync display names
- remove ui CLIPROXY_PORT alias and use CLIPROXY_DEFAULT_PORT directly
- return stable string from getProviderDescription
- extend backend/ui parity tests for display name and description values
2026-02-18 03:35:08 +07:00
Tam Nhu Tran
39593c161b
refactor(cliproxy): address review feedback on parity and refresh flow
...
- make refresh ownership handling exhaustive in provider refresher
- extend backend/ui sync test to provider IDs and device-code providers
- remove DEFAULT_CURSOR_PORT re-export from use-cursor hook
- import cursor default port directly from shared defaults module
2026-02-18 03:24:28 +07:00
Tam Nhu Tran
5a786263bc
fix(ui): replace stale BASE_URL references in api client
...
- use withApiBase for config yaml, auth file, and error log endpoints
- resolve UI build/typecheck failure in CI validate job
2026-02-18 03:15:03 +07:00
Tam Nhu Tran
70116cb3a1
refactor(ui): replace remaining hardcoded port defaults
...
- use shared cliproxy default in control panel embed
- use shared cursor default port in cursor page fallbacks
2026-02-18 03:10:10 +07:00
Tam Nhu Tran
5788ddc3b7
refactor(ui): use shared default proxy port in settings cards
...
- replace inline 8317 defaults with CLIPROXY_DEFAULT_PORT
- keep HTTPS fallback behavior at 443 unchanged
2026-02-18 03:10:10 +07:00
Tam Nhu Tran
a53e6cbd25
refactor(ui): centralize provider metadata for setup wizard
...
- define provider display names and descriptions in provider-config
- consume shared metadata helpers in setup wizard constants
2026-02-18 03:10:09 +07:00
Tam Nhu Tran
feb556dc90
refactor(ui): unify api base path for cursor and copilot hooks
...
- add withApiBase helper and use it across fetch calls
- remove duplicated API base literals in cursor/copilot hooks
- expose cursor default port from shared ui defaults module
2026-02-18 03:10:09 +07:00
Tam Nhu Tran
63f422179e
refactor(ui): centralize default ports and add parity test
...
- add ui default port constants for cliproxy and cursor
- wire preset utils to shared ui default port constants
- add backend/ui sync test to prevent port drift
2026-02-18 03:10:09 +07:00
Tam Nhu Tran
688f3e3889
refactor(commands): share cliproxy default port for setup and help
...
- source setup wizard local port default from port-manager
- render help text defaults from shared constant
2026-02-18 03:10:09 +07:00
Tam Nhu Tran
90b8d04d71
refactor(cliproxy): use shared default port in management paths
...
- replace 8317 literals with CLIPROXY_DEFAULT_PORT constant
- keep http/https fallback behavior unchanged in runtime checks
2026-02-18 03:10:09 +07:00
Tam Nhu Tran
bd8daac094
refactor(cliproxy): centralize provider auth capability metadata
...
- move callback/auth-url names, token type values, and prefixes
- derive auth maps from capabilities instead of hardcoded records
- route refresh delegation through capability ownership metadata
2026-02-18 03:10:09 +07:00
semantic-release-bot
2ce5bb4ee3
chore(release): 7.46.0 [skip ci]
...
## [7.46.0](https://github.com/kaitranntt/ccs/compare/v7.45.0...v7.46.0 ) (2026-02-17)
### Features
* **cliproxy:** add Kimi as OAuth CLIProxy provider ([08b2a67 ](https://github.com/kaitranntt/ccs/commit/08b2a6791398912ff5ea6b3cce18b37552c1ef10 )), closes [#574 ](https://github.com/kaitranntt/ccs/issues/574 )
* **cliproxy:** expose codex weekly reset schedule in quota views ([4fc19c4 ](https://github.com/kaitranntt/ccs/commit/4fc19c43902330da31b49b6296082fb13e22bebf ))
* **cliproxy:** rename kimi API preset to km, add kimi to UI ([f451f4e ](https://github.com/kaitranntt/ccs/commit/f451f4e4214396f59c0e8482be0be2f7376d5388 ))
* **cursor:** harden daemon integration and model discovery ([c639cef ](https://github.com/kaitranntt/ccs/commit/c639cefa7bd33807e96d96fd566c64a89166f22f ))
* **targets:** add multi-target CLI adapter system (Droid support) ([7d7054e ](https://github.com/kaitranntt/ccs/commit/7d7054e2c096768c42fa4be1db5d111bb8e56b8a ))
* **targets:** support CCS_DROID_ALIASES argv0 mapping ([025218a ](https://github.com/kaitranntt/ccs/commit/025218a706d30ca75163153293ce0920d9c3917d ))
* **ui:** add Kimi provider logo with dark background ([6961fb0 ](https://github.com/kaitranntt/ccs/commit/6961fb0ec35b326bb77ffea9f8828708d2a40cb7 ))
### Bug Fixes
* **cliproxy:** add kimi to wizard constants and image analysis config ([ddd5b15 ](https://github.com/kaitranntt/ccs/commit/ddd5b159d21efe436aa2bf82a190d3b284abe4a8 ))
* **cliproxy:** log unknown codex quota window labels ([9031e5a ](https://github.com/kaitranntt/ccs/commit/9031e5a085e8c1b4b58e4e871e4d98dbd48bcfc3 ))
* **core:** prevent GLMT proxy leaks in child lifecycle ([53e18d4 ](https://github.com/kaitranntt/ccs/commit/53e18d4c8d60ed0d13a1cb034f53c5c2ef91bdad ))
* **cursor:** fallback when requested model is unavailable ([fae8716 ](https://github.com/kaitranntt/ccs/commit/fae87169008b704c319f78fcac958dda435985d0 ))
* **cursor:** resolve review feedback and harden edge cases ([4798741 ](https://github.com/kaitranntt/ccs/commit/4798741a99eb60190c6ba09215f50d3bc67db6e4 ))
* **targets:** close all remaining multi-target droid edge cases ([0431adf ](https://github.com/kaitranntt/ccs/commit/0431adf3061388b5b984cbcbbf336a09bab85be3 ))
* **targets:** DRY signal handling, remove redundant guards, harden config manager ([02af8d5 ](https://github.com/kaitranntt/ccs/commit/02af8d5737d9c3db4172b094b1bfae13ccdccbb1 ))
* **targets:** harden adapter lifecycle and droid model edge cases ([3da3407 ](https://github.com/kaitranntt/ccs/commit/3da3407f9a3470f34aaf03c19d3410e5b33caa36 ))
* **targets:** harden edge cases from parallel code review ([3191a4a ](https://github.com/kaitranntt/ccs/commit/3191a4ab3887b79c598c31de278a45361c587a48 ))
* **targets:** run cleanup before adapter launch exits ([812bb5c ](https://github.com/kaitranntt/ccs/commit/812bb5c0a5b60041d1928189019cc75183ae525d ))
* **targets:** snapshot active profiles during droid prune ([15d6c06 ](https://github.com/kaitranntt/ccs/commit/15d6c06dbc8de72379330c43031a5660b4bc0338 ))
* **test:** add kimi to provider tests, remove merge conflict marker ([0fe195c ](https://github.com/kaitranntt/ccs/commit/0fe195cdc38c26b93f0f269bd384c7ef3a6c289c ))
### Documentation
* **provider:** clarify kimi base profile endpoint ([e33164f ](https://github.com/kaitranntt/ccs/commit/e33164f42e96ec6826728c47b615286bb13bfdd6 ))
* **targets:** document built-in and env droid aliases ([91edc95 ](https://github.com/kaitranntt/ccs/commit/91edc9565bbd6bf4fe6992b0c7e2457a90a87949 ))
### Styles
* format source and test files ([539afea ](https://github.com/kaitranntt/ccs/commit/539afea7374f2c931ab5cbb1e04e0845c57729b5 ))
### Code Refactoring
* **cliproxy:** DRY provider lists into single source of truth ([94b03c7 ](https://github.com/kaitranntt/ccs/commit/94b03c7f75fd398282a0737c497f882aeb708724 ))
### CI
* **ai-review:** switch from CLIProxy to GLM API for code reviews ([55ecbce ](https://github.com/kaitranntt/ccs/commit/55ecbce3f523c034a854bc741c4c3a5b5e7851d4 ))
* **ai-review:** switch from CLIProxy to GLM API for code reviews ([f81c562 ](https://github.com/kaitranntt/ccs/commit/f81c56204cd981e265b1ed072b887ac80114f5c3 ))
2026-02-17 19:40:15 +00:00
Kai (Tam Nhu) Tran and GitHub
928958a066
Merge pull request #579 from kaitranntt/dev
...
feat(release): Kimi OAuth, multi-target droid, cursor hardening
2026-02-18 02:38:41 +07:00
github-actions[bot]
37f453c0e3
chore(release): 7.45.0-dev.6 [skip ci]
2026-02-17 13:54:40 +00:00
Tam Nhu Tran
e33164f42e
docs(provider): clarify kimi base profile endpoint
...
- document that base-kimi defaults to local CLIProxy route
- describe direct Moonshot API override for ANTHROPIC_BASE_URL
2026-02-17 20:53:03 +07:00
Tam Nhu Tran
fae8716900
fix(cursor): fallback when requested model is unavailable
...
- resolve request model against current available catalog
- choose safe default when configured default id is not present
- add tests and docs for daemon request-model fallback behavior
2026-02-17 20:53:03 +07:00
Tam Nhu Tran
9031e5a085
fix(cliproxy): log unknown codex quota window labels
...
- detect and de-duplicate unclassified quota window labels
- emit diagnostics in verbose/debug modes for API label drift
- add unit tests for unknown-label extraction behavior
2026-02-17 20:53:03 +07:00
Tam Nhu Tran
53e18d4c8d
fix(core): prevent GLMT proxy leaks in child lifecycle
...
- reuse shared wireChildProcessSignals for GLMT Claude execution
- centralize proxy stop logic on child error and exit paths
- guard global signal cleanup so cleanup failures do not block exit
2026-02-17 20:53:03 +07:00
Tam Nhu Tran
91edc9565b
docs(targets): document built-in and env droid aliases
...
- add README guidance for ccsd argv[0] auto-target behavior
- document CCS_DROID_ALIASES runtime extension in architecture docs
2026-02-17 20:53:03 +07:00
Tam Nhu Tran
025218a706
feat(targets): support CCS_DROID_ALIASES argv0 mapping
...
- extend argv[0] target resolution with env-configurable aliases
- normalize alias matching to lowercase with safe-name filtering
- add tests for custom aliases, invalid entries, and case-insensitivity
2026-02-17 20:53:03 +07:00
Tam Nhu Tran
15d6c06dbc
fix(targets): snapshot active profiles during droid prune
...
- copy activeProfiles at call time before lock acquisition
- validate profile names inside locked section
- add tests for invalid names and post-call array mutation
2026-02-17 20:53:03 +07:00
Tam Nhu Tran
812bb5c0a5
fix(targets): run cleanup before adapter launch exits
...
- wrap adapter early-exit paths with a cleanup-aware exit helper
- invoke cleanup before exiting on child spawn failures
- validate Droid profile names in buildArgs and add unit coverage
2026-02-17 20:53:03 +07:00
github-actions[bot]
ef578e988b
chore(release): 7.45.0-dev.5 [skip ci]
2026-02-17 13:17:32 +00:00