Luis Pater
352cb98ff0
Merge branch 'router-for-me:main' into main
2026-03-05 20:08:19 +08:00
hkfires
48ffc4dee7
feat(config): support excluded vertex models in config
2026-03-04 18:47:42 +08:00
Luis Pater
7ebd8f0c44
Merge branch 'router-for-me:main' into main
2026-03-04 18:30:45 +08:00
Luis Pater
79009bb3d4
Fixed : #797
...
**test(auth): add test for preserving ModelStates during auth updates**
2026-03-04 02:06:24 +08:00
Luis Pater
179e5434b1
Merge pull request #406 from router-for-me/main
...
v6.8.40
2026-03-03 21:51:48 +08:00
hkfires
532107b4fa
test(auth): add global model registry usage to conductor override tests
2026-03-03 09:18:56 +08:00
Luis Pater
32e64dacfd
Merge branch 'main' into plus
2026-03-01 02:44:26 +08:00
Luis Pater
cc1d8f6629
Fixed : #1747
...
feat(auth): add configurable max-retry-credentials for finer control over cross-credential retries
2026-03-01 02:42:36 +08:00
Luis Pater
acb1066de8
Merge branch 'router-for-me:main' into main
2026-02-27 20:49:03 +08:00
Luis Pater
27c68f5bb2
fix(auth): replace MarkResult with hook OnResult for result handling
2026-02-27 20:47:46 +08:00
Luis Pater
b80793ca82
Merge branch 'main' into plus
2026-02-27 16:18:12 +08:00
Luis Pater
74bf7eda8f
Merge pull request #1686 from lyd123qw2008/fix/auth-refresh-concurrency-limit
...
fix(auth): limit auto-refresh concurrency to prevent refresh storms
2026-02-27 05:59:20 +08:00
Luis Pater
f481d25133
Merge branch 'main' into plus
2026-02-26 23:16:17 +08:00
Luis Pater
24bcfd9c03
Merge pull request #1699 from 123hi123/fix/antigravity-primary-model-fallback
...
fix(antigravity): keep primary model list and backfill empty auths
2026-02-26 04:28:29 +08:00
Luis Pater
6bcac3a55a
Merge branch 'router-for-me:main' into main
2026-02-25 22:21:31 +08:00
Luis Pater
aa1da8a858
Merge pull request #1685 from lyd123qw2008/fix/auth-auto-refresh-interval
...
fix(auth): respect configured auto-refresh interval
2026-02-25 01:13:47 +08:00
Luis Pater
77cc4ce3a0
Merge branch 'main' into plus
2026-02-25 01:04:15 +08:00
comalot
8ce07f38dd
fix(antigravity): keep primary model list and backfill empty auths
2026-02-24 16:16:44 +08:00
Luis Pater
7cb398d167
Merge pull request #1663 from rensumo/main
...
feat: implement credential-based round-robin for gemini-cli
2026-02-24 06:02:50 +08:00
Luis Pater
48732ba05e
Merge pull request #1527 from HEUDavid/feat/auth-hook
...
feat(auth): add post-auth hook mechanism
2026-02-24 05:33:13 +08:00
lyd123qw2008
0aaf177640
fix(auth): limit auto-refresh concurrency to prevent refresh storms
2026-02-23 22:28:41 +08:00
lyd123qw2008
450d1227bd
fix(auth): respect configured auto-refresh interval
2026-02-23 22:07:50 +08:00
rensumo
5936f9895c
feat: implement credential-based round-robin for gemini-cli virtual auths
...
Changes the RoundRobinSelector to use two-level round-robin when
gemini-cli virtual auths are detected (via gemini_virtual_parent attr):
- Level 1: cycle across credential groups (parent accounts)
- Level 2: cycle within each group's project auths
Credentials start from a random offset (rand.IntN) for fair distribution.
Non-virtual auths and single-credential scenarios fall back to flat RR.
Adds 3 test cases covering multi-credential grouping, single-parent
fallback, and mixed virtual/non-virtual fallback.
2026-02-21 12:49:48 +08:00
kavore
b3da00d2ed
fix: add default copilot claude model aliases for oauth routing
2026-02-20 21:59:21 +03:00
Luis Pater
c09fb2a79d
Merge branch 'main' into plus
2026-02-19 21:58:04 +08:00
Luis Pater
2789396435
fix: ensure connection-scoped headers are filtered in upstream requests
...
- Added `connectionScopedHeaders` utility to respect "Connection" header directives.
- Updated `FilterUpstreamHeaders` to remove connection-scoped headers dynamically.
- Refactored and tested upstream header filtering with additional validations.
- Adjusted upstream header handling during retries to replace headers safely.
2026-02-19 13:19:10 +08:00
Luis Pater
61da7bd981
Merge PR #1626 into codex/pr-1626
2026-02-19 04:49:14 +08:00
Luis Pater
ec6068060b
Merge branch 'main' into plus
2026-02-19 04:42:35 +08:00
Luis Pater
252f7e0751
Merge pull request #1625 from thebtf/feat/tool-prefix-config
...
feat: add per-auth tool_prefix_disabled option
2026-02-19 04:07:22 +08:00
Luis Pater
bb86a0c0c4
feat(logging, executor): add request logging tests and WebSocket-based Codex executor
...
- Introduced unit tests for request logging middleware to enhance coverage.
- Added WebSocket-based Codex executor to support Responses API upgrade.
- Updated middleware logic to selectively capture request bodies for memory efficiency.
- Enhanced Codex configuration handling with new WebSocket attributes.
2026-02-19 01:57:02 +08:00
Kirill Turanskiy
1f8f198c45
feat: passthrough upstream response headers to clients
...
CPA previously stripped ALL response headers from upstream AI provider
APIs, preventing clients from seeing rate-limit info, request IDs,
server-timing and other useful headers.
Changes:
- Add Headers field to Response and StreamResult structs
- Add FilterUpstreamHeaders helper (hop-by-hop + security denylist)
- Add WriteUpstreamHeaders helper (respects CPA-set headers)
- ExecuteWithAuthManager/ExecuteCountWithAuthManager now return headers
- ExecuteStreamWithAuthManager returns headers from initial connection
- All 11 provider executors populate Response.Headers
- All handler call sites write filtered upstream headers before response
Filtered headers (not forwarded):
- RFC 7230 hop-by-hop: Connection, Transfer-Encoding, Keep-Alive, etc.
- Security: Set-Cookie
- CPA-managed: Content-Length, Content-Encoding
2026-02-18 00:16:22 +03:00
Kirill Turanskiy
9261b0c20b
feat: add per-auth tool_prefix_disabled option
...
Allow disabling the proxy_ tool name prefix on a per-account basis.
Users who route their own Anthropic account through CPA can set
"tool_prefix_disabled": true in their OAuth auth JSON to send tool
names unchanged to Anthropic.
Default behavior is fully preserved — prefix is applied unless
explicitly disabled.
Changes:
- Add ToolPrefixDisabled() accessor to Auth (reads metadata key
"tool_prefix_disabled" or "tool-prefix-disabled")
- Gate all 6 prefix apply/strip points with the new flag
- Add unit tests for the accessor
2026-02-17 21:48:19 +03:00
DetroitTommy
1dbeb0827a
added kilocode auth, needs adjusting
2026-02-15 13:44:26 -05:00
Luis Pater
d560c20c26
Merge branch 'router-for-me:main' into main
2026-02-15 14:49:13 +08:00
Luis Pater
46a6782065
refactor(all): replace manual pointer assignments with new to enhance code readability and maintainability
2026-02-15 14:10:10 +08:00
HEUDavid
65debb874f
feat/auth-hook: refactor RequstInfo to preserve original HTTP semantics
2026-02-12 07:11:17 +08:00
HEUDavid
3caadac003
feat/auth-hook: add post auth hook [CR]
2026-02-12 07:11:17 +08:00
HEUDavid
94563d622c
feat/auth-hook: add post auth hook
2026-02-12 07:11:17 +08:00
Luis Pater
2334a2b174
Merge branch 'router-for-me:main' into main
2026-02-11 21:09:34 +08:00
Luis Pater
bc61bf36b2
Merge pull request #214 from anilcancakir/fix/github-copilot-model-alias-suffix
...
fix(auth): strip model suffix in GitHub Copilot executor before upstream call
2026-02-11 21:06:58 +08:00
Luis Pater
4c133d3ea9
test(sdk/watcher): add tests for excluded models merging and priority parsing logic
...
- Added unit tests for combining OAuth excluded models across global and attribute-specific scopes.
- Implemented priority attribute parsing with support for different formats and trimming.
2026-02-11 20:35:13 +08:00
RGBadmin
bf1634bda0
refactor: simplify per-account excluded_models merge in routing
2026-02-11 15:57:15 +08:00
RGBadmin
4cbcc835d1
feat: read per-account excluded_models at routing time
2026-02-11 15:21:19 +08:00
Anilcan Cakir
bcd2208b51
fix(auth): strip model suffix in GitHub Copilot executor before upstream call
...
GitHub Copilot API rejects model names with suffixes (e.g. claude-opus-4.6(medium)).
The OAuthModelAlias resolution correctly maps aliases like 'opus(medium)' to
'claude-opus-4.6(medium)' preserving the suffix, but the executor must strip the
suffix before sending to the upstream API since Copilot only accepts bare model names.
Update normalizeModel in github_copilot_executor to strip suffixes using
thinking.ParseSuffix, matching the pattern used by other executors.
Also add test coverage for:
- OAuthModelAliasChannel github-copilot and kiro channel resolution
- Suffix preservation in alias resolution for github-copilot
- normalizeModel suffix stripping in github_copilot_executor
2026-02-10 23:34:19 +03:00
Luis Pater
c8cae1f74d
Merge branch 'main' into plus
2026-02-10 15:43:31 +08:00
Luis Pater
0040d78496
refactor(sdk): simplify provider lifecycle and registration logic
2026-02-10 15:39:26 +08:00
Luis Pater
6b83585b53
Merge branch 'router-for-me:main' into main
2026-02-07 08:52:51 +08:00
hkfires
b7e4f00c5f
fix(translator): correct gemini-cli log prefix
2026-02-07 08:40:09 +08:00
Luis Pater
c20507c15e
Merge branch 'router-for-me:main' into main
2026-02-07 06:43:17 +08:00
Luis Pater
f410dd0440
Merge pull request #1390 from sususu98/fix/400-invalid-request-no-retry
...
fix(auth): 400 invalid_request_error 立即返回不再重试
2026-02-07 03:14:25 +08:00