Commit Graph
707 Commits
Author SHA1 Message Date
Tam Nhu Tran b9f5783fac test(ci): cover push quality workflow 2026-04-22 15:06:55 -04:00
Tam Nhu Tran e2ca197397 fix: preserve codex effort suffixes in dashboard profiles 2026-04-22 14:24:00 -04: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
Tam Nhu Tran 478d64a50a fix(cliproxy): quarantine exhausted quota accounts 2026-04-21 12:34:07 -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
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) TranandGitHub 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) TranandGitHub 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 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
Grandis SYFandTam Nhu Tran 889d3d89e9 fix(test): correct expected error message text 2026-04-20 13:06:00 -04:00
Grandis SYFandTam Nhu Tran b2a4579098 fix(proxy): update tests for tool_result+text and disconnect handler changes 2026-04-20 13:06:00 -04:00
Sergey Galuza 7492688eff test(cliproxy): cover Claude Opus 4.7 in Claude provider catalog
Adds a unit test verifying that `claude-opus-4-7` is registered in
the `claude` provider with its provider-specific settings:

- `thinking.zeroAllowed: false` (contrasts with AGY where it is true)
- `extendedContext: true` (1M context via Anthropic API)

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

Built [OnSteroids](https://onsteroids.ai)
2026-04-20 19:00:39 +02:00
Tam Nhu Tran 1cfed73ca5 fix(proxy): harden stale daemon ownership checks 2026-04-20 12:44:30 -04:00
Sergey Galuza 61058123e1 feat(cliproxy): add Claude Opus 4.7 support
Adds Claude Opus 4.7 as a new model to the AGY (Antigravity) and Claude
provider catalogs, with pricing, Cursor IDE support, and updated defaults
across the codebase.

- Add claude-opus-4-7-thinking and claude-opus-4-7 to AGY catalog
  (defaultModel bumped to claude-opus-4-7-thinking)
- Add claude-opus-4-7 entry to Claude provider catalog
- Register claude-opus-4-7-thinking fork alias in CLIProxy config
  (CLIPROXY_CONFIG_VERSION bumped 17 -> 18)
- Add pricing for claude-opus-4-7 and claude-opus-4-7-thinking
  ($5/$25 per million, matching Opus 4.6)
- Add claude-4.7-opus and claude-4.7-opus-fast-mode to Cursor catalog
- Update ANTHROPIC_DEFAULT_OPUS_MODEL in base-claude settings to 4.7
- Update Droid adapter and code-reviewer fallback models to 4.7
- Update unit tests for model-catalog and model-pricing

Opus 4.6 is retained as a supported fallback in both catalogs.

Built [OnSteroids](https://onsteroids.ai)
2026-04-20 17:49:18 +02:00
Wooseong Kim 6928d8bb65 fix(proxy): parse flag options before profile args 2026-04-20 15:44:20 +09:00
Wooseong Kim c0c119867a fix(proxy): persist daemon state after startup 2026-04-20 15:04:24 +09:00
Wooseong Kim 8ad2763942 fix(proxy): retry candidate ports on bind conflict 2026-04-20 14:59:59 +09:00
Wooseong Kim 2a80f7b1c1 fix(proxy): handle end-of-options parsing 2026-04-20 14:27:09 +09:00
Wooseong Kim f345cf441e fix(proxy): ignore legacy singleton session file 2026-04-20 14:09:50 +09:00
Wooseong Kim 8942be3afc test(proxy): cover multi-profile daemon ports 2026-04-20 13:14:19 +09:00
Tam Nhu Tran 341e612e48 test: align browser launch assertions with setup guidance 2026-04-19 22:26:18 -04:00
Tam Nhu Tran f36c4a6e32 fix: keep browser setup config-only 2026-04-19 22:07:58 -04:00
Tam Nhu Tran 7ad8bbf0a1 feat: add browser setup flow for Claude attach 2026-04-19 22:00:16 -04:00
Tam Nhu Tran 485fe4ba1c test(cliproxy): assert routing persistence via unified config loader
The previous assertion read the generated CLIProxy config.yaml directly via
getConfigPathForPort(). On the self-hosted CI runner this produced ENOENT even
though applyCliproxyRoutingStrategy returned 'config-only', indicating the
read path and write path diverged in the full test-suite context.

Verify persistence via loadUnifiedConfig() instead — that's the canonical
source mutateUnifiedConfig writes to, independent of regenerateConfig's
file-path resolution.
2026-04-19 15:27:24 -04:00
Tam Nhu Tran e25d791d9b test(websearch): clear CCS_PROFILE_TYPE in SearXNG fallback spawn env
The SearXNG-to-DuckDuckGo fallback test inherited the caller's CCS_PROFILE_TYPE
via `...process.env`, causing the hook to take the 'native_default_profile'
skip path and produce empty stdout. All other subprocess spawns in this file
set CCS_PROFILE_TYPE to NEUTRAL_PROFILE_TYPE; this one was the outlier.

Deterministic locally when CCS_PROFILE_TYPE=default is set in the shell.
2026-04-19 15:21:36 -04:00
Tam Nhu Tran ccdd0b6e8e fix(windows): align escaped wrapper shell handling
Use ComSpec-aware shell selection for escaped wrapper launches.

Apply it to the remaining Windows Claude launch paths.

Rewrite the Codex exec regression test to use scoped spies so the full suite stays isolated.
2026-04-19 14:27:27 -04:00
Tam Nhu Tran a945b0b104 fix(targets): use cmd.exe for escaped Windows wrapper launches
Align Windows .cmd/.bat launch behavior with the Codex detector shell contract.

This keeps escaped -c overrides intact through wrapper execution.

Adds regression coverage for the Codex runtime path and the shared Windows shell launch path.
2026-04-19 14:09:12 -04:00
Kai (Tam Nhu) TranandGitHub 06e339b7be Merge pull request #1041 from kaitranntt/kai/fix/1038-openai-compat-regen
fix(cliproxy): preserve legacy openai-compat connectors on restart
2026-04-18 20:43:52 -04:00
Tam Nhu Tran 00d902b6e6 test(cliproxy): cover legacy connector removal cleanup 2026-04-18 20:39:46 -04:00
Kai (Tam Nhu) TranandGitHub 72c0dca5d8 Merge pull request #1037 from grndis/main
feat(proxy): enhance Anthropic-to-OpenAI message transformation
2026-04-18 20:10:37 -04:00
Tam Nhu Tran 25193187e0 chore(proxy): remove unused schema sanitizer draft 2026-04-18 20:05:22 -04:00
Tam Nhu Tran 16f81fc8a5 fix(cliproxy): preserve legacy openai-compat connectors on restart 2026-04-18 20:05:05 -04:00
Tam Nhu Tran ebc92194bb fix(proxy): harden Anthropic request transformation semantics
- enforce strict tool_result ordering and pairing against assistant tool_use ids
- reject tool_result image payloads that cannot map to OpenAI tool messages
- preserve raw tool schemas on the /v1/messages proxy path instead of silently tightening them
- forward Anthropic tool_choice semantics and cover adaptive routing plus upstream payload checks
2026-04-18 19:39:13 -04:00
Tam Nhu Tran 22ab58b02e fix(proxy): preserve valid enums during schema normalization 2026-04-18 19:02:55 -04:00
Tam Nhu Tran 32d6bfdda7 fix(proxy): restore strict Anthropic message validation 2026-04-18 19:02:38 -04:00
Kai (Tam Nhu) TranandGitHub f87d09f278 Merge pull request #1040 from kaitranntt/kai/fix/browser-attach-bootstrap
fix(browser): bootstrap managed attach profile setup
2026-04-18 18:53:56 -04:00
Tam Nhu Tran 5e1e8070e8 test(cliproxy): isolate routing strategy service state 2026-04-18 17:28:34 -04:00
NamNH2andKai (Tam Nhu) Tran 210ec33c04 fix(codex): probe Windows cmd wrappers via cmd shell 2026-04-18 17:18:18 -04:00
Tam Nhu Tran b52503300b fix(browser): bootstrap managed attach profile setup 2026-04-18 17:18:14 -04:00
Tam Nhu Tran bc1606da75 test(cliproxy): pin routing strategy test env scope 2026-04-16 23:35:08 -04:00
Tam Nhu Tran d3de83e157 fix(cliproxy): pin routing config regeneration path
- capture the resolved local cliproxy config/auth paths before regenerating
  routing strategy config
- thread explicit override paths into regenerateConfig so scoped config writes
  stay deterministic during the full test suite
- add regression coverage for explicit config path overrides
2026-04-16 23:29:10 -04:00
Tam Nhu Tran 41bf5075e0 hotfix(browser): avoid aborting launch on missing managed profile
- skip managed Claude browser attach when the default CCS browser profile
  directory has not been created yet
- keep explicit env override flows failing fast so real misconfiguration still
  surfaces clearly
- add regression coverage for default and settings-profile launches
2026-04-16 22:59:43 -04:00
Tam Nhu Tran 4583ffa022 fix(browser): reset blank attach path to default 2026-04-16 19:00:14 -04:00