kaitranntt
7ea64bdb43
fix(cliproxy): prevent variant names matching reserved provider names
...
Added validation to reject variant names that match reserved CLIProxy
provider names (gemini, codex, agy, qwen, iflow). Also protected reserved
provider settings files from being deleted when deleting variants.
This prevents accidental deletion of default provider configurations when
users create variants with conflicting names.
2025-12-19 09:49:05 -05:00
kaitranntt
598454c931
fix(cliproxy): include BASE_URL and AUTH_TOKEN when applying presets
...
Presets now always include ANTHROPIC_BASE_URL and ANTHROPIC_AUTH_TOKEN
when applied to provider settings. This ensures CLIProxy routing works
correctly for Gemini, Codex, and Agy providers.
Also fixes settings save failing for new profiles by changing PUT
/api/settings/:profile to upsert behavior (create if not exists).
2025-12-19 09:44:14 -05:00
kaitranntt
68eab562ce
feat(env): add debug logging for global env injection
...
- log injected global env var names in debug mode (CCS_DEBUG)
- log when telemetry/reporting env vars are applied in CLIProxy
2025-12-19 07:58:19 -05:00
semantic-release-bot
c76a4dd825
chore(release): 6.6.2-dev.3 [skip ci]
...
## [6.6.2-dev.3](https://github.com/kaitranntt/ccs/compare/v6.6.2-dev.2...v6.6.2-dev.3 ) (2025-12-19)
### Bug Fixes
* **update-checker:** resolve dev channel update and duplicate comments ([b6b1817 ](https://github.com/kaitranntt/ccs/commit/b6b18173cc41788328ef1c8831de9527898f06a1 ))
2025-12-19 09:51:15 +00:00
kaitranntt
b6b18173cc
fix(update-checker): resolve dev channel update and duplicate comments
...
Fixes tag-agnostic cache issue causing 'ccs update --dev' to require
force. Implements tag-specific caching (dev_version vs latest_version)
to correctly detect updates across channels. Disables duplicate bot
comments on dev releases in .releaserc.cjs.
2025-12-19 04:50:09 -05:00
semantic-release-bot
7786b39aa5
chore(release): 6.6.2-dev.2 [skip ci]
...
## [6.6.2-dev.2](https://github.com/kaitranntt/ccs/compare/v6.6.2-dev.1...v6.6.2-dev.2 ) (2025-12-19)
### Bug Fixes
* **remote-proxy:** fix TypeError and make port optional with protocol defaults ([03aea4e ](https://github.com/kaitranntt/ccs/commit/03aea4eac233caf00736ceec80b4cc841bce948a )), closes [#142 ](https://github.com/kaitranntt/ccs/issues/142 )
2025-12-19 09:28:15 +00:00
Kai (Tam Nhu) Tran and GitHub
e7847384a2
Merge pull request #150 from kaitranntt/kai/feat/remote-proxy-config
...
fix(remote-proxy): fix TypeError and make port optional with protocol defaults
2025-12-19 04:27:16 -05:00
kaitranntt
03aea4eac2
fix(remote-proxy): fix TypeError and make port optional with protocol defaults
...
- Fix TypeError: error.code?.toLowerCase - add type guard for non-string error codes
- Make remote proxy port optional - defaults to 443 (HTTPS) or 80 (HTTP)
- Smart URL building - omits port when using protocol default
- UI improvements - show default port hint, allow empty port field
- Better validation - only host is required, port uses smart defaults
Closes #142
2025-12-19 04:23:20 -05:00
semantic-release-bot
40fea0ef04
chore(release): 6.6.2-dev.1 [skip ci]
...
## [6.6.2-dev.1](https://github.com/kaitranntt/ccs/compare/v6.6.1...v6.6.2-dev.1 ) (2025-12-19)
### Bug Fixes
* **ci:** use built-in GITHUB_TOKEN for release comments ([cff38ac ](https://github.com/kaitranntt/ccs/commit/cff38ac53d392317325e2cbf5281956ff59174be ))
2025-12-19 09:09:06 +00:00
kaitranntt
cff38ac53d
fix(ci): use built-in GITHUB_TOKEN for release comments
...
Changes semantic-release to use the built-in GITHUB_TOKEN instead of
PAT_TOKEN so that release comments appear from github-actions[bot]
instead of the repository owner's personal account.
PAT_TOKEN is still used for checkout to ensure downstream workflows
can be triggered by the release commits.
2025-12-19 04:07:45 -05:00
semantic-release-bot
0646e4c9b0
chore(release): 6.6.1 [skip ci]
...
## [6.6.1](https://github.com/kaitranntt/ccs/compare/v6.6.0...v6.6.1 ) (2025-12-19)
### Bug Fixes
* **cliproxy:** register session on dashboard start and add port-based stop fallback ([a3b172c ](https://github.com/kaitranntt/ccs/commit/a3b172cc437c4a00612667edf44f8aa3b3ffa1ae ))
2025-12-19 09:00:10 +00:00
Kai (Tam Nhu) Tran and GitHub
c564b48fec
Merge pull request #148 from kaitranntt/dev
...
fix(cliproxy): register session on dashboard start and add port-based stop fallback
2025-12-19 03:59:09 -05:00
semantic-release-bot
f8e4a87287
chore(release): 6.6.1-dev.1 [skip ci]
...
## [6.6.1-dev.1](https://github.com/kaitranntt/ccs/compare/v6.6.0...v6.6.1-dev.1 ) (2025-12-19)
### Bug Fixes
* **cliproxy:** register session on dashboard start and add port-based stop fallback ([a3b172c ](https://github.com/kaitranntt/ccs/commit/a3b172cc437c4a00612667edf44f8aa3b3ffa1ae ))
2025-12-19 08:58:27 +00:00
kaitranntt
a3b172cc43
fix(cliproxy): register session on dashboard start and add port-based stop fallback
...
Dashboard Stop/Update buttons failed with contradictory errors:
- Stop: "No active CLIProxy session found"
- Update: "CLIProxy was already running"
Root cause: service-manager spawned proxy but never called registerSession(),
so stopProxy() couldn't find the lock file.
Changes:
- service-manager.ts: Add registerSession() after spawn
- session-tracker.ts: Make stopProxy() async with port-based fallback
- routes.ts: Update proxy-stop endpoint to async
- cliproxy-command.ts: Update handleStop() to await async stopProxy()
- port-utils.ts: Fix double-escaped regex for Windows port detection
- session-tracker.test.js: Update tests for async stopProxy()
2025-12-19 03:57:06 -05:00
semantic-release-bot
f1dfd69a4a
chore(release): 6.6.0 [skip ci]
...
## [6.6.0](https://github.com/kaitranntt/ccs/compare/v6.5.0...v6.6.0 ) (2025-12-19)
### ⚠ BREAKING CHANGES
* Native shell installers (curl/irm) no longer work.
Use `npm install -g @kaitranntt/ccs` instead.
### Features
* **ci:** add Discord notifications for releases ([ee76d66 ](https://github.com/kaitranntt/ccs/commit/ee76d663aec59a86a236156dbc163d0d291c0446 ))
* **ci:** add semantic-release for dev branch with rich Discord notifications ([0f590c8 ](https://github.com/kaitranntt/ccs/commit/0f590c80d689c39cea7c94937ed398941dddb533 ))
* **cleanup:** add age-based error log cleanup ([45207b4 ](https://github.com/kaitranntt/ccs/commit/45207b4e7f92c09d7464dd5c954718254ddfd43a ))
* **cliproxy:** add getRemoteEnvVars for remote proxy mode ([f4a50d0 ](https://github.com/kaitranntt/ccs/commit/f4a50d006c1f6bd284fe743f9a322540763e1848 ))
* **cliproxy:** add proxy config resolver with CLI flag support ([68a93f0 ](https://github.com/kaitranntt/ccs/commit/68a93f0500f396ebcc65cc133c1a444ae5a0f220 ))
* **cliproxy:** add remote proxy client for health checks ([30d564c ](https://github.com/kaitranntt/ccs/commit/30d564cda66a54c2ac12788559624cb0736cdeb3 ))
* **cliproxy:** integrate remote proxy mode in executor ([bd1ff2f ](https://github.com/kaitranntt/ccs/commit/bd1ff2f059d01d4371b2230d4902bc5ab210055e ))
* **cliproxy:** set WRITABLE_PATH for log storage in ~/.ccs/cliproxy/ ([6b9396f ](https://github.com/kaitranntt/ccs/commit/6b9396fbc6d464bc3e3d6d3bb639e70fe5306074 ))
* **config:** add proxy configuration types and schema ([eff2e2d ](https://github.com/kaitranntt/ccs/commit/eff2e2d29f3f227c05103c252823fb9e040b6e49 ))
* **config:** add proxy section to unified config loader ([1971744 ](https://github.com/kaitranntt/ccs/commit/197174441f6eeca5e3c98e88af43d91ee081f734 ))
* **dashboard:** add error log viewer for CLIProxy diagnostics ([5b3d565 ](https://github.com/kaitranntt/ccs/commit/5b3d56548a8dfb2e6bb22e14b13f0fb038f2d1fb )), closes [#132 ](https://github.com/kaitranntt/ccs/issues/132 )
* **global-env:** add global environment variables injection for third-party profiles ([5d34326 ](https://github.com/kaitranntt/ccs/commit/5d343260c7307c2d7ac8da92eb5f94c7f764d08c ))
* **ui:** add absolute path copy for error logs ([5d4f49e ](https://github.com/kaitranntt/ccs/commit/5d4f49e4bb6f9748efa89e96c342dfae3e35d02b ))
* **ui:** add Proxy settings tab to dashboard ([9a9ef98 ](https://github.com/kaitranntt/ccs/commit/9a9ef98542bb766087b711fc39e928e347ad9b86 ))
* **ui:** add Stop and Restart buttons to ProxyStatusWidget ([c9ad0b0 ](https://github.com/kaitranntt/ccs/commit/c9ad0b077934ae8418d4e97b9b02a09044ff898b ))
* **ui:** add version sync timestamp to ProxyStatusWidget ([d43079b ](https://github.com/kaitranntt/ccs/commit/d43079b72414d7b841a35a934ea39a91527f4172 ))
* **ui:** redesign error logs monitor with split view layout ([8f47b87 ](https://github.com/kaitranntt/ccs/commit/8f47b8775f2c2493c05ee2be861ca3f8667cfc0e ))
* **ui:** show CLIProxyAPI update availability in dashboard ([96762a9 ](https://github.com/kaitranntt/ccs/commit/96762a9f6ee096570b2fe6136a4431e6ce1d1a47 ))
* **web-server:** add proxy configuration API routes ([8decdfb ](https://github.com/kaitranntt/ccs/commit/8decdfb515075b772970de7c85b34c31baf93754 ))
### Bug Fixes
* **ci:** remove deprecated installer references from dev-release workflow ([4b969b6 ](https://github.com/kaitranntt/ccs/commit/4b969b6870aae6b5859b9a1be0cf98b9d537ce00 ))
* **ci:** remove sync-version.js that depends on deleted VERSION file ([18729c9 ](https://github.com/kaitranntt/ccs/commit/18729c9983ecd1f9d857b0de2753e99c675c624a ))
* **cliproxy:** prevent misleading update message when proxy is running ([2adc272 ](https://github.com/kaitranntt/ccs/commit/2adc272f278b1d80d160ad4d6e1f35e3b61cb156 )), closes [#143 ](https://github.com/kaitranntt/ccs/issues/143 )
* **error-logs-monitor:** properly handle status loading state ([1ef625e ](https://github.com/kaitranntt/ccs/commit/1ef625ee863c517a5fbba21f16cf991bb77be7d7 ))
* **profiles:** prevent env var inheritance for settings-based profiles ([903bc10 ](https://github.com/kaitranntt/ccs/commit/903bc10fea11694474f772356f301b8e4b37298e ))
### Documentation
* **cliproxy:** add remote proxy documentation ([196422c ](https://github.com/kaitranntt/ccs/commit/196422cee1f7410d385581f2a28df3faa87d68e3 ))
### Styles
* **ui:** use sidebar accent colors for proxy update button ([eeb6913 ](https://github.com/kaitranntt/ccs/commit/eeb6913d96fe1a9a0d8721627a07c7f772b67b88 ))
* **ui:** widen cliproxy sidebar from w-64 to w-80 ([248d970 ](https://github.com/kaitranntt/ccs/commit/248d970cba8671b7c20dc99f8d1a70e4fe113605 ))
### Code Refactoring
* remove deprecated native shell installers ([126cffc ](https://github.com/kaitranntt/ccs/commit/126cffc6dcf434abeee883a4109d3705cdb92a67 ))
* rename proxy to cliproxy_server and update API routes ([8d8d4c2 ](https://github.com/kaitranntt/ccs/commit/8d8d4c248ad890413d5c4e7e72f9f2a16305f74f ))
2025-12-19 08:28:08 +00:00
Kai (Tam Nhu) Tran and GitHub
7013a5b81e
Merge pull request #147 from kaitranntt/dev
...
feat: remote proxy mode, error log viewer, and CI improvements
2025-12-19 03:27:07 -05:00
semantic-release-bot
165d5d1339
chore(release): 6.6.0-dev.4 [skip ci]
...
## [6.6.0-dev.4](https://github.com/kaitranntt/ccs/compare/v6.6.0-dev.3...v6.6.0-dev.4 ) (2025-12-19)
### Bug Fixes
* **profiles:** prevent env var inheritance for settings-based profiles ([903bc10 ](https://github.com/kaitranntt/ccs/commit/903bc10fea11694474f772356f301b8e4b37298e ))
2025-12-19 07:41:43 +00:00
kaitranntt
903bc10fea
fix(profiles): prevent env var inheritance for settings-based profiles
...
- Load settings file and explicitly inject ANTHROPIC_* env vars
- Prevents stale CLIProxy env vars from overriding settings file values
- Fixes GLM/Kimi requests incorrectly routing through CLIProxyAPI
2025-12-19 02:40:29 -05:00
semantic-release-bot
eaa7d0f526
chore(release): 6.6.0-dev.3 [skip ci]
...
## [6.6.0-dev.3](https://github.com/kaitranntt/ccs/compare/v6.6.0-dev.2...v6.6.0-dev.3 ) (2025-12-19)
### Features
* **cliproxy:** add getRemoteEnvVars for remote proxy mode ([f4a50d0 ](https://github.com/kaitranntt/ccs/commit/f4a50d006c1f6bd284fe743f9a322540763e1848 ))
* **cliproxy:** add proxy config resolver with CLI flag support ([68a93f0 ](https://github.com/kaitranntt/ccs/commit/68a93f0500f396ebcc65cc133c1a444ae5a0f220 ))
* **cliproxy:** add remote proxy client for health checks ([30d564c ](https://github.com/kaitranntt/ccs/commit/30d564cda66a54c2ac12788559624cb0736cdeb3 ))
* **cliproxy:** integrate remote proxy mode in executor ([bd1ff2f ](https://github.com/kaitranntt/ccs/commit/bd1ff2f059d01d4371b2230d4902bc5ab210055e ))
* **config:** add proxy configuration types and schema ([eff2e2d ](https://github.com/kaitranntt/ccs/commit/eff2e2d29f3f227c05103c252823fb9e040b6e49 ))
* **config:** add proxy section to unified config loader ([1971744 ](https://github.com/kaitranntt/ccs/commit/197174441f6eeca5e3c98e88af43d91ee081f734 ))
* **ui:** add Proxy settings tab to dashboard ([9a9ef98 ](https://github.com/kaitranntt/ccs/commit/9a9ef98542bb766087b711fc39e928e347ad9b86 ))
* **web-server:** add proxy configuration API routes ([8decdfb ](https://github.com/kaitranntt/ccs/commit/8decdfb515075b772970de7c85b34c31baf93754 ))
### Documentation
* **cliproxy:** add remote proxy documentation ([196422c ](https://github.com/kaitranntt/ccs/commit/196422cee1f7410d385581f2a28df3faa87d68e3 ))
### Styles
* **ui:** use sidebar accent colors for proxy update button ([eeb6913 ](https://github.com/kaitranntt/ccs/commit/eeb6913d96fe1a9a0d8721627a07c7f772b67b88 ))
### Code Refactoring
* rename proxy to cliproxy_server and update API routes ([8d8d4c2 ](https://github.com/kaitranntt/ccs/commit/8d8d4c248ad890413d5c4e7e72f9f2a16305f74f ))
2025-12-19 07:17:25 +00:00
Kai (Tam Nhu) Tran and GitHub
a64aa5dbeb
Merge pull request #146 from kaitranntt/kai/feat/remote-cliproxyapi-config
...
feat(cliproxy): add remote proxy configuration support
2025-12-19 02:16:24 -05:00
kaitranntt
8d8d4c248a
refactor: rename proxy to cliproxy_server and update API routes
2025-12-19 02:14:49 -05:00
kaitranntt
eeb6913d96
style(ui): use sidebar accent colors for proxy update button
...
- replace hardcoded amber-600 with sidebar-accent theme variable
- improve consistency with sidebar theme
2025-12-19 01:41:04 -05:00
kaitranntt
196422cee1
docs(cliproxy): add remote proxy documentation
...
- add proxy CLI flags section to help command output
- add proxy environment variables section to help
- add Remote Proxy section to README with config examples
- document CLI flag overrides and priority resolution
2025-12-19 01:18:05 -05:00
kaitranntt
9a9ef98542
feat(ui): add Proxy settings tab to dashboard
...
- add Proxy tab with Local/Remote mode toggle cards
- add remote server config inputs (host, port, protocol, auth token)
- add Test Connection button with reachability status display
- add fallback settings (enable fallback, auto-start local)
- add local proxy port configuration
- add getProxyConfig, updateProxyConfig, testProxyConnection API methods
2025-12-19 01:17:20 -05:00
kaitranntt
8decdfb515
feat(web-server): add proxy configuration API routes
...
- GET /api/proxy returns current proxy config
- PUT /api/proxy updates proxy settings in config.yaml
- POST /api/proxy/test tests remote connection
- register routes in web server index
2025-12-19 01:16:10 -05:00
semantic-release-bot
ebfef34a13
chore(release): 6.6.0-dev.2 [skip ci]
...
## [6.6.0-dev.2](https://github.com/kaitranntt/ccs/compare/v6.6.0-dev.1...v6.6.0-dev.2 ) (2025-12-19)
### Bug Fixes
* **ci:** remove sync-version.js that depends on deleted VERSION file ([18729c9 ](https://github.com/kaitranntt/ccs/commit/18729c9983ecd1f9d857b0de2753e99c675c624a ))
2025-12-19 06:15:45 +00:00
kaitranntt
bd1ff2f059
feat(cliproxy): integrate remote proxy mode in executor
...
- resolve proxy config with CLI flags, ENV vars, and config.yaml
- check remote proxy health before skipping local binary spawn
- implement TTY-aware fallback prompting when remote unreachable
- support --remote-only flag to disable fallback
- use remote or local env vars based on mode
2025-12-19 01:15:33 -05:00
kaitranntt
f4a50d006c
feat(cliproxy): add getRemoteEnvVars for remote proxy mode
...
- generate environment variables for remote CLIProxyAPI
- construct ANTHROPIC_BASE_URL from host/port/protocol
- include auth token in Authorization header when provided
2025-12-19 01:15:10 -05:00
kaitranntt
18729c9983
fix(ci): remove sync-version.js that depends on deleted VERSION file
2025-12-19 01:14:24 -05:00
kaitranntt
30d564cda6
feat(cliproxy): add remote proxy client for health checks
...
- checkRemoteProxy() tests remote CLIProxyAPI /health endpoint
- testConnection() validates remote proxy connectivity
- typed error codes: CONNECTION_REFUSED, TIMEOUT, AUTH_FAILED, UNKNOWN
- support for self-signed certificates with allowSelfSigned flag
- add type-level tests for interfaces
2025-12-19 01:13:54 -05:00
kaitranntt
68a93f0500
feat(cliproxy): add proxy config resolver with CLI flag support
...
- parseProxyFlags() extracts --proxy-host, --proxy-port, --proxy-protocol
- getProxyEnvVars() reads CCS_PROXY_* environment variables
- resolveProxyConfig() merges CLI > ENV > config.yaml > defaults
- hasProxyFlags() detects proxy-related CLI arguments
- add 29 comprehensive unit tests
2025-12-19 01:12:46 -05:00
kaitranntt
197174441f
feat(config): add proxy section to unified config loader
...
- merge proxy config with defaults in loadUnifiedConfig
- preserve user overrides for remote/fallback/local sections
2025-12-19 01:11:49 -05:00
kaitranntt
eff2e2d29f
feat(config): add proxy configuration types and schema
...
- add ProxyRemoteConfig, ProxyFallbackConfig, ProxyLocalConfig interfaces
- add ProxyConfig composite type with remote/fallback/local sections
- add ResolvedProxyConfig interface for runtime config
- bump UNIFIED_CONFIG_VERSION to 5
- add DEFAULT_PROXY_CONFIG constant
2025-12-19 01:11:29 -05:00
semantic-release-bot
86d41e5e4d
chore(release): 6.6.0-dev.1 [skip ci]
...
## [6.6.0-dev.1](https://github.com/kaitranntt/ccs/compare/v6.5.0...v6.6.0-dev.1 ) (2025-12-19)
### ⚠ BREAKING CHANGES
* Native shell installers (curl/irm) no longer work.
Use `npm install -g @kaitranntt/ccs` instead.
### Features
* **ci:** add Discord notifications for releases ([ee76d66 ](https://github.com/kaitranntt/ccs/commit/ee76d663aec59a86a236156dbc163d0d291c0446 ))
* **ci:** add semantic-release for dev branch with rich Discord notifications ([0f590c8 ](https://github.com/kaitranntt/ccs/commit/0f590c80d689c39cea7c94937ed398941dddb533 ))
* **cleanup:** add age-based error log cleanup ([45207b4 ](https://github.com/kaitranntt/ccs/commit/45207b4e7f92c09d7464dd5c954718254ddfd43a ))
* **cliproxy:** set WRITABLE_PATH for log storage in ~/.ccs/cliproxy/ ([6b9396f ](https://github.com/kaitranntt/ccs/commit/6b9396fbc6d464bc3e3d6d3bb639e70fe5306074 ))
* **dashboard:** add error log viewer for CLIProxy diagnostics ([5b3d565 ](https://github.com/kaitranntt/ccs/commit/5b3d56548a8dfb2e6bb22e14b13f0fb038f2d1fb )), closes [#132 ](https://github.com/kaitranntt/ccs/issues/132 )
* **global-env:** add global environment variables injection for third-party profiles ([5d34326 ](https://github.com/kaitranntt/ccs/commit/5d343260c7307c2d7ac8da92eb5f94c7f764d08c ))
* **ui:** add absolute path copy for error logs ([5d4f49e ](https://github.com/kaitranntt/ccs/commit/5d4f49e4bb6f9748efa89e96c342dfae3e35d02b ))
* **ui:** add Stop and Restart buttons to ProxyStatusWidget ([c9ad0b0 ](https://github.com/kaitranntt/ccs/commit/c9ad0b077934ae8418d4e97b9b02a09044ff898b ))
* **ui:** add version sync timestamp to ProxyStatusWidget ([d43079b ](https://github.com/kaitranntt/ccs/commit/d43079b72414d7b841a35a934ea39a91527f4172 ))
* **ui:** redesign error logs monitor with split view layout ([8f47b87 ](https://github.com/kaitranntt/ccs/commit/8f47b8775f2c2493c05ee2be861ca3f8667cfc0e ))
* **ui:** show CLIProxyAPI update availability in dashboard ([96762a9 ](https://github.com/kaitranntt/ccs/commit/96762a9f6ee096570b2fe6136a4431e6ce1d1a47 ))
### Bug Fixes
* **ci:** remove deprecated installer references from dev-release workflow ([4b969b6 ](https://github.com/kaitranntt/ccs/commit/4b969b6870aae6b5859b9a1be0cf98b9d537ce00 ))
* **cliproxy:** prevent misleading update message when proxy is running ([2adc272 ](https://github.com/kaitranntt/ccs/commit/2adc272f278b1d80d160ad4d6e1f35e3b61cb156 )), closes [#143 ](https://github.com/kaitranntt/ccs/issues/143 )
* **error-logs-monitor:** properly handle status loading state ([1ef625e ](https://github.com/kaitranntt/ccs/commit/1ef625ee863c517a5fbba21f16cf991bb77be7d7 ))
### Styles
* **ui:** widen cliproxy sidebar from w-64 to w-80 ([248d970 ](https://github.com/kaitranntt/ccs/commit/248d970cba8671b7c20dc99f8d1a70e4fe113605 ))
### Code Refactoring
* remove deprecated native shell installers ([126cffc ](https://github.com/kaitranntt/ccs/commit/126cffc6dcf434abeee883a4109d3705cdb92a67 ))
2025-12-19 06:05:00 +00:00
Kai (Tam Nhu) Tran and GitHub
2e47c8ce65
Merge pull request #145 from kaitranntt/kai/feat/semantic-release-enhancement
...
feat(ci): add semantic-release for dev branch with rich Discord notifications
2025-12-19 01:04:05 -05:00
kaitranntt
0f590c80d6
feat(ci): add semantic-release for dev branch with rich Discord notifications
...
- add .releaserc.cjs with branch-aware config (dev=prerelease, main=stable)
- add scripts/send-discord-release.cjs that parses CHANGELOG.md
- replace custom VERSION bumping with semantic-release
- add Discord webhook URL validation
- add release detection to prevent false notifications
2025-12-19 01:00:41 -05:00
github-actions[bot]
338528777b
chore(release): 6.5.0-dev.7 [skip ci]
2025-12-19 05:27:40 +00:00
kaitranntt
ee76d663ae
feat(ci): add Discord notifications for releases
...
- stable releases: fetch GH release, post green embed with changelog
- dev releases: post orange embed with version info
- graceful skip if webhook not configured
2025-12-19 00:26:22 -05:00
github-actions[bot]
2db8f3bf1a
chore(release): 6.5.0-dev.6 [skip ci]
2025-12-19 04:46:57 +00:00
kaitranntt
45207b4e7f
feat(cleanup): add age-based error log cleanup
...
- add --errors flag to target error-*.log files
- add --days=N for age filtering (default: 7 days)
- show preview of files to delete before confirmation
- keep recent logs for debugging, only delete old ones
2025-12-18 23:45:44 -05:00
github-actions[bot]
584b31e3b6
chore(release): 6.5.0-dev.5 [skip ci]
2025-12-19 04:27:31 +00:00
Kai (Tam Nhu) Tran and GitHub
a64f1818ea
Merge pull request #144 from kaitranntt/kai/fix/cliproxy-update-notification
...
fix(cliproxy): prevent misleading update message when proxy is running
2025-12-18 23:26:23 -05:00
kaitranntt
d43079b724
feat(ui): add version sync timestamp to ProxyStatusWidget
...
- Show current CLIProxyAPI version (e.g., v6.5.53)
- Display "Synced Xm ago" with full timestamp on hover
- Extend API response to include checkedAt timestamp
2025-12-18 23:24:15 -05:00
kaitranntt
96762a9f6e
feat(ui): show CLIProxyAPI update availability in dashboard
...
- Add GET /api/cliproxy/update-check endpoint
- Export checkCliproxyUpdate() function from binary-manager
- Add useCliproxyUpdateCheck hook with 1-hour cache
- Update ProxyStatusWidget with amber "Update" badge when available
- Highlight Restart button as "Update" with amber styling when update pending
2025-12-18 23:17:05 -05:00
kaitranntt
c9ad0b0779
feat(ui): add Stop and Restart buttons to ProxyStatusWidget
...
- Add POST /api/cliproxy/proxy-stop API endpoint
- Add proxyStop method in api-client and useStopProxy hook
- Update ProxyStatusWidget with Stop and Restart controls when running
- Restart = stop + delay + start (for applying CLIProxyAPI updates)
Complements the fix in binary-manager.ts which now tells users to stop
proxy before updates can be applied.
2025-12-18 23:03:45 -05:00
github-actions[bot]
6d206e6e9c
chore(release): 6.5.0-dev.4 [skip ci]
2025-12-19 03:56:06 +00:00
kaitranntt
2adc272f27
fix(cliproxy): prevent misleading update message when proxy is running
...
When CLIProxyAPI is already running as a background process, the update
cannot be applied because the old process is still in memory. Previously,
the CLI would download the new binary and show "Updating CLIProxyAPI..."
even though the running process remained on the old version.
Now checks if proxy is running before attempting update:
- If running: shows update available message with instruction to stop first
- If not running: proceeds with update as before
Fixes #143
2025-12-18 22:52:12 -05:00
kaitranntt
248d970cba
style(ui): widen cliproxy sidebar from w-64 to w-80
2025-12-18 22:44:07 -05:00
kaitranntt
5d343260c7
feat(global-env): add global environment variables injection for third-party profiles
...
- add global_env config section to unified config types and loader
- inject global env vars at runtime for cliproxy and copilot profiles
- add GET/PUT /api/global-env endpoints for UI management
- add Global Env tab to Settings page with enable toggle and var management
- add GlobalEnvIndicator component showing injected vars in profile editors
- support ?tab=globalenv query param for direct navigation from indicators
2025-12-18 22:38:25 -05:00
github-actions[bot]
25cfb5b65e
chore(release): 6.5.0-dev.3 [skip ci]
2025-12-19 02:07:47 +00:00