Commit Graph
1792 Commits
Author SHA1 Message Date
kaitranntt d04bcc117f feat(config): add kiro and ghcp to unified config and auth routes
- extend CLIProxyVariantConfig provider type

- update createEmptyUnifiedConfig providers array

- add kiro and ghcp to validProviders in auth routes
2025-12-22 00:45:38 -05:00
kaitranntt 49bc0a44cc feat(cliproxy): add kiro and ghcp to OAuth diagnostics and account manager
- add OAUTH_CALLBACK_PORTS: kiro=9876, ghcp=null (device code)

- add OAUTH_FLOW_TYPES for both providers

- update getAllAccountsSummary providers array
2025-12-22 00:45:13 -05:00
kaitranntt fae1ee2b31 feat(cliproxy): add ghcp settings and update variant adapter
- rename base-copilot.settings.json to base-ghcp.settings.json

- add kiro and ghcp to variant adapter providers list

- update provider display names in config generator
2025-12-22 00:44:52 -05:00
kaitranntt a01abe181b feat(cliproxy): add kiro and ghcp OAuth configurations
- add OAUTH_CONFIGS entries for kiro (authorization_code) and ghcp (device_code)

- update getAllAuthStatus providers array
2025-12-22 00:44:26 -05:00
kaitranntt 036714c774 feat(cliproxy): add kiro and ghcp providers to CLIProxyProvider type
- extend CLIProxyProvider union with 'kiro' and 'ghcp'

- add both to CLIPROXY_PROFILES array
2025-12-22 00:44:03 -05:00
kaitranntt af92bc30bf refactor: complete CLIProxy Plus branding across CLI and UI
CLI changes:
- platform-commands.ts: Update taskkill/pkill to use cli-proxy-api-plus binary name
- help-command.ts: Fix binary path display to show cli-proxy-api-plus
- oauth-process.ts: Update auth error message
- binary-manager.ts: Update removal message
- cliproxy-executor.ts: Update startup failure messages
- cliproxy-command.ts: Update variant creation messages
- service-manager.ts: Update startup error message
- cliproxy-stats-routes.ts: Update all API error messages

UI changes:
- proxy/index.tsx: Update connection mode descriptions
- cliproxy-stats-overview.tsx: Update metrics description
- model-preferences-grid.tsx: Update models description
2025-12-21 23:17:04 -05:00
kaitranntt 4829902826 fix: update download URLs and binary names for CLIProxyAPIPlus
- Change binaryName from CLIProxyAPI_ to CLIProxyAPIPlus_ prefix
- Update download URL to use CLIProxyAPIPlus repository
- Update checksums URL to use CLIProxyAPIPlus repository
- Change executable name from cli-proxy-api to cli-proxy-api-plus
- Update User-Agent header to CCS-CLIProxyPlus-Updater
- Update status messages to say "CLIProxy Plus"

Fixes HTTP 404 error when running `ccs cliproxy --latest`
2025-12-21 23:09:41 -05:00
kaitranntt 670993d364 refactor: rename CLIProxyAPI to CLIProxy Plus across UI and CLI
- Update cliproxy-command.ts status output and install messages
- Update help-command.ts with Plus branding and new kiro/copilot providers
- Update doctor.ts header to show CLIPROXY PLUS
- Update cliproxy-check.ts binary check output
- Update proxy-status-widget.tsx label to CLIProxy Plus
- Point release URLs to CLIProxyAPIPlus repository
2025-12-21 22:57:03 -05:00
kaitranntt 743d34a881 docs: add CLIProxyAPIPlus attribution for Kiro and Copilot
- Credit CLIProxyAPIPlus contributors for new OAuth providers
- Add @em4go (Copilot), @fuko2935, @Ravens2121 (Kiro)
2025-12-21 22:28:13 -05:00
kaitranntt 0f029f960a feat(ui): integrate Kiro and Copilot providers, rename to CLIProxy Plus
- Rename sidebar/header from CLIProxy to CLIProxy Plus
- Add Kiro and Copilot to all provider lists and type unions
- Add provider logos and color configs
- Add model catalogs with upstream CLIProxyAPIPlus models
- Update Quick Setup Wizard with new providers
2025-12-21 22:27:36 -05:00
kaitranntt 9ca20e70de feat(ui): add Kiro and Copilot provider icons
- Add kiro.png icon for Kiro (AWS) provider
- Add copilot.svg icon for GitHub Copilot provider
2025-12-21 22:26:53 -05:00
kaitranntt b15ff7f235 feat(config): add base settings for Kiro and Copilot providers
- Add base-kiro.settings.json with default Kiro models
- Add base-copilot.settings.json with default Copilot models
- Update config-generator for new provider sections
- Extend CLIProxyProvider type with kiro and copilot
2025-12-21 22:26:32 -05:00
kaitranntt 2b441f6498 feat(auth): add Kiro and GitHub Copilot OAuth providers
- Add kiro (port 8329) and copilot (port 8330) to auth-types
- Implement OAuth flows in oauth-handler
- Update token-manager to include new providers
- Add new providers to CLIPROXY_PROFILES
- Update diagnostics and API routes for new providers
2025-12-21 22:26:11 -05:00
kaitranntt 6f8587db68 feat(cliproxy): migrate from CLIProxyAPI to CLIProxyAPIPlus
- Update GitHub repo URL to router-for-me/CLIProxyAPIPlus
- Handle new release naming pattern (v6.6.X-0 suffix)
- Add version comparison support for Plus releases
2025-12-21 22:25:48 -05:00
semantic-release-bot 5f2092bc7f chore(release): 7.2.0 [skip ci]
## [7.2.0](https://github.com/kaitranntt/ccs/compare/v7.1.1...v7.2.0) (2025-12-22)

### Features

* **cliproxy:** add localhost URL rewriting for remote proxy mode ([d0599e8](https://github.com/kaitranntt/ccs/commit/d0599e8d2c990ad02b270b8ada700db2d1d2e510))
* **cliproxy:** add proxy target resolver for remote/local routing ([9e2fd09](https://github.com/kaitranntt/ccs/commit/9e2fd096e4a30c29a9c909284234d129a577b853))
* **cliproxy:** add remote routing for stats and auth endpoints ([17bb6f9](https://github.com/kaitranntt/ccs/commit/17bb6f9836a56eddcb5e683e9d8f3d262f48d0cd))
* **ui:** add remote mode indicator to provider editor header ([3bf9ebe](https://github.com/kaitranntt/ccs/commit/3bf9ebe32a8cebe2bcf5f405bb2c04611b30f997))
* **ui:** dynamic control panel embed for remote CLIProxy ([bfa55e0](https://github.com/kaitranntt/ccs/commit/bfa55e041cb33b689d95b492abd637a98eab5b42))
* **ui:** show remote server info in ProxyStatusWidget ([d86dfab](https://github.com/kaitranntt/ccs/commit/d86dfab2e76416ea0e662f0702c854f2e11ac541))

### Bug Fixes

* **api:** add try-catch error handling to route handlers ([85b0f17](https://github.com/kaitranntt/ccs/commit/85b0f171105ecd2e12839718a80ae91e427f9b5a))
* **api:** complete error handling and add missing endpoints ([3ed961f](https://github.com/kaitranntt/ccs/commit/3ed961fce9ee7793b714abcbb6eef3346bd9098b))
* **api:** resolve route path mismatches ([557926f](https://github.com/kaitranntt/ccs/commit/557926ffe3f72e601758fc1c98279591c660440c))
* **cliproxy:** add gemini-cli provider mapping for remote auth ([068d577](https://github.com/kaitranntt/ccs/commit/068d5772f24510f61ed96fd632e06a08532f2615))
* **cliproxy:** address code review findings for remote routing ([cdb4653](https://github.com/kaitranntt/ccs/commit/cdb465342e6461cd7ff36f59f2d3873e50092210))
* **cliproxy:** load remote config from config.yaml for proxy resolution ([a2d01bc](https://github.com/kaitranntt/ccs/commit/a2d01bcc8a15e75c598854c7ddd314f5f17015f6))
* **cliproxy:** merge dev with proper remote mode integration ([28c6262](https://github.com/kaitranntt/ccs/commit/28c62625b36e74db7b5b07f475cf4df0072c9a27))
* **cliproxy:** respect user model settings in remote proxy mode ([4ee3100](https://github.com/kaitranntt/ccs/commit/4ee31006225ccec03ba6cf46a2257e122e1af79a))
* **ui:** correct cliproxy account API paths ([e84df00](https://github.com/kaitranntt/ccs/commit/e84df007409b21680bb2b10bfed841e3f5173c38))
* **ui:** hide local paths in remote CLIProxy mode ([883d9fa](https://github.com/kaitranntt/ccs/commit/883d9fa585f9df3f99c303555115fc53c03724ac))

### Documentation

* update documentation for v7.1 remote CLIProxy feature ([ec7781b](https://github.com/kaitranntt/ccs/commit/ec7781bbc85437e9c9ea3be84c01dff54129c99c)), closes [#142](https://github.com/kaitranntt/ccs/issues/142)

### CI

* improve issue tagging and label management in release workflows ([3638620](https://github.com/kaitranntt/ccs/commit/36386209bea64794bbbc0c3c2770d512fcc6fe83))
2025-12-22 01:26:04 +00:00
Kai (Tam Nhu) TranandGitHub 71008b3796 Merge pull request #175 from kaitranntt/dev
feat(cliproxy): add remote CLIProxy routing support
2025-12-21 20:25:04 -05:00
github-actions[bot] ec3ac7cd26 chore(release): 7.1.1-dev.4 [skip ci] 2025-12-22 01:17:27 +00:00
kaitranntt ec7781bbc8 docs: update documentation for v7.1 remote CLIProxy feature
- README: add remote CLIProxy section with CLI flags and quick setup
- code-standards: add Config Priority Pattern (CLI > ENV > config.yaml)
- codebase-summary: add new remote proxy files, update test counts (638)
- project-overview-pdr: add FR-008 requirement, v7.1 release section
- project-roadmap: add Phase 10 (Remote CLIProxy), mark #142 complete
- system-architecture: add Remote CLIProxy Flow diagram
2025-12-21 20:09:46 -05:00
github-actions[bot] 326e7592f2 chore(release): 7.1.1-dev.3 [skip ci] 2025-12-22 00:40:33 +00:00
Kai (Tam Nhu) TranandGitHub 54eb696c44 Merge pull request #167 from kaitranntt/kai/fix/cliproxy-server-debug
feat(cliproxy): add remote CLIProxy routing with dev merge
2025-12-21 19:39:25 -05:00
kaitranntt 28c62625b3 fix(cliproxy): merge dev with proper remote mode integration
Resolve conflicts in cliproxy-auth-routes.ts by combining:
- Dev's improved error handling with try-catch patterns
- Branch's remote mode routing logic

All 638 tests pass.
2025-12-21 19:21:29 -05:00
github-actions[bot] 01c761e664 chore(release): 7.1.1-dev.2 [skip ci] 2025-12-21 23:58:55 +00:00
kaitranntt 36386209be ci: improve issue tagging and label management in release workflows 2025-12-21 18:57:46 -05:00
github-actions[bot] b8c9966e9d chore(release): 7.1.1-dev.1 [skip ci] 2025-12-21 23:26:18 +00:00
Kai (Tam Nhu) TranandGitHub 8b2fceb743 Merge pull request #174 from kaitranntt/kai/fix/add-cliproxy-account
fix(api): resolve CLIProxy account management errors
2025-12-21 18:25:20 -05:00
kaitranntt 3ed961fce9 fix(api): complete error handling and add missing endpoints
- Add try-catch to all route handlers in settings, variant, config routes
- Implement 5 missing endpoints in cliproxy-stats-routes:
  - GET/PUT /config.yaml for YAML config management
  - GET /auth-files to list auth directory files
  - GET /auth-files/download for file download
  - PUT /models/:provider to update model settings
- All handlers now return proper error messages on failure
2025-12-21 18:18:46 -05:00
kaitranntt 85b0f17110 fix(api): add try-catch error handling to route handlers
- Add try-catch to cliproxy-auth-routes GET /
- Add try-catch to health-routes GET / and POST /fix/:checkId
- Add try-catch to config-routes GET /format and POST /migrate
- Improve error messages with specific context
- All handlers now return 500 with error message on failure
2025-12-21 18:03:37 -05:00
kaitranntt 557926ffe3 fix(api): resolve route path mismatches
- Add /usage alias for /cliproxy/stats (frontend compatibility)
- Create account-routes.ts to fix /accounts/accounts double path
- Update index.ts to mount accountRoutes at /accounts
- Remove account code from profile-routes.ts
- Clean up unused imports in profile-routes.ts
2025-12-21 18:03:15 -05:00
kaitranntt e84df00740 fix(ui): correct cliproxy account API paths
- Change /cliproxy/accounts/* to /cliproxy/auth/accounts/*
- Fix 404 errors when managing CLIProxy accounts from dashboard
- Root cause: frontend called wrong endpoints for account management
2025-12-21 18:02:38 -05:00
kaitranntt 3bf9ebe32a feat(ui): add remote mode indicator to provider editor header
Shows "Remote" badge with Globe icon and "Traffic auto-routed to
remote server" message when remote CLIProxy mode is active.
2025-12-21 04:34:29 -05:00
semantic-release-bot a8bda073fb chore(release): 7.1.1 [skip ci]
## [7.1.1](https://github.com/kaitranntt/ccs/compare/v7.1.0...v7.1.1) (2025-12-21)

### Bug Fixes

* **hooks:** memoize return objects to prevent infinite render loops ([f15b989](https://github.com/kaitranntt/ccs/commit/f15b98950865c01ec6d8d846e3a197bb04e6cf6e))
* **settings:** memoize useSettingsActions to prevent infinite render loop ([4f75e10](https://github.com/kaitranntt/ccs/commit/4f75e105a9ab0c498fb1748829396d695836be65))

### Documentation

* update documentation for modularization phases 6-9 ([e45b46d](https://github.com/kaitranntt/ccs/commit/e45b46d20708e29e770307dbfcce33d84465f137))

### Code Refactoring

* **ui:** modularize analytics page into directory structure ([03d9bf7](https://github.com/kaitranntt/ccs/commit/03d9bf76c474f93f12fcc5dbdaa55c1f215b1e39))
* **ui:** modularize auth-monitor into directory structure ([8ead6fa](https://github.com/kaitranntt/ccs/commit/8ead6fa0bf05fc8d37563a618c473d7eae808920))
* **ui:** modularize settings page into directory structure ([104a404](https://github.com/kaitranntt/ccs/commit/104a40414437a4f32492e4bcc33fdfbbec386e2f))

### Tests

* **ui:** add vitest testing infrastructure with 99 unit tests ([3fca933](https://github.com/kaitranntt/ccs/commit/3fca9338f9a77ac202dde6095bf70b5094199888))
2025-12-21 09:30:01 +00:00
kaitranntt 4ee3100622 fix(cliproxy): respect user model settings in remote proxy mode
getRemoteEnvVars was ignoring user settings and always loading
models from base config. Now follows same priority as local mode:
1. Custom settings path (variant configs)
2. User settings file (~/.ccs/{provider}.settings.json)
3. Base config defaults

This fixes the issue where selecting Opus 4.5 in UI resulted in
Gemini 3 preview being loaded when using remote proxy mode.
2025-12-21 04:29:49 -05:00
Kai (Tam Nhu) TranandGitHub 8482aba6b1 Merge pull request #173 from kaitranntt/dev
feat(ui): modularize settings, analytics, auth-monitor pages with test infrastructure
2025-12-21 04:28:52 -05:00
github-actions[bot] 8340c3b0f2 chore(release): 7.1.0-dev.3 [skip ci] 2025-12-21 09:18:58 +00:00
kaitranntt f15b989508 fix(hooks): memoize return objects to prevent infinite render loops
Apply useMemo to hook returns that create new object references on each
render. This prevents downstream useEffect/useCallback dependencies from
detecting false changes and triggering re-execution.

Fixed hooks:
- PrivacyProvider: memoize context value and toggle callback
- useCopilot: wrap large return object with all dependencies
- useWebSocket: memoize status/connect/disconnect object
- useProjectSelection: memoize state and handlers object
- useCliproxyAuthFlow: memoize spread state with auth functions
- useAnalyticsPage: memoize apiOptions to stabilize query params
2025-12-21 04:17:32 -05:00
kaitranntt d86dfab2e7 feat(ui): show remote server info in ProxyStatusWidget
- Add remote mode detection via cliproxy-server-config query
- Display blue-themed "Remote Proxy" widget when remote enabled
- Show remote host and "Traffic auto-routed" message
- Hide local start/stop/restart controls in remote mode
2025-12-21 04:14:55 -05:00
github-actions[bot] b9e69965e2 chore(release): 7.1.0-dev.2 [skip ci] 2025-12-21 09:13:59 +00:00
kaitranntt a2d01bcc8a fix(cliproxy): load remote config from config.yaml for proxy resolution
- Import loadOrCreateUnifiedConfig to access cliproxy_server settings
- Pass remote/local config to resolveProxyConfig() function
- Enables CLI to detect remote mode from user's config.yaml
2025-12-21 04:13:57 -05:00
kaitranntt d0599e8d2c feat(cliproxy): add localhost URL rewriting for remote proxy mode
- Add rewriteLocalhostUrls() to detect and rewrite localhost URLs
- Support 127.0.0.1, localhost, 0.0.0.0 patterns
- Update getEffectiveEnvVars() to accept remoteRewriteConfig param
- Auto-rewrite saved settings URLs to remote server at runtime
2025-12-21 04:13:36 -05:00
kaitranntt 4f75e105a9 fix(settings): memoize useSettingsActions to prevent infinite render loop
- wrap return object in useMemo with all action callbacks as deps

- prevents new object reference on every render

- fixes Maximum update depth exceeded error on settings page
2025-12-21 04:09:13 -05:00
github-actions[bot] b8b9101466 chore(release): 7.1.0-dev.1 [skip ci] 2025-12-21 08:46:23 +00:00
kaitranntt e45b46d207 docs: update documentation for modularization phases 6-9
- mark settings, analytics, auth-monitor splits as complete
- add test infrastructure (99 tests, 90% threshold) to roadmap
- update codebase-summary.md with new modular structure
- add github issues backlog (13 issues categorized by priority)
- add future roadmap: multiple cliproxyapi, git worktree support
- update project-overview-pdr.md with v7.0 release items
- update system-architecture.md with new ui module structure
2025-12-21 03:45:02 -05:00
kaitranntt c3f72e6693 chore: add bunfig.toml and update gitignore for test config
- add bunfig.toml to scope bun test to ./tests/ only
- add ui test output directory to gitignore
- separates main (bun test) and UI (vitest) test runners
2025-12-21 03:29:12 -05:00
kaitranntt 3fca9338f9 test(ui): add vitest testing infrastructure with 99 unit tests
- add vitest, jsdom, testing-library, msw dependencies
- create test setup: vitest-setup.ts, test-utils.tsx, msw-handlers.ts
- add 99 unit tests covering settings, analytics, auth-monitor utils
- configure 90% coverage thresholds on pure-logic files
- add test scripts: test, test:run, test:coverage, test:ui
2025-12-21 03:28:34 -05:00
kaitranntt 8ead6fa0bf refactor(ui): modularize auth-monitor into directory structure
- split auth-monitor.tsx (465 lines) into modular components
- extract provider-card, summary-card, live-pulse, inline-stats-badge
- separate hooks, types, and utils for better maintainability
- export types from monitoring barrel
2025-12-21 03:27:53 -05:00
kaitranntt 03d9bf76c4 refactor(ui): modularize analytics page into directory structure
- split analytics.tsx (420 lines) into modular components
- extract analytics-header, charts-grid, cost-by-model-card
- add analytics-skeleton for loading states
- separate hooks, types, and utils
2025-12-21 03:27:15 -05:00
kaitranntt 104a404144 refactor(ui): modularize settings page into directory structure
- split settings.tsx (1,781 lines) into modular components
- extract hooks into separate files (context-hooks, use-*-config)
- create sections: websearch, proxy, globalenv with subcomponents
- add tab-navigation and section-skeleton components
- add settings-context.ts for state management
2025-12-21 03:26:40 -05:00
kaitranntt 883d9fa585 fix(ui): hide local paths in remote CLIProxy mode 2025-12-21 02:56:24 -05:00
kaitranntt 068d5772f2 fix(cliproxy): add gemini-cli provider mapping for remote auth 2025-12-21 02:37:36 -05:00
semantic-release-bot e8cb273ecb chore(release): 7.1.0 [skip ci]
## [7.1.0](https://github.com/kaitranntt/ccs/compare/v7.0.0...v7.1.0) (2025-12-21)

### Features

* **ui:** add visual feedback for WebSearch model auto-save ([eaf566b](https://github.com/kaitranntt/ccs/commit/eaf566beac65284d0809ca8a29f6ce2d03b79af8)), closes [#164](https://github.com/kaitranntt/ccs/issues/164)

### Bug Fixes

* **ci:** use commit-based changelog for dev release Discord notifications ([1129ec6](https://github.com/kaitranntt/ccs/commit/1129ec6ef570e7b922d2831c53bad83a68311b88))
* **ui:** add unsaved changes confirmation when switching profiles ([b790005](https://github.com/kaitranntt/ccs/commit/b790005c85e9f25fd14a14ac01b79e7562f1a1ea)), closes [#163](https://github.com/kaitranntt/ccs/issues/163)
* **ui:** fix profile switching and improve UX ([86d992f](https://github.com/kaitranntt/ccs/commit/86d992fce623a8378d5f53b1aff7b53d2f80e3c4))

### Documentation

* **readme:** add OpenRouter to built-in providers ([676929f](https://github.com/kaitranntt/ccs/commit/676929fc87c4cc450e3dc6e3f05ff60dfcead255))
* **standards:** add input state persistence patterns ([53a7ba8](https://github.com/kaitranntt/ccs/commit/53a7ba8d3ffe81f87306e84357fce4f6ec9d7135)), closes [#165](https://github.com/kaitranntt/ccs/issues/165)
2025-12-21 07:11:07 +00:00