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
Kai (Tam Nhu) Tran and GitHub
8f5235c4cf
Merge pull request #578 from kaitranntt/kai/feat/574-kimi-oauth-provider
...
feat(cliproxy): add Kimi OAuth provider + DRY provider lists
2026-02-17 20:16:11 +07:00
Tam Nhu Tran
6961fb0ec3
feat(ui): add Kimi provider logo with dark background
...
- Add kimi.svg (Moonshot brand logo, white on dark)
- Add kimi to provider-logo.tsx PROVIDER_IMAGES and PROVIDER_CONFIG
- Dark background for kimi logo container (bg-gray-900)
2026-02-17 20:13:34 +07:00
Tam Nhu Tran
0fe195cdc3
fix(test): add kimi to provider tests, remove merge conflict marker
...
- Add kimi to CLIPROXY_PROVIDER_IDS expected array
- Add kimi to device_code providers expected array
- Remove leftover >>>>>>> origin/dev merge conflict marker in cursor-daemon test
- Fix prettier formatting in image-analysis-check.ts
2026-02-17 17:31:27 +07:00
Tam Nhu Tran
ddd5b159d2
fix(cliproxy): add kimi to wizard constants and image analysis config
...
- add kimi entry to PROVIDER_INFO and WIZARD_PROVIDER_ORDER in setup wizard
- add kimi to DEFAULT_IMAGE_ANALYSIS_CONFIG.provider_models
2026-02-17 17:16:52 +07:00
Tam Nhu Tran
672813beba
chore: merge dev, resolve cursor-daemon test conflict
2026-02-17 17:05:47 +07:00
Tam Nhu Tran
539afea737
style: format source and test files
2026-02-17 17:03:11 +07:00
Tam Nhu Tran
f451f4e421
feat(cliproxy): rename kimi API preset to km, add kimi to UI
...
- create config/base-km.settings.json for API-key Kimi users
- rename preset id 'kimi' to 'km' in CLI and UI provider presets
- add 'ccs km' to help text API section, keep 'ccs kimi' for OAuth
- add --km delegation flag for API-key mode, --kimi stays for OAuth
- add kimi to UI CLIPROXY_PROVIDERS, assets, colors, names, device code
2026-02-17 17:03:05 +07:00
Tam Nhu Tran
08b2a67913
feat(cliproxy): add Kimi as OAuth CLIProxy provider
...
- add 'kimi' to CLIProxyProvider union type
- register Kimi capabilities (device_code flow, moonshot alias)
- add OAuth config, auth prefixes, type values, channel maps
- add CLIProxy-delegated token refresh for Kimi
- add Kimi model catalog (k2.5, k2-thinking, k2)
- switch base-kimi.settings.json to CLIProxy mode (127.0.0.1:8317)
- update comments removing kimi from settings-based profile mentions
Closes #574
2026-02-17 17:02:55 +07:00
Tam Nhu Tran
94b03c7f75
refactor(cliproxy): DRY provider lists into single source of truth
...
- unify CLIPROXY_SUPPORTED_PROVIDERS to import from CLIPROXY_PROVIDER_IDS
- replace 4 inline union types with CLIProxyProvider import
- replace hardcoded provider arrays in migration-manager and proxy-routes
- remove duplicate PROVIDER_DISPLAY_NAMES, use getProviderDisplayName()
- sync test now imports from ui/src/lib/provider-config instead of hardcoded array
Adding a new CLIProxy provider no longer requires updating 14+ hardcoded lists.
2026-02-17 17:02:45 +07:00
github-actions[bot]
c5b1345fa2
chore(release): 7.45.0-dev.4 [skip ci]
2026-02-17 09:50:55 +00:00
Kai (Tam Nhu) Tran and GitHub
3c1f49ccd2
Merge pull request #577 from kaitranntt/feat/576-cursor-battle-test-integration
...
feat(cursor): harden daemon integration and model discovery
2026-02-17 16:49:29 +07:00
Tam Nhu Tran
4798741a99
fix(cursor): resolve review feedback and harden edge cases
2026-02-17 16:33:21 +07:00
github-actions[bot]
905b35eea5
chore(release): 7.45.0-dev.3 [skip ci]
2026-02-16 21:24:38 +00:00
Kai (Tam Nhu) Tran and GitHub
681b8c27b8
Merge pull request #575 from kaitranntt/kai/feat/multi-target-droid
...
feat(targets): add multi-target CLI adapter system (Droid support)
2026-02-17 04:23:18 +07:00
Tam Nhu Tran
3da3407f9a
fix(targets): harden adapter lifecycle and droid model edge cases
2026-02-17 04:09:48 +07:00
Tam Nhu Tran
c639cefa7b
feat(cursor): harden daemon integration and model discovery
2026-02-17 04:09:06 +07:00
Tam Nhu Tran
02af8d5737
fix(targets): DRY signal handling, remove redundant guards, harden config manager
...
- Extract signal forwarding to reusable src/utils/signal-forwarder.ts
- Update shell-executor, claude-adapter, droid-adapter to use shared utility
- Remove 35 lines of redundant duplicate guards in src/ccs.ts
- Harden droid-config-manager with lock constants and race-safe ensureFactoryDir
- Update help-command with --target usage examples
- Update maintainability metrics baseline
2026-02-17 03:38:27 +07:00
Tam Nhu Tran
f1a61f6eb5
chore(metrics): update maintainability baseline for CI
...
Sync baseline with current metrics after edge case hardening commit.
2026-02-17 03:28:01 +07:00
Tam Nhu Tran
0431adf306
fix(targets): close all remaining multi-target droid edge cases
2026-02-17 03:22:45 +07:00
github-actions[bot]
4bd6877dcf
chore(sync): merge main into dev after release [skip ci]
2026-02-16 18:56:57 +00:00
github-actions[bot]
88ddae7c56
chore(release): 7.45.0-dev.2 [skip ci]
2026-02-16 18:56:31 +00:00
Tam Nhu Tran
55ecbce3f5
ci(ai-review): switch from CLIProxy to GLM API for code reviews
...
Route AI code reviews through api.z.ai instead of localhost CLIProxy.
Uses GLM_API_KEY repo secret for authentication.
2026-02-17 01:55:29 +07:00