Kai (Tam Nhu) Tran and GitHub
1f31d68dd2
Merge pull request #192 from kaitranntt/fix/qwen-login-stdin-forward
...
fix(qwen): inherit stdin for Device Code flows to enable interactive prompts
2025-12-24 04:11:02 -05:00
kaitranntt
c811fdfc79
fix(qwen): inherit stdin for Device Code flows to enable interactive prompts
...
Device Code flows (Qwen, GHCP) may require interactive terminal input
before generating the device code. For example, Qwen prompts for email.
Previously, all auth processes used piped stdin which blocked user input.
Now Device Code flows use 'inherit' for stdin, allowing users to respond
to prompts directly in the terminal.
Authorization Code flows (Gemini, Codex) still use piped stdin for
programmatic project selection.
Closes #188
2025-12-24 04:04:22 -05:00
semantic-release-bot
df90bacf6b
chore(release): 7.6.0 [skip ci]
...
## [7.6.0](https://github.com/kaitranntt/ccs/compare/v7.5.1...v7.6.0 ) (2025-12-24)
### Features
* **cli:** add config command hints to help and error messages ([e981c39 ](https://github.com/kaitranntt/ccs/commit/e981c391a26d51de749099ca844915ffc06976e2 ))
* **setup:** add first-time setup wizard for config initialization ([cec616d ](https://github.com/kaitranntt/ccs/commit/cec616d530d9cf61a3a45032465b01e9a4037558 )), closes [#142 ](https://github.com/kaitranntt/ccs/issues/142 )
### Bug Fixes
* **cliproxy:** respect enabled:false and use protocol-based port defaults ([a99b6eb ](https://github.com/kaitranntt/ccs/commit/a99b6eb93f06c6788bbf13a196bbca908fa06f4c ))
* **config:** improve edge case handling for config initialization ([ca78993 ](https://github.com/kaitranntt/ccs/commit/ca78993e7612143b3193e3cec3f8976be909e2d6 ))
* **ghcp:** display device code during OAuth device code flow ([46f1699 ](https://github.com/kaitranntt/ccs/commit/46f1699b1c6f716d06c1eaa3dc6aac94dd5761ec )), closes [#189 ](https://github.com/kaitranntt/ccs/issues/189 )
### Code Refactoring
* **config:** migrate to config.yaml as primary format ([b34469d ](https://github.com/kaitranntt/ccs/commit/b34469d75fd2c2b7fd4f4cc4c0cc28885001649b )), closes [#142 ](https://github.com/kaitranntt/ccs/issues/142 )
* **ghcp:** remove unused device code session management ([5de6ccc ](https://github.com/kaitranntt/ccs/commit/5de6cccee08aa06d6533181a1db189a595c5e123 ))
2025-12-24 08:43:29 +00:00
Kai (Tam Nhu) Tran and GitHub
948a20d342
Merge pull request #191 from kaitranntt/dev
...
feat(release): config setup wizard, device code display, and proxy bug fixes
2025-12-24 03:42:21 -05:00
github-actions[bot]
91a079ad20
chore(release): 7.5.1-dev.4 [skip ci]
2025-12-24 08:38:07 +00:00
kaitranntt
a99b6eb93f
fix(cliproxy): respect enabled:false and use protocol-based port defaults
...
- Fix port default logic: HTTP→8317, HTTPS→443 (was always 8317)
- Fix enabled:false being ignored in proxy config resolution
- Update stale comments referencing HTTP:80 to HTTP:8317
- Add 9 unit tests for edge cases (enabled handling, port defaults)
2025-12-24 03:36:48 -05:00
github-actions[bot]
659761f019
chore(release): 7.5.1-dev.3 [skip ci]
2025-12-24 08:24:13 +00:00
Kai (Tam Nhu) Tran and GitHub
1a8ba4e40c
Merge pull request #190 from kaitranntt/fix/ghcp-auth-code-display
...
fix(ghcp): display device code during OAuth device code flow
2025-12-24 03:23:11 -05:00
kaitranntt
5de6cccee0
refactor(ghcp): remove unused device code session management
...
- Remove unused functions: registerDeviceCode, completeDeviceCode,
failDeviceCode, getActiveDeviceCode, hasActiveDeviceCode,
getAllActiveDeviceCodes, ActiveSession interface, activeSessions Map
- Reduce device-code-handler.ts from 168 to 33 lines (YAGNI)
- Add ARIA labels to copy button for accessibility
- Fix timer to stop at 0 seconds instead of continuing negative
- Add "(Code expired)" visual indicator with destructive styling
- Change void sessionId to data-session-id attribute for debugging
Code review findings applied. Gemini OAuth unaffected (uses separate
project-selection-handler.ts with Authorization Code Flow).
2025-12-24 03:15:57 -05:00
kaitranntt
46f1699b1c
fix(ghcp): display device code during OAuth device code flow
...
When authenticating with GitHub Copilot using device code flow,
the user code was not being displayed. This fix:
- Parses device codes from CLIProxy output in oauth-process.ts
- Displays code prominently in CLI terminal with box formatting
- Broadcasts device code events via WebSocket for UI display
- Creates DeviceCodeDialog component for web UI (ccs config)
- Follows same pattern as Gemini project selection dialog
Closes #189
2025-12-24 03:02:36 -05:00
github-actions[bot]
8d1f1a6a94
chore(release): 7.5.1-dev.2 [skip ci]
2025-12-24 04:03:58 +00:00
Kai (Tam Nhu) Tran and GitHub
4867df26fc
Merge pull request #187 from kaitranntt/fix/config-init-defaults
...
feat(setup): add first-time setup wizard and migrate to config.yaml
2025-12-23 23:02:57 -05:00
kaitranntt
ca78993e76
fix(config): improve edge case handling for config initialization
...
- setup-command.ts: Add Ctrl+C handling (UserCancelledError), port
validation (1-65535), protocol stripping from host, try-catch with
user-friendly error messages
- postinstall.js: Add ~/.ccs file check (not directory), wrap js-yaml
require in try-catch with JSON fallback, validate config.json before
migration, warn when both config files exist
- recovery-manager.ts: Verify config is loadable (not just exists),
add nested error handling for fallback write
- ccs.ts: Make first-time install hint independent of recovery status
(shows even when user manually created empty config.yaml)
All edge cases identified by code review addressed.
2025-12-23 22:34:32 -05:00
kaitranntt
b34469d75f
refactor(config): migrate to config.yaml as primary format
...
- Update postinstall.js to create config.yaml instead of config.json
- Update recovery-manager to create config.yaml as primary config
- Fix isFirstTimeInstall() to check for meaningful config content
(profiles, accounts, variants, oauth_accounts, remote proxy)
- Update validation to accept config.yaml OR config.json
- Preserve backward compatibility: legacy config.json is migrated
to config.yaml on first run via autoMigrate()
- Update postinstall tests to verify config.yaml creation
Fixes #142 - remote CLIProxyAPI configuration
2025-12-23 21:54:55 -05:00
kaitranntt
cec616d530
feat(setup): add first-time setup wizard for config initialization
...
Addresses Issue #142 - remote CLIProxyAPI configuration for Docker/server deployments.
Changes:
- Add `ccs setup` command with interactive wizard
- Support local vs remote CLIProxy mode selection
- Guide users through remote proxy config (host, port, auth token)
- Auto-detect first-time install and suggest setup wizard
- Update help command to include setup
Scenarios covered:
1. New users - wizard guides through local/remote/skip choice
2. Remote proxy users - configure host/port/protocol/auth_token
3. Local users - default auto-start behavior
4. Skip CLIProxy - only API profiles or Claude accounts
2025-12-23 21:28:38 -05:00
github-actions[bot]
9d8268b0f6
chore(release): 7.5.1-dev.1 [skip ci]
2025-12-23 05:56:23 +00:00
kaitranntt
e981c391a2
feat(cli): add config command hints to help and error messages
...
Enhance discoverability of the 'ccs config' command by adding hints to
the help menu, post-update/doctor messages, and relevant error states.
2025-12-23 00:55:17 -05:00
semantic-release-bot
f62b48972d
chore(release): 7.5.1 [skip ci]
...
## [7.5.1](https://github.com/kaitranntt/ccs/compare/v7.5.0...v7.5.1 ) (2025-12-23)
### Bug Fixes
* **ui:** use UI color system for consistent CLI indicators ([91cd9ff ](https://github.com/kaitranntt/ccs/commit/91cd9ffc16e46737d190b3858340e7c745021ef4 ))
### Code Refactoring
* **cliproxy:** enhance binary downloader with robust error handling ([c2dd026 ](https://github.com/kaitranntt/ccs/commit/c2dd0261b7c2a8e4b9bd11b04df16ed3ba6e93be ))
2025-12-23 00:46:30 +00:00
Kai (Tam Nhu) Tran and GitHub
d552ec0251
Merge pull request #182 from kaitranntt/dev
...
fix(ui): consistent CLI indicators and enhanced binary downloader
2025-12-22 19:45:21 -05:00
github-actions[bot]
4ec931801c
chore(release): 7.5.0-dev.2 [skip ci]
2025-12-23 00:42:11 +00:00
kaitranntt
91cd9ffc16
fix(ui): use UI color system for consistent CLI indicators
2025-12-22 19:41:05 -05:00
github-actions[bot]
dbc128948e
chore(release): 7.5.0-dev.1 [skip ci]
2025-12-22 23:23:39 +00:00
kaitranntt
c2dd0261b7
refactor(cliproxy): enhance binary downloader with robust error handling
...
- Add categorized error detection for socket, timeout, HTTP, and redirect errors
- Implement smarter exponential backoff (longer delays for socket errors)
- Increase max retries from 3 to 5 with dynamic timeout adjustment
- Add resource cleanup (disable connection pooling for clean process exit)
- Add user-friendly error messages for each error type
- Refactor fetchText/fetchJson with retry logic and proper error handling
- Set 120s timeout for large binary downloads, 15-30s for text/JSON
- Prevent double-resolution and race conditions in Promise handlers
2025-12-22 18:22:32 -05:00
semantic-release-bot
c367149756
chore(release): 7.5.0 [skip ci]
...
## [7.5.0](https://github.com/kaitranntt/ccs/compare/v7.4.0...v7.5.0 ) (2025-12-22)
### Features
* **glm:** add GLM 4.7 model support ([a827b73 ](https://github.com/kaitranntt/ccs/commit/a827b73eef72f58705a6ebced0cf8620dda09399 )), closes [#179 ](https://github.com/kaitranntt/ccs/issues/179 )
2025-12-22 21:29:46 +00:00
Kai (Tam Nhu) Tran and GitHub
5fc558cc08
Merge pull request #181 from kaitranntt/dev
...
feat(glm): add GLM 4.7 model support
2025-12-22 16:28:40 -05:00
github-actions[bot]
df662492a6
chore(release): 7.4.0-dev.1 [skip ci]
2025-12-22 21:17:04 +00:00
Kai (Tam Nhu) Tran and GitHub
fe9491740e
Merge pull request #180 from kaitranntt/kai/feat/glm-4.7-support
...
feat(glm): add GLM 4.7 model support
2025-12-22 16:16:02 -05:00
kaitranntt
a827b73eef
feat(glm): add GLM 4.7 model support
...
- Update default GLM/GLMT model from glm-4.6 to glm-4.7
- Add glm-4.7 pricing entry
- Sync UI presets with CLI changes
Closes #179
2025-12-22 16:13:19 -05:00
semantic-release-bot
3da29e58e3
chore(release): 7.4.0 [skip ci]
...
## [7.4.0](https://github.com/kaitranntt/ccs/compare/v7.3.0...v7.4.0 ) (2025-12-22)
### Features
* **api:** add Azure Foundry preset ([31bafaa ](https://github.com/kaitranntt/ccs/commit/31bafaab8dbff03c984df3b2d0b0d743d71b012b ))
2025-12-22 20:38:39 +00:00
Kai (Tam Nhu) Tran and GitHub
4e6c5b5e71
Merge pull request #141 from MinhOmega/main
...
feat(foundry): add Microsoft Azure Foundry support
2025-12-22 15:37:38 -05:00
kaitranntt and MinhOmega
31bafaab8d
feat(api): add Azure Foundry preset
...
Add Microsoft Azure AI Foundry as a provider preset for `ccs api create`.
Usage: `ccs api create --preset foundry`
This is a cleaner implementation than the postinstall-based approach,
leveraging the existing preset system.
Co-authored-by: MinhOmega <49482201+MinhOmega@users.noreply.github.com >
2025-12-22 15:34:27 -05:00
semantic-release-bot
f1f726d163
chore(release): 7.3.0 [skip ci]
...
## [7.3.0](https://github.com/kaitranntt/ccs/compare/v7.2.0...v7.3.0 ) (2025-12-22)
### Features
* **auth:** add Kiro and GitHub Copilot OAuth providers ([2b441f6 ](https://github.com/kaitranntt/ccs/commit/2b441f64982c74174cb350537956e24970ef69f4 ))
* **cliproxy:** add ghcp settings and update variant adapter ([fae1ee2 ](https://github.com/kaitranntt/ccs/commit/fae1ee2b3139a22a753b55908305c5d4303be560 ))
* **cliproxy:** add kiro and ghcp OAuth configurations ([a01abe1 ](https://github.com/kaitranntt/ccs/commit/a01abe181b63d88fcf7e7fa9404071a69e7727d7 ))
* **cliproxy:** add kiro and ghcp providers to CLIProxyProvider type ([036714c ](https://github.com/kaitranntt/ccs/commit/036714c77447c4887da038b7979495c80f171c88 ))
* **cliproxy:** add kiro and ghcp to OAuth diagnostics and account manager ([49bc0a4 ](https://github.com/kaitranntt/ccs/commit/49bc0a44cc58cafdb74d008e32500a6154460246 ))
* **cliproxy:** migrate from CLIProxyAPI to CLIProxyAPIPlus ([6f8587d ](https://github.com/kaitranntt/ccs/commit/6f8587db6881dd3638320882e2eadcbf943c3945 ))
* **config:** add base settings for Kiro and Copilot providers ([b15ff7f ](https://github.com/kaitranntt/ccs/commit/b15ff7f2355bf88f5867fe97475690a5affcbe10 ))
* **config:** add kiro and ghcp to unified config and auth routes ([d04bcc1 ](https://github.com/kaitranntt/ccs/commit/d04bcc117f5fd79bf52ab97ce597173a9c40ff00 ))
* **ui:** add Kiro and Copilot provider icons ([9ca20e7 ](https://github.com/kaitranntt/ccs/commit/9ca20e70de856f5cadb2cf8d1aeb60f1e725052a ))
* **ui:** add kiro and ghcp to provider types and configs ([bf3d51a ](https://github.com/kaitranntt/ccs/commit/bf3d51ade33620653a9dff297b394d1f3eaa2cf3 ))
* **ui:** add kiro and ghcp to wizard, auth flow, and settings ([9221545 ](https://github.com/kaitranntt/ccs/commit/92215457f0226695a0d57b25fba4744b85401bac ))
* **ui:** integrate Kiro and Copilot providers, rename to CLIProxy Plus ([0f029f9 ](https://github.com/kaitranntt/ccs/commit/0f029f960a835f307f045eb9b7e01b448d4b539e ))
* **ui:** update cliproxy components with kiro and ghcp providers ([099b712 ](https://github.com/kaitranntt/ccs/commit/099b712d4a1cd64388e669493851750f072f6d98 ))
### Bug Fixes
* update download URLs and binary names for CLIProxyAPIPlus ([4829902 ](https://github.com/kaitranntt/ccs/commit/48299028268a95587e5dbcb8285ab449b83b23ff ))
### Documentation
* add CLIProxyAPIPlus attribution for Kiro and Copilot ([743d34a ](https://github.com/kaitranntt/ccs/commit/743d34a881dbe3adccaca5d8a8e80529cb061eb7 ))
* **cli:** add ccs kiro and ccs ghcp to help text ([8c8a15f ](https://github.com/kaitranntt/ccs/commit/8c8a15f1e14a71d0359a9d3a93abb29fee36633c ))
* update documentation for kiro and ghcp providers ([b93b91c ](https://github.com/kaitranntt/ccs/commit/b93b91c92596a747aae6b083819b1ec8162c1f5d ))
### Code Refactoring
* complete CLIProxy Plus branding across CLI and UI ([af92bc3 ](https://github.com/kaitranntt/ccs/commit/af92bc30bf45a7816b07b4dfa6a5f0a42b9b03f4 ))
* rename CLIProxyAPI to CLIProxy Plus across UI and CLI ([670993d ](https://github.com/kaitranntt/ccs/commit/670993d3644e9551c474c27014c25351d0e3c92a ))
2025-12-22 06:26:08 +00:00
Kai (Tam Nhu) Tran and GitHub
14f0fa4a49
Merge pull request #178 from kaitranntt/dev
...
feat(cliproxy): migrate to CLIProxyAPIPlus with Kiro and GitHub Copilot OAuth
2025-12-22 01:25:06 -05:00
github-actions[bot]
3c55ac906c
chore(release): 7.2.0-dev.1 [skip ci]
2025-12-22 06:12:03 +00:00
Kai (Tam Nhu) Tran and GitHub
ccc296d50d
Merge pull request #177 from kaitranntt/kai/feat/kiro-auth
...
feat(cliproxy): migrate to CLIProxyAPIPlus with Kiro and GitHub Copilot OAuth
2025-12-22 01:10:58 -05:00
kaitranntt
b93b91c925
docs: update documentation for kiro and ghcp providers
...
- add ccs kiro and ccs ghcp to README commands
- update project-overview-pdr with v7.2 and FR-003 OAuth flows
- update system-architecture with OAuth flow types
- update codebase-summary with 7 CLIProxy providers
- update project-roadmap with Phase 11 completion
2025-12-22 01:09:25 -05:00
kaitranntt
92215457f0
feat(ui): add kiro and ghcp to wizard, auth flow, and settings
...
- update PROVIDERS in wizard constants with ghcp
- add AUTH_ENDPOINTS for qwen, iflow, kiro, ghcp
- update globalenv description text
2025-12-22 00:48:10 -05:00
kaitranntt
099b712d4a
feat(ui): update cliproxy components with kiro and ghcp providers
...
- add ghcp to PROVIDER_IMAGES and PROVIDER_CONFIG in provider-logo
- update providers array and options in cliproxy-dialog
- add kiro and ghcp to providerLabels in cliproxy-table
- complete providers list in cliproxy-header
- update ownerMap key from copilot to ghcp in provider-editor
2025-12-22 00:47:34 -05:00
kaitranntt
bf3d51ade3
feat(ui): add kiro and ghcp to provider types and configs
...
- update Variant, CreateVariant, UpdateVariant, OAuthAccount types
- add ghcp to PROVIDER_ASSETS, PROVIDER_COLORS, PROVIDER_NAMES
- add ghcp catalog with model configurations
2025-12-22 00:46:51 -05:00
kaitranntt
f5a382c3d5
chore(config): remove deprecated base-copilot.settings.json
...
- replaced by base-ghcp.settings.json for ghcp provider
2025-12-22 00:46:29 -05:00
kaitranntt
8c8a15f1e1
docs(cli): add ccs kiro and ccs ghcp to help text
...
- add 'ccs kiro' entry for AWS CodeWhisperer
- add 'ccs ghcp' entry for GitHub Copilot OAuth
- clarify ccs copilot is for copilot-api integration
2025-12-22 00:46:01 -05:00
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