Commit Graph
3567 Commits
Author SHA1 Message Date
Tam Nhu Tran cf5fc96b7d test(ci): cover pr workflow coverage 2026-04-22 15:23:00 -04:00
Tam Nhu Tran ddfbcb63f4 docs(contrib): align local gate shortcuts 2026-04-22 15:12:24 -04:00
Tam Nhu Tran b314cf353e fix(ci): keep release workflows on full test coverage 2026-04-22 15:12:07 -04:00
Sergey GaluzaandOnSteroids 46920dbc08 fix(cliproxy): use adaptive thinking for Claude Opus 4.7
Per Anthropic docs, Claude Opus 4.7 only supports adaptive thinking;
manual `thinking.type: "enabled"` with `budget_tokens` is rejected
with HTTP 400.

Switch the claude provider's `claude-opus-4-7` entry from
`type: 'budget'` to `type: 'levels'` with the effort tiers exposed
by the API: `low | medium | high | xhigh`. The proxy is expected to
translate these into `thinking.type: "adaptive"` with the effort
parameter.

Opus 4.6 and Sonnet 4.6 keep `type: 'budget'` for now since the
deprecated mode is still functional on those models.

Built [OnSteroids](https://onsteroids.ai)

Co-Authored-By: OnSteroids <built@onsteroids.ai>
2026-04-22 21:09:21 +02:00
Tam Nhu Tran c9eaae17c1 docs(contrib): clarify CI lanes and parity gates 2026-04-22 15:07:12 -04:00
Tam Nhu Tran b9f5783fac test(ci): cover push quality workflow 2026-04-22 15:06:55 -04:00
Tam Nhu Tran 051f78aee7 chore(ci): split dev quality checks from release automation 2026-04-22 15:05:44 -04:00
github-actions[bot] fd0e9b7c3a chore(release): 7.73.1-dev.2 [skip ci] 2026-04-22 18:45:09 +00:00
Kai (Tam Nhu) Tran 20884c94c5 Merge pull request #1066 from kaitranntt/kai/fix/1058-codex-effort-suffixes
fix: preserve codex effort suffixes in dashboard profiles
2026-04-22 14:42:04 -04:00
Tam Nhu Tran 3a63cc0431 fix: preserve supplemental codex effort variants 2026-04-22 14:31:40 -04:00
Tam Nhu Tran e2ca197397 fix: preserve codex effort suffixes in dashboard profiles 2026-04-22 14:24:00 -04:00
github-actions[bot] b376a485e0 chore(release): 7.73.1-dev.1 [skip ci] 2026-04-22 13:30:21 +00:00
Tam Nhu Tran 89a32c2ecd fix(test): stabilize suite isolation for dev pushes 2026-04-22 09:24:03 -04:00
Tam Nhu Tran e6ac91b9c7 fix(test): stabilize proxy integration server ports 2026-04-22 09:16:15 -04:00
semantic-release-bot 473c870e8c chore(release): 7.73.1 [skip ci]
## [7.73.1](https://github.com/kaitranntt/ccs/compare/v7.73.0...v7.73.1) (2026-04-22)

### Hotfixes

* **cliproxy:** fallback from deleted CLIProxyAPIPlus to original backend ([60cbdce](https://github.com/kaitranntt/ccs/commit/60cbdce83dd429aeb6df5f1439ba99edd96acc3a)), closes [#1062](https://github.com/kaitranntt/ccs/issues/1062)
* close cliproxy plus fallback gaps ([7b1a7f3](https://github.com/kaitranntt/ccs/commit/7b1a7f3a09b5c6394897b5f95ad32bc9109e6a21))
* preserve plus fallback state and guard variant updates ([5b5f4a5](https://github.com/kaitranntt/ccs/commit/5b5f4a5ef52f91cb6d4bc7fd3413eac714945d4a))
2026-04-22 12:53:35 +00:00
Tam Nhu Tran 3e7ce1743b hotfix: preserve plus fallback state and guard variant updates 2026-04-22 08:52:17 -04:00
Tam Nhu Tran dd90ea7e2f hotfix: close cliproxy plus fallback gaps 2026-04-22 08:52:17 -04:00
Tam Nhu Tran b8b48a99ba hotfix(cliproxy): fallback from deleted CLIProxyAPIPlus to original backend
The upstream router-for-me/CLIProxyAPIPlus repo was deleted, breaking any
install/update path that resolved backend: plus. Existing users with
`backend: plus` saved in config.yaml hit 404s on every bootstrap.

Changes:
- Flip DEFAULT_BACKEND from 'plus' to 'original' (platform-detector.ts)
- Flip default cliproxy.backend in createEmptyUnifiedConfig() to 'original'
- Runtime 404 fallback: getConfiguredBackend() degrades 'plus' -> 'original'
  with a one-time warning, so existing installations keep working without a
  manual reconfig step
- Update CLIProxyBackend docblock to document the fallback behavior
- Update tests to match new default

Retains the 'plus' type and BACKEND_CONFIG entry for forward compatibility
once CCS self-maintains its own Plus fork.

Closes #1062
2026-04-22 08:52:17 -04:00
Kai (Tam Nhu) Tran a7edbf9e89 Merge pull request #1064 from kaitranntt/kai/hotfix/1062-cliproxy-plus-deleted
hotfix(cliproxy): fallback from deleted CLIProxyAPIPlus to original backend
2026-04-22 08:50:46 -04:00
Tam Nhu Tran 5b5f4a5ef5 hotfix: preserve plus fallback state and guard variant updates 2026-04-22 08:45:05 -04:00
Tam Nhu Tran 7b1a7f3a09 hotfix: close cliproxy plus fallback gaps 2026-04-22 08:35:26 -04:00
Tam Nhu Tran 60cbdce83d hotfix(cliproxy): fallback from deleted CLIProxyAPIPlus to original backend
The upstream router-for-me/CLIProxyAPIPlus repo was deleted, breaking any
install/update path that resolved backend: plus. Existing users with
`backend: plus` saved in config.yaml hit 404s on every bootstrap.

Changes:
- Flip DEFAULT_BACKEND from 'plus' to 'original' (platform-detector.ts)
- Flip default cliproxy.backend in createEmptyUnifiedConfig() to 'original'
- Runtime 404 fallback: getConfiguredBackend() degrades 'plus' -> 'original'
  with a one-time warning, so existing installations keep working without a
  manual reconfig step
- Update CLIProxyBackend docblock to document the fallback behavior
- Update tests to match new default

Retains the 'plus' type and BACKEND_CONFIG entry for forward compatibility
once CCS self-maintains its own Plus fork.

Closes #1062
2026-04-22 08:04:12 -04:00
Wooseong Kim 2191f0a6c7 fix(settings-profile): preserve non-routing env for Claude launches
Keep settings-profile Claude launches aligned with profile-scoped
non-routing env while still stripping routing/auth values.

- build claudeRuntimeEnvVars from filtered global + settings env
- preserve CLAUDE_CODE_MAX_OUTPUT_TOKENS and model defaults for
  nested settings-profile launches
- extend browser launch regression coverage to prove global_env
  cannot reintroduce routing/auth values
2026-04-22 14:08:37 +09:00
Wooseong Kim 1fd2fb83fb fix(runtime): strip reintroduced Anthropic routing env
Prevent settings-profile Claude launches from reintroducing
routing/auth env after the final env merge.

- re-strip ANTHROPIC_BASE_URL, ANTHROPIC_AUTH_TOKEN, and
  ANTHROPIC_API_KEY after merging envVars
- preserve model-selection env such as ANTHROPIC_MODEL and
  ANTHROPIC_DEFAULT_SONNET_MODEL
- add a regression test covering explicit settings-profile
  overrides that try to reintroduce routing env

Verification:
- bun test tests/unit/utils/claudecode-env-stripping.test.ts
- bun run validate
2026-04-22 14:08:37 +09:00
Wooseong Kim 5881a505d9 fix(settings-profile): pass selective Anthropic env stripping to Claude launches 2026-04-22 14:08:37 +09:00
Wooseong Kim 9ae85b82c1 fix(runtime): strip inherited Anthropic routing env selectively 2026-04-22 14:08:37 +09:00
walker1211andClaude Opus 4.7 4cf826efa2 fix(image-analysis): clear runtime env on native-read fallback
Avoid carrying runtime API credentials and endpoint fields into native Read fallback launches.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-22 01:36:11 +08:00
walker1211andClaude Opus 4.7 63082d4aed fix(image-analysis): clear runtime env on native-read fallback
Avoid carrying runtime API credentials and endpoint fields into native Read fallback launches.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-22 01:25:32 +08:00
walker1211andClaude Opus 4.7 d8954e9453 fix(browser): 对齐 phase11e 与 upstream browser 配置体系
同步 browser 配置相关模块并隔离测试中的宿主环境变量,修复 phase11e 合并 upstream/dev 后的浏览器相关回归。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-22 01:22:58 +08:00
walker1211andClaude Opus 4.7 acdb93e1a8 fix(browser): 对齐 browser status 输出字段
移除已不存在的 evalMode 输出,保持 browser command 与当前 browser status 模型一致。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-22 01:03:15 +08:00
walker1211 96db93ee6c Merge upstream/dev into feat/browser-mcp-hover-phase11e 2026-04-22 00:59:24 +08:00
github-actions[bot] c03f2ea791 chore(release): 7.73.0-dev.3 [skip ci] 2026-04-21 16:52:30 +00:00
Kai (Tam Nhu) Tran a376491570 Merge pull request #1060 from kaitranntt/kai/fix/cliproxy-quota-quarantine
fix(cliproxy): quarantine exhausted quota accounts
2026-04-21 12:49:24 -04:00
Tam Nhu Tran 08edf1eef4 fix(ci): isolate bun cache per job 2026-04-21 12:34:43 -04:00
Tam Nhu Tran 478d64a50a fix(cliproxy): quarantine exhausted quota accounts 2026-04-21 12:34:07 -04:00
github-actions[bot] 1422c9a80b chore(release): 7.73.0-dev.2 [skip ci] 2026-04-21 01:25:40 +00:00
Kai (Tam Nhu) Tran 8add341a48 Merge pull request #1052 from kaitranntt/kai/feat/1051-browser-policy-controls
feat(browser): add explicit runtime policy controls
2026-04-20 21:22:35 -04:00
Tam Nhu Tran 6604357b22 fix(browser): default browser tooling to manual opt-in 2026-04-20 21:15:31 -04:00
Tam Nhu Tran 039ed63a39 fix(browser): harden runtime policy edge cases 2026-04-20 21:01:19 -04:00
Tam Nhu Tran 7d02f55f9f feat(browser): add explicit runtime policy controls 2026-04-20 21:01:19 -04:00
github-actions[bot] d6c45fef04 chore(release): 7.73.0-dev.1 [skip ci] 2026-04-20 19:11:32 +00:00
Kai (Tam Nhu) Tran 46de058ed2 Merge pull request #1057 from kaitranntt/kai/fix/dev-release-protected-branch
fix(ci): use PAT token for dev release pushes
2026-04-20 15:08:14 -04:00
Tam Nhu Tran 06fffd3025 fix(ci): use PAT token for dev release pushes
- align dev-release workflow with protected-branch bypass used by release.yml

- add a workflow regression test so checkout and release auth do not drift back to github.token
2026-04-20 14:56:25 -04:00
Kai (Tam Nhu) Tran 65463f18db Merge pull request #1054 from grndis/main
fix(proxy): Add HEAD method support and fix tools call error
2026-04-20 14:44:26 -04:00
Kai (Tam Nhu) Tran 73025669ab Merge pull request #1055 from sgaluza/feat/claude-opus-4-7-support
feat(cliproxy): add Claude Opus 4.7 support
2026-04-20 13:39:44 -04:00
Tam Nhu Tran 21ec661106 test(model-pricing): align Opus 4.7 cache coverage 2026-04-20 13:34:59 -04:00
Tam Nhu Tran 571538dc1c fix(cliproxy): scope Opus 4.7 rollout to verified providers 2026-04-20 13:26:53 -04:00
Sergey Galuza de0f8b3264 test(model-pricing): add cache pricing coverage for Opus 4.7
Mirrors the existing `claude-opus-4-6` cache pricing test for both
`claude-opus-4-7` and `claude-opus-4-7-thinking` to explicitly
validate cache creation/read rates in end-to-end cost calculation.

Addresses PResto atrvd/ccs#8 issue #6 (suggestion).

Built [OnSteroids](https://onsteroids.ai)
2026-04-20 19:24:43 +02:00
Tam Nhu Tran 1b3ca82a84 fix(ci): stop caching node_modules in GitHub Actions
- cache only Bun's package cache so CI stops restoring partial hard-linked node_modules trees

- bump the cache key to avoid reusing corrupt node_modules archives on self-hosted runners
2026-04-20 13:23:42 -04:00
Tam Nhu Tran 399f403322 fix(transformers): preserve tool ordering across proxy streams
- reject pending tool_result layouts that cannot be translated without reordering user content

- keep interleaved GLMT tool_use blocks open until finalization instead of stopping early

- cover leading/interleaved tool_result regressions and interleaved streaming tool fragments
2026-04-20 13:17:30 -04:00