Commit Graph
2055 Commits
Author SHA1 Message Date
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) TranandGitHub 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) TranandGitHub 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) TranandGitHub 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) TranandGitHub 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) TranandGitHub 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