Kai (Tam Nhu) Tran
4dc6bbaf4c
Merge pull request #354 from jellydn/feat/ollama-provider
...
feat: add Ollama provider support
2026-01-22 15:21:09 -05:00
kaitranntt
8e29c48c6d
fix(presets): make requiresApiKey required boolean, add sentinel docs
...
- Change requiresApiKey from optional to required boolean in CLI
- Add requiresApiKey: true to all existing presets for consistency
- Document 'ollama' placeholder as sentinel value in code comment
- Add trailing newline to ollama.svg
2026-01-22 15:17:06 -05:00
kaitranntt
3ce698c5fe
fix(ollama): align property naming and descriptions
...
- Change CLI noApiKey to requiresApiKey to match UI convention
- Set apiKey='ollama' instead of empty string for local Ollama
- Align ollama-cloud descriptions between CLI/UI
- Keep https://ollama.com endpoint for direct API access
2026-01-22 15:02:49 -05:00
kaitranntt
2cb77f2dfd
feat(ui): add Ollama logo and make API key optional
...
- Add Ollama SVG logo to ui/public/icons/
- Add icon property to both ollama and ollama-cloud presets
- Make API key field optional for local Ollama (show input with hint)
- Update placeholder: "Optional - only if auth is enabled"
- Allows power users with Ollama auth configured to provide key
2026-01-22 14:24:37 -05:00
kaitranntt
2b7d18c4c6
feat(ui): add Ollama provider presets to dashboard
...
- Add ollama (local) and ollama-cloud presets to UI provider-presets.ts
- Update profile-create-dialog to handle requiresApiKey: false
- Show "No API Key Required" info box for local Ollama
- Add --api-key ignored warning to CLI for local Ollama preset
- Add ollama-cloud to CLI help text preset list
Fixes edge cases identified in PR review:
- UI dashboard now has parity with CLI Ollama support
- Conditional API key validation in profile creation form
2026-01-22 14:09:59 -05:00
semantic-release-bot
d874b51c65
chore(release): 7.25.0 [skip ci]
...
## [7.25.0](https://github.com/kaitranntt/ccs/compare/v7.24.2...v7.25.0 ) (2026-01-22)
### Features
* **api:** add /api/thinking endpoints for budget config ([9a2598f ](https://github.com/kaitranntt/ccs/commit/9a2598fb61904e1124f5142a179f0407a1f1c13a )), closes [#307 ](https://github.com/kaitranntt/ccs/issues/307 )
* **cli:** add --thinking flag for runtime budget override ([4d361b2 ](https://github.com/kaitranntt/ccs/commit/4d361b2ecf9032271eb4fa292b82a2205139b81b )), closes [#307 ](https://github.com/kaitranntt/ccs/issues/307 )
* **cliproxy:** add model-specific reasoning effort caps ([eec44d5 ](https://github.com/kaitranntt/ccs/commit/eec44d54e2ba8d2f4e5f0bc48a7e9a03f25de2d9 )), closes [#344 ](https://github.com/kaitranntt/ccs/issues/344 )
* **cliproxy:** add thinking budget validator module ([82ef680 ](https://github.com/kaitranntt/ccs/commit/82ef6804bbfd207522dde4bb4626fad2aaecb9ec )), closes [#307 ](https://github.com/kaitranntt/ccs/issues/307 )
* **cliproxy:** add ThinkingSupport to model catalog ([ebf7e04 ](https://github.com/kaitranntt/ccs/commit/ebf7e04b725d09d2fae10e36b9a45b57f8272069 )), closes [#307 ](https://github.com/kaitranntt/ccs/issues/307 )
* **cliproxy:** inject thinking suffix into model config ([014b5e6 ](https://github.com/kaitranntt/ccs/commit/014b5e68b8d9486ed697509e6e6fc506671af36a )), closes [#307 ](https://github.com/kaitranntt/ccs/issues/307 )
* **config:** add ThinkingConfig to unified config ([0c2fd9c ](https://github.com/kaitranntt/ccs/commit/0c2fd9cf5f4142a5a096cfa030b489ba9b6260bc )), closes [#307 ](https://github.com/kaitranntt/ccs/issues/307 )
* **thinking:** improve config validation and codex support ([19b7a49 ](https://github.com/kaitranntt/ccs/commit/19b7a49eee3a3487e8026a165c0961d60fe4cb43 ))
* **ui:** add Thinking settings tab to dashboard ([0a95f36 ](https://github.com/kaitranntt/ccs/commit/0a95f361a25415fb06bda06a16b0419ce2651119 )), closes [#307 ](https://github.com/kaitranntt/ccs/issues/307 )
### Bug Fixes
* **api:** add optimistic locking for thinking config ([ba19e1f ](https://github.com/kaitranntt/ccs/commit/ba19e1fcda0b360f0ca4e02d24f8fad47f249b48 ))
* **api:** add override type and provider_overrides validation ([31b9520 ](https://github.com/kaitranntt/ccs/commit/31b9520d54d5fda607bace8f87a7a0989bbb3d23 ))
* **api:** add type guard for tier_defaults and extract tiers constant ([299d96c ](https://github.com/kaitranntt/ccs/commit/299d96c01186fd065e5454edb7cb9aee6ab12bb0 )), closes [#351 ](https://github.com/kaitranntt/ccs/issues/351 )
* **cli:** add --thinking=value format and improve flag handling ([3060373 ](https://github.com/kaitranntt/ccs/commit/3060373797871ce2dc1394a5176d3a4693905921 ))
* **cliproxy:** add case-insensitive model lookup ([36bcc04 ](https://github.com/kaitranntt/ccs/commit/36bcc04133f6a0b0775d5edf897bc915b8a3efc5 ))
* **cliproxy:** add NaN/Infinity and empty string validation ([5f8d23c ](https://github.com/kaitranntt/ccs/commit/5f8d23c60bae72cde1f281a24312813211c39140 ))
* **cliproxy:** handle edge cases in thinking validation ([ca490a9 ](https://github.com/kaitranntt/ccs/commit/ca490a9f4e96dd2da7e6c76b466328ca4aa4dc6c ))
* **cliproxy:** improve thinking flag validation and warnings ([d5652de ](https://github.com/kaitranntt/ccs/commit/d5652de63423ebad7afe8f8a428c271d29edb427 ))
* **config:** add null guard and document nested paren limitation ([19e5239 ](https://github.com/kaitranntt/ccs/commit/19e52399fe4a9707dbf2878117d2db09cfa5d467 ))
* **config:** improve YAML error messages and thinking validation ([f7cc9f4 ](https://github.com/kaitranntt/ccs/commit/f7cc9f465312ec5005edb2671f235286f31718d6 ))
* **ui:** add fetch timeout and abort controller cleanup ([b634f36 ](https://github.com/kaitranntt/ccs/commit/b634f365f3c80199516fb798a5a4aba6cb36512d ))
* **ui:** add missing useThinkingConfig export to barrel file ([b996153 ](https://github.com/kaitranntt/ccs/commit/b996153e7fe92e786ae0c1335472cbb470a03327 ))
* **ui:** add provider indicator, retry button, and optimistic locking ([35f28a6 ](https://github.com/kaitranntt/ccs/commit/35f28a6e7733675813b34a3e6e2bda5907cdc393 ))
* **ui:** add spacing between Port label and input field ([1eeb8f9 ](https://github.com/kaitranntt/ccs/commit/1eeb8f922ddb25cb8caebe01a9239eb4529efc5e ))
* **ui:** add thinking tab to URL sync conditional ([3ea549a ](https://github.com/kaitranntt/ccs/commit/3ea549addddeba2c8c100d3fc7b892205904da44 ))
* **ui:** reduce excessive AGY quota API requests ([c8c1894 ](https://github.com/kaitranntt/ccs/commit/c8c189427221707832fa5257ece259321ee3bb52 ))
### Documentation
* **cli:** add extended thinking section to help ([7c5f365 ](https://github.com/kaitranntt/ccs/commit/7c5f36580ac357e7f63d70ed084e99c2fa24c6c4 ))
### Tests
* **cliproxy:** add unit tests for thinking validator ([3bd3e37 ](https://github.com/kaitranntt/ccs/commit/3bd3e379fe9573929bf24e1c3a925daac8578eaf )), closes [#307 ](https://github.com/kaitranntt/ccs/issues/307 )
* update tests for codex catalog inclusion ([fbb71a2 ](https://github.com/kaitranntt/ccs/commit/fbb71a228ed232035f1e14cf858b590492720b1c ))
2026-01-22 18:53:27 +00:00
Kai (Tam Nhu) Tran
e1b39c2abe
Merge pull request #355 from kaitranntt/dev
...
feat(thinking): add extended thinking mode with budget controls
2026-01-22 13:52:17 -05:00
github-actions[bot]
70142df6a2
chore(release): 7.24.2-dev.3 [skip ci]
2026-01-22 15:21:22 +00:00
Kai (Tam Nhu) Tran
9f2d5de459
Merge pull request #351 from kaitranntt/feat/thinking-flag
...
feat(cliproxy): add extended thinking support with model-specific caps
2026-01-22 10:20:17 -05:00
Huynh Duc Dung and Claude
dc6977d32e
fix(api): skip API key prompt for local Ollama using noApiKey flag
...
Local Ollama doesn't require an API key, but the CLI was still
prompting for one. This adds a `noApiKey` flag to provider presets
to mark providers that don't need authentication.
- Add `noApiKey?: boolean` property to ProviderPreset interface
- Set `noApiKey: true` for local Ollama (no key needed)
- All other presets unchanged (default to requiring API key)
- Skip API key prompt and show info message when noApiKey is true
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-22 17:34:12 +08:00
Huynh Duc Dung and Claude
ef2c8bba12
fix(api): skip API key prompt for local Ollama preset
...
Local Ollama doesn't require an API key, but the CLI was still
prompting for one. This adds a `requiresApiKey` property to provider
presets to control whether the API key step is required.
- Add `requiresApiKey` property to ProviderPreset interface
- Set `requiresApiKey: false` for local Ollama (no key needed)
- Set `requiresApiKey: true` for OpenRouter and Ollama Cloud
- Skip API key prompt and show info message when not required
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-22 17:21:50 +08:00
Huynh Duc Dung and Claude
c9604be5e1
docs: add Ollama to Built-in Providers table and usage examples
...
Update README.md to include:
- Ollama and Ollama Cloud in the Built-in Providers table
- Ollama integration note with setup instructions
- ccs ollama in Basic Commands section
- Ollama example in Parallel Workflows
Ref: https://github.com/kaitranntt/ccs/pull/354
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-22 17:04:36 +08:00
Huynh Duc Dung and Claude
bd3be23355
feat: add Ollama provider support
...
Add support for Ollama as a provider in CCS, enabling users to use
local Ollama models (qwen3-coder, gpt-oss:20b, gpt-oss:120b) and
Ollama Cloud models (glm-4.7:cloud, qwen3-coder:480b).
Changes:
- Add base-ollama.settings.json for local Ollama (localhost:11434)
- Add base-ollama-cloud.settings.json for ollama.com cloud API
- Add 'ollama' and 'ollama-cloud' presets to provider-presets.ts
- Update help documentation in api-command.ts and help-command.ts
Usage:
ccs api create --preset ollama # Local Ollama
ccs api create --preset ollama-cloud # Ollama Cloud
Ref: https://github.com/kaitranntt/ccs/issues/353
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-22 16:59:23 +08:00
kaitranntt
ca490a9f4e
fix(cliproxy): handle edge cases in thinking validation
...
- model-catalog: add null guard and trim for modelId lookup
- thinking-validator: add 100 char length limit, accept "8192.0" format
- cliproxy-executor: error on empty --thinking= value
- use-thinking-config: handle HTML error pages, return cleanup fn
2026-01-21 17:52:16 -05:00
kaitranntt
299d96c011
fix(api): add type guard for tier_defaults and extract tiers constant
...
- Add defensive type guard in misc-routes.ts to prevent runtime crash
if malformed tier_defaults object is passed to PUT /api/thinking
- Extract VALID_THINKING_TIERS constant to thinking-validator.ts
to eliminate duplication across validation code
- Export constant from cliproxy barrel file
Addresses P2/P3 items from PR #351 review
2026-01-21 17:39:54 -05:00
kaitranntt
3df6587e8d
chore(ui): regenerate lockfile after dependency removal
2026-01-21 17:30:25 -05:00
kaitranntt
4491d9f3d3
chore(deps): remove unused auth dependencies from ui
...
- Remove bcrypt, express-rate-limit, express-session
- Remove @types/bcrypt, @types/express-session
- Clean up unused server-side auth packages
2026-01-21 17:26:07 -05:00
kaitranntt
fbb71a228e
test: update tests for codex catalog inclusion
...
- Fix config-generator test assertion for parseUserApiKeys
- Update model-catalog tests to expect codex provider
- Remove outdated codex unsupported test from model-config
2026-01-21 17:25:56 -05:00
kaitranntt
19b7a49eee
feat(thinking): improve config validation and codex support
...
- Add shouldShowWarnings() helper for cleaner warning control
- Improve applyThinkingSuffix() regex for accurate suffix detection
- Fix provider_overrides validation for nested tier structure
- Add thinking section to YAML config export with documentation
- Update UI to clarify codex uses reasoning effort levels
- Remove unused setManualOverride hook
2026-01-21 17:25:33 -05:00
kaitranntt
eec44d54e2
feat(cliproxy): add model-specific reasoning effort caps
...
Add maxLevel field to ThinkingSupport interface to cap reasoning
effort at model's maximum supported level. This fixes Issue #344
where gpt-5-mini fails with xhigh reasoning (only supports high).
- Add Codex provider to model catalog with gpt-5.2-codex and gpt-5-mini
- Add capLevelAtMax() and capEffortAtModelMax() for runtime capping
- Update UI presets with new Codex models and tier mappings
2026-01-21 14:27:46 -05:00
kaitranntt
2f584802bd
chore(deps): add bcrypt, express-session, express-rate-limit for dashboard auth
2026-01-20 20:20:23 -05:00
kaitranntt
99d164901e
Merge remote-tracking branch 'origin/dev' into feat/thinking-flag
...
Resolve merge conflicts keeping both features:
- thinking: extended thinking/reasoning budget control
- dashboard_auth: dashboard authentication
- backups: config backups section
2026-01-20 20:19:51 -05:00
github-actions[bot]
85c4786cf0
chore(release): 7.24.2-dev.2 [skip ci]
2026-01-18 20:49:35 +00:00
Kai (Tam Nhu) Tran
d036368119
Merge pull request #349 from kaitranntt/kai/fix/port-label-spacing
...
fix(ui): add spacing between Port label and input field
2026-01-18 15:48:36 -05:00
github-actions[bot]
95dd9b14aa
chore(release): 7.24.2-dev.1 [skip ci]
2026-01-18 20:47:30 +00:00
kaitranntt
1eeb8f922d
fix(ui): add spacing between Port label and input field
...
Changed layout from vertical stack (space-y-1) to horizontal flex
with gap (flex items-center gap-2) to properly space the Port label
and input field in the local proxy settings card.
2026-01-18 15:45:28 -05:00
kaitranntt
d8f81b817e
revert(ci): restore detailed AI review prompt structure
...
Reverts to the original guided output format with:
- Visual hierarchy with emojis and separators
- Priority tags (High/Medium/Low)
- Security and code quality checklists
- Ultrathink directive
- Reaction comments for /review triggers
- Model signature in review footer
2026-01-18 15:45:11 -05:00
semantic-release-bot
f286c1bb6a
chore(release): 7.24.2 [skip ci]
...
## [7.24.2](https://github.com/kaitranntt/ccs/compare/v7.24.1...v7.24.2 ) (2026-01-18)
### Bug Fixes
* **ci:** disable track_progress for workflow_dispatch events ([65c325d ](https://github.com/kaitranntt/ccs/commit/65c325d33e3e55f7214f2d4b786f4204751722b6 ))
2026-01-18 20:34:07 +00:00
kaitranntt
65c325d33e
fix(ci): disable track_progress for workflow_dispatch events
...
track_progress is only supported for PR/issue events, not workflow_dispatch.
Made the setting conditional on event type.
2026-01-18 15:33:00 -05:00
semantic-release-bot
c9f7cc1b7f
chore(release): 7.24.1 [skip ci]
...
## [7.24.1](https://github.com/kaitranntt/ccs/compare/v7.24.0...v7.24.1 ) (2026-01-18)
### Bug Fixes
* **ci:** use placeholder API key to pass claude-code-action validation ([a83a87b ](https://github.com/kaitranntt/ccs/commit/a83a87bbc2f7542d793edff910dc833bda40f9c8 ))
2026-01-18 20:32:12 +00:00
kaitranntt
a83a87bbc2
fix(ci): use placeholder API key to pass claude-code-action validation
...
claude-code-action validates that anthropic_api_key is non-empty before
running. CLIProxy ignores this value and uses ANTHROPIC_AUTH_TOKEN for
actual authentication.
2026-01-18 15:30:55 -05:00
github-actions[bot]
4ac5235884
chore(sync): merge main into dev after release [skip ci]
...
# Conflicts:
# package.json
2026-01-18 20:20:04 +00:00
semantic-release-bot
29c8f499cd
chore(release): 7.24.0 [skip ci]
...
## [7.24.0](https://github.com/kaitranntt/ccs/compare/v7.23.0...v7.24.0 ) (2026-01-18)
### Features
* **cliproxy:** add backend selection for CLIProxyAPI vs CLIProxyAPIPlus ([8ade4a6 ](https://github.com/kaitranntt/ccs/commit/8ade4a6b26a7870b730094ca47085cf4dc1bc411 ))
### Bug Fixes
* **cliproxy:** address PR review issues for backend selection ([a019ed2 ](https://github.com/kaitranntt/ccs/commit/a019ed2cf88a0e458d220fa0e9117c1490e9e6a6 ))
### Documentation
* add Docker support documentation ([90bced9 ](https://github.com/kaitranntt/ccs/commit/90bced95a42178c5bafae259285413552740cb54 ))
### Code Refactoring
* **ci:** simplify ai-review to use claude-code-action directly ([5e22547 ](https://github.com/kaitranntt/ccs/commit/5e22547f3fc19202039dc855a4516e12253960c6 ))
* **ci:** simplify ai-review to vanilla claude-code-action ([bdfc409 ](https://github.com/kaitranntt/ccs/commit/bdfc40966a316b36b3689c8cdc3e6326ba789399 ))
2026-01-18 20:19:40 +00:00
github-actions[bot]
ca5551f61a
chore(release): 7.23.0-dev.3 [skip ci]
2026-01-18 20:19:27 +00:00
kaitranntt
bdfc40966a
refactor(ci): simplify ai-review to vanilla claude-code-action
...
- Use anthropics/claude-code-action@v1 directly
- Remove ccs-reviewer wrapper dependency
- Match pr-review-comprehensive.yml pattern
- Keep CLIProxy env vars for model routing
- Restore comprehensive allowedTools for posting
2026-01-18 15:18:17 -05:00
kaitranntt
5e22547f3f
refactor(ci): simplify ai-review to use claude-code-action directly
...
- Remove ccs-reviewer wrapper dependency
- Set ANTHROPIC_BASE_URL directly in env block
- Remove use_cliproxy input (no longer needed)
2026-01-18 14:58:36 -05:00
github-actions[bot]
a2f1c85bc3
chore(release): 7.23.0-dev.2 [skip ci]
2026-01-18 15:28:58 +00:00
Kai (Tam Nhu) Tran
b8664c43fe
Merge pull request #347 from kaitranntt/feat/cliproxy-backend-selection
...
feat(cliproxy): add backend selection for CLIProxyAPI vs CLIProxyAPIPlus
2026-01-18 10:28:01 -05:00
kaitranntt
a019ed2cf8
fix(cliproxy): address PR review issues for backend selection
...
- Remove duplicate CLIProxyBackend type from platform-detector.ts (import from types.ts)
- Add warning for invalid --backend CLI value (was silently ignored)
- Show toast notification when backend change blocked by running proxy
- Migrate from deprecated CLIPROXY_FALLBACK_VERSION to getFallbackVersion()
- Add comprehensive JSDoc for backend API endpoints
2026-01-18 10:24:53 -05:00
kaitranntt
8ade4a6b26
feat(cliproxy): add backend selection for CLIProxyAPI vs CLIProxyAPIPlus
...
Add cliproxy.backend config field to choose between CLIProxyAPI (original)
and CLIProxyAPIPlus backends. Includes CLI --backend flag, Dashboard toggle,
and provider validation to block Kiro/ghcp on original backend.
2026-01-18 10:10:01 -05:00
github-actions[bot]
c2016c2f18
chore(release): 7.23.0-dev.1 [skip ci]
2026-01-18 13:59:36 +00:00
kaitranntt
90bced95a4
docs: add Docker support documentation
2026-01-18 08:58:31 -05:00
semantic-release-bot
3a44899516
chore(release): 7.23.0 [skip ci]
...
## [7.23.0](https://github.com/kaitranntt/ccs/compare/v7.22.0...v7.23.0 ) (2026-01-18)
### Features
* **docker:** add Docker/Compose setup for CCS dashboard ([a14c7f3 ](https://github.com/kaitranntt/ccs/commit/a14c7f3f6ba0d694dda622a59c9f878f648976b4 ))
### Bug Fixes
* **docker:** address security and reproducibility issues ([b386410 ](https://github.com/kaitranntt/ccs/commit/b38641002fadc8732c81aa9c7bd01bee826095a5 ))
* **docker:** use bun 1.2.21 ([1dee718 ](https://github.com/kaitranntt/ccs/commit/1dee71897e89cc20bc1e78a57e29176ddacdb321 ))
2026-01-18 13:21:06 +00:00
Kai (Tam Nhu) Tran
8a89bc97aa
Merge pull request #345 from opastorello/main
...
feat(docker): add Docker/Compose setup for CCS dashboard
2026-01-18 08:20:00 -05:00
kaitranntt
1dee71897e
fix(docker): use bun 1.2.21
2026-01-18 08:11:54 -05:00
kaitranntt and opastorello
b38641002f
fix(docker): address security and reproducibility issues
...
Fixes from maintainer review:
.dockerignore:
- Add .env* files to prevent secret leakage (CRITICAL)
- Add tests/, docs/, IDE files to reduce build context
- Add organized comments for maintainability
Dockerfile:
- Pin bun version (ARG BUN_VERSION=1.2.2) for reproducible builds
- Add build artifact validation step
- Add npm cache clean to reduce image size
- Add section comments for readability
docker-compose.yml:
- Add grok_home volume for grok-cli persistence
- Add start_period to healthcheck for slow starts
- Add resource limits (1G RAM, 2 CPUs) with reservations
- Add documentation comments
entrypoint.sh:
- Improve chown error handling with warning message
- Add usage help when no command provided
README.md:
- Add Resource Limits section with examples
- Add Graceful Shutdown documentation
- Add Troubleshooting section (permissions, ports, restart loops)
- Add Security Notes section
- Update persistence docs to include grok-cli
Co-authored-by: opastorello <nicolas@pastorello-lab.com.br >
2026-01-18 08:10:44 -05:00
opastorello
a14c7f3f6b
feat(docker): add Docker/Compose setup for CCS dashboard
2026-01-17 00:19:53 -03:00
semantic-release-bot
ca86772208
chore(release): 7.22.0 [skip ci]
...
## [7.22.0](https://github.com/kaitranntt/ccs/compare/v7.21.0...v7.22.0 ) (2026-01-15)
### Features
* **cliproxy:** add HTTPS tunnel for remote proxy mode ([#1 ](https://github.com/kaitranntt/ccs/issues/1 )) ([9e9cbd4 ](https://github.com/kaitranntt/ccs/commit/9e9cbd48585200c890fe6bb83539fe3a99b25cdc ))
* **dashboard:** add project_id display for Antigravity accounts ([ed2ce13 ](https://github.com/kaitranntt/ccs/commit/ed2ce138e41f07997eb6fa7e650cb4f16849b3df ))
* **dashboard:** show projectId warning in Live Account Monitor ([28b0faa ](https://github.com/kaitranntt/ccs/commit/28b0faa0cb842737c9a2b0409822b1339078cf0d ))
### Bug Fixes
* address PR [#4 ](https://github.com/kaitranntt/ccs/issues/4 ) review - HTTPS tests and timeout handling ([e055890 ](https://github.com/kaitranntt/ccs/commit/e055890e16fa6d79411faae5f04794807db39c87 ))
* address PR [#4 ](https://github.com/kaitranntt/ccs/issues/4 ) review suggestions ([c3bfa34 ](https://github.com/kaitranntt/ccs/commit/c3bfa34703a501b502508dbf41cff75d2cd84dbe ))
* **cliproxy:** add try-catch for file operations in pause/resume ([d87a653 ](https://github.com/kaitranntt/ccs/commit/d87a6531952313b1e3795feb67ab152f2bfbb1e9 ))
* **cliproxy:** move token files when pausing/resuming accounts ([9d2442f ](https://github.com/kaitranntt/ccs/commit/9d2442f9fa772e1048b8153b8a2d586a4ec032ce )), closes [#337 ](https://github.com/kaitranntt/ccs/issues/337 )
* **cliproxy:** show clear message for paused accounts in Live Monitor ([a931bc9 ](https://github.com/kaitranntt/ccs/commit/a931bc9745572c0b5ddb488f568f1bec62d69a25 ))
* **cliproxy:** use sibling auth-paused/ dir to prevent token refresh loops ([4d31128 ](https://github.com/kaitranntt/ccs/commit/4d31128b63ad3996dcb783cd08d956d53ff7face ))
* **dashboard:** harden projectId handling with edge case fixes ([bc02ecc ](https://github.com/kaitranntt/ccs/commit/bc02ecc94c5120bb0a4491fd9f88c71fb9f26b7f ))
* **dashboard:** update projectId for existing accounts during discovery ([36367d4 ](https://github.com/kaitranntt/ccs/commit/36367d49f0f51f4ecba9a32adf54308af153bdb2 ))
* increase timeout in connection tracking test for CI ([e7e95e6 ](https://github.com/kaitranntt/ccs/commit/e7e95e69700ed4c94c89d88bdf7d674a55053961 ))
* make connection tracking test deterministic ([b735234 ](https://github.com/kaitranntt/ccs/commit/b735234beb6c9559c2798ab48d8b876cf5e6c495 ))
* resolve CI test timing and merge conflict with dev ([504b1b3 ](https://github.com/kaitranntt/ccs/commit/504b1b3974c2538a692a54a7d83b1dea7e500433 ))
* **ui:** improve paused account display in Live Account Monitor ([502b30a ](https://github.com/kaitranntt/ccs/commit/502b30a589c8aef948e8d58ffc543fcb4e0248ad ))
2026-01-15 19:32:08 +00:00
Kai (Tam Nhu) Tran
3c4e74955b
Merge pull request #343 from kaitranntt/dev
...
feat(release): promote dev to main
2026-01-15 14:31:00 -05:00
github-actions[bot]
02d05e23ed
chore(release): 7.21.0-dev.3 [skip ci]
2026-01-15 19:07:40 +00:00