Luis Pater
8bde8c37c0
Fixed : #1711
...
fix(server): use resolved log directory for request logger initialization and test fallback logic
2026-02-28 05:21:01 +08:00
Luis Pater
41b1cf2273
Merge pull request #1734 from huangusaki/main
...
docker-image / docker_amd64 (push) Has been cancelled
docker-image / docker_arm64 (push) Has been cancelled
goreleaser / goreleaser (push) Has been cancelled
docker-image / docker_manifest (push) Has been cancelled
feat(registry): add gemini-3.1-flash-image support
2026-02-27 16:12:05 +08:00
huang_usaki
3b4f9f43db
feat(registry): add gemini-3.1-flash-image support
2026-02-27 10:20:46 +08:00
Luis Pater
0da34d3c2d
Merge pull request #1668 from lyd123qw2008/fix/codex-usage-limit-retry-after
...
fix(codex): honor usage_limit_reached resets_at for retry_after
2026-02-27 06:01:44 +08:00
Luis Pater
8c6c90da74
fix(registry): clean up outdated model definitions in static data
docker-image / docker_amd64 (push) Has been cancelled
docker-image / docker_arm64 (push) Has been cancelled
goreleaser / goreleaser (push) Has been cancelled
docker-image / docker_manifest (push) Has been cancelled
2026-02-26 23:12:40 +08:00
Luis Pater
24bcfd9c03
Merge pull request #1699 from 123hi123/fix/antigravity-primary-model-fallback
...
docker-image / docker_amd64 (push) Has been cancelled
docker-image / docker_arm64 (push) Has been cancelled
goreleaser / goreleaser (push) Has been cancelled
docker-image / docker_manifest (push) Has been cancelled
fix(antigravity): keep primary model list and backfill empty auths
2026-02-26 04:28:29 +08:00
Luis Pater
816fb4c5da
Merge pull request #1682 from sususu98/fix/tool-result-image-parts
...
fix(antigravity): place tool_result images in functionResponse.parts and unify mimeType
2026-02-25 23:14:35 +08:00
Luis Pater
d24ea4ce2a
Merge pull request #1664 from ciberponk/pr/responses-compaction-compat
...
docker-image / docker_amd64 (push) Has been cancelled
docker-image / docker_arm64 (push) Has been cancelled
goreleaser / goreleaser (push) Has been cancelled
docker-image / docker_manifest (push) Has been cancelled
feat: add codex responses compatibility for compaction payloads
2026-02-25 01:21:59 +08:00
Luis Pater
2c30c981ae
Merge pull request #1687 from lyd123qw2008/fix/codex-refresh-token-reused-no-retry
...
fix(codex): stop retrying refresh_token_reused errors
2026-02-25 01:19:30 +08:00
Luis Pater
f1e9a787d7
Merge pull request #1676 from piexian/feat/qwen-quota-handling-clean
...
feat(qwen): add rate limiting and quota error handling
2026-02-25 01:07:55 +08:00
Luis Pater
c66cb0afd2
Merge pull request #1683 from dusty-du/codex/device-login-flow
...
docker-image / docker_amd64 (push) Has been cancelled
docker-image / docker_arm64 (push) Has been cancelled
goreleaser / goreleaser (push) Has been cancelled
docker-image / docker_manifest (push) Has been cancelled
Add additive Codex device-code login flow
2026-02-25 00:50:48 +08:00
comalot
514ae341c8
fix(antigravity): deep copy cached model metadata
2026-02-24 20:14:01 +08:00
hkfires
0659ffab75
Revert "Merge pull request #1627 from thebtf/fix/reasoning-effort-clamping"
2026-02-24 19:47:53 +08:00
comalot
8ce07f38dd
fix(antigravity): keep primary model list and backfill empty auths
2026-02-24 16:16:44 +08:00
Luis Pater
c3e12c5e58
Merge pull request #1654 from alexey-yanchenko/feature/pass-file-inputs
...
Pass file input from /chat/completions and /responses to codex and claude
2026-02-24 05:53:11 +08:00
Luis Pater
1825fc7503
Merge pull request #1643 from alexey-yanchenko/fix/gemini-prompt-tokens
...
Fix usage convertation from gemini response to openai format
2026-02-24 05:46:13 +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
3b3e0d1141
test(codex): log non-retryable refresh error and cover single-attempt behavior
2026-02-23 22:41:33 +08:00
lyd123qw2008
7acd428507
fix(codex): stop retrying refresh_token_reused errors
2026-02-23 22:31:30 +08:00
test
492b9c46f0
Add additive Codex device-code login flow
2026-02-23 06:30:04 -05:00
sususu98
4e26182d14
fix(antigravity): place tool_result images in functionResponse.parts and unify mimeType
...
Move base64 image data from Claude tool_result into functionResponse.parts
as inlineData instead of outer sibling parts, preventing context bloat.
Unify all inlineData field naming to camelCase mimeType across Claude,
OpenAI, and Gemini translators. Add comprehensive edge case tests and
Gemini-side regression test for functionResponse.parts preservation.
2026-02-23 13:38:21 +08:00
piexian
3b421c8181
feat(qwen): add rate limiting and quota error handling
...
- Add 60 requests/minute rate limiting per credential using sliding window
- Detect insufficient_quota errors and set cooldown until next day (Beijing time)
- Map quota errors (HTTP 403/429) to 429 with retryAfter for conductor integration
- Cache Beijing timezone at package level to avoid repeated syscalls
- Add redactAuthID function to protect credentials in logs
- Extract wrapQwenError helper to consolidate error handling
2026-02-23 00:38:46 +08:00
Luis Pater
713388dd7b
Fixed : #1675
...
docker-image / docker_amd64 (push) Has been cancelled
docker-image / docker_arm64 (push) Has been cancelled
goreleaser / goreleaser (push) Has been cancelled
docker-image / docker_manifest (push) Has been cancelled
fix(gemini): add model definitions for Gemini 3.1 Pro High and Image
2026-02-23 00:12:57 +08:00
Luis Pater
e6c7af0fa9
Merge pull request #1522 from soilSpoon/feature/canceled
...
feature(proxy): Adds special handling for client cancellations in proxy error handler
2026-02-22 22:02:59 +08:00
Luis Pater
d210be06c2
fix(gemini): update min Thinking value and add Gemini 3.1 Pro Preview model definition
docker-image / docker_amd64 (push) Has been cancelled
docker-image / docker_arm64 (push) Has been cancelled
goreleaser / goreleaser (push) Has been cancelled
docker-image / docker_manifest (push) Has been cancelled
2026-02-22 21:51:32 +08:00
fan
afc8a0f9be
refactor: simplify context_management compatibility handling
2026-02-21 22:20:48 +08:00
Luis Pater
d6ec33e8e1
Merge pull request #1662 from matchch/contribute/cache-user-id
...
docker-image / docker_amd64 (push) Has been cancelled
docker-image / docker_arm64 (push) Has been cancelled
goreleaser / goreleaser (push) Has been cancelled
docker-image / docker_manifest (push) Has been cancelled
feat: add cache-user-id toggle for Claude cloaking
2026-02-21 20:51:30 +08:00
Luis Pater
081cfe806e
fix(gemini): correct Created timestamps for Gemini 3.1 Pro Preview model definitions
2026-02-21 20:47:47 +08:00
hkfires
c1c62a6c04
feat(gemini): add Gemini 3.1 Pro Preview model definitions
2026-02-21 20:42:29 +08:00
lyd123qw2008
a99522224f
refactor(codex): make retry-after parsing deterministic for tests
2026-02-21 14:13:38 +08:00
lyd123qw2008
f5d46b9ca2
fix(codex): honor usage_limit_reached resets_at for retry_after
2026-02-21 13:50:23 +08:00
ciberponk
d693d7993b
feat: support responses compaction payload compatibility for codex translator
2026-02-21 12:56:10 +08:00
matchch
2fdf5d2793
feat: add cache-user-id toggle for Claude cloaking
...
Default to generating a fresh random user_id per request instead of
reusing cached IDs. Add cache-user-id config option to opt in to the
previous caching behavior.
- Add CacheUserID field to CloakConfig
- Extract user_id cache logic to dedicated file
- Generate fresh user_id by default, cache only when enabled
- Add tests for both paths
2026-02-21 12:31:20 +08:00
Luis Pater
7b0eb41ebc
Merge pull request #1660 from Grivn/fix/claude-token-url
...
docker-image / docker_amd64 (push) Has been cancelled
docker-image / docker_arm64 (push) Has been cancelled
goreleaser / goreleaser (push) Has been cancelled
docker-image / docker_manifest (push) Has been cancelled
fix(claude): use api.anthropic.com for OAuth token exchange
2026-02-20 21:52:08 +08:00
Grivn
ef5901c81b
fix(claude): use api.anthropic.com for OAuth token exchange
...
console.anthropic.com is now protected by a Cloudflare managed challenge
that blocks all non-browser POST requests to /v1/oauth/token, causing
`-claude-login` to fail with a 403 error.
Switch to api.anthropic.com which hosts the same OAuth token endpoint
without the Cloudflare managed challenge.
Fixes #1659
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-20 20:11:27 +08:00
Luis Pater
d4829c82f7
Merge pull request #1652 from thebtf/fix/claude-translator-arguments
...
fix(translator): handle tool call arguments in codex→claude streaming translator
2026-02-20 19:50:20 +08:00
Luis Pater
a5f4166a9b
Merge pull request #1644 from possible055/main
...
feat: add Gemini 3.1 Pro Preview model definition
2026-02-20 19:44:59 +08:00
Alexey Yanchenko
0cbfe7f457
Pass file input from /chat/completions and /responses to codex and claude
2026-02-20 10:25:44 +07:00
Kirill Turanskiy
1cc21cc45b
fix: prevent duplicate function call arguments when delta events precede done
...
Non-spark codex models (gpt-5.3-codex, gpt-5.2-codex) stream function call
arguments via multiple delta events followed by a done event. The done handler
unconditionally emitted the full arguments, duplicating what deltas already
streamed. This produced invalid double JSON that Claude Code couldn't parse,
causing tool calls to fail with missing parameters and infinite retry loops.
Add HasReceivedArgumentsDelta flag to track whether delta events were received.
The done handler now only emits arguments when no deltas preceded it (spark
models), while delta-based streaming continues to work for non-spark models.
2026-02-19 23:18:14 +03:00
Kirill Turanskiy
07cf616e2b
fix: handle response.function_call_arguments.done in codex→claude streaming translator
...
Some Codex models (e.g. gpt-5.3-codex-spark) send function call arguments
in a single "done" event without preceding "delta" events. The streaming
translator only handled "delta" events, causing tool call arguments to be
lost — resulting in empty tool inputs and infinite retry loops in clients
like Claude Code.
Emit the full arguments from the "done" event as a single input_json_delta
so downstream clients receive the complete tool input.
2026-02-19 23:18:14 +03:00
Luis Pater
e92e2af71a
Merge branch 'codex/pr-1626' into dev
2026-02-19 21:33:23 +08:00
Luis Pater
a6bdd9a652
feat: add passthrough headers configuration
...
- Introduced `passthrough-headers` option in configuration to control forwarding of upstream response headers.
- Updated handlers to respect the passthrough headers setting.
- Added tests to verify behavior when passthrough is enabled or disabled.
2026-02-19 21:31:29 +08:00
TinyCoder
00822770ec
fix(antigravity): prevent invalid JSON when tool_result has no content
...
sjson.SetRaw with an empty string produces malformed JSON (e.g. "result":}).
This happens when a Claude tool_result block has no content field, causing
functionResponseResult.Raw to be "". Guard against this by falling back to
sjson.Set with an empty string only when .Raw is empty.
2026-02-19 17:08:39 +07:00
apparition
1a0ceda0fc
feat: add Gemini 3.1 Pro Preview model definition
2026-02-19 17:43:08 +08:00
Alexey Yanchenko
b9ae4ab803
Fix usage convertation from gemini response to openai format
2026-02-19 15:34:59 +07: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
9c040445af
Merge pull request #1635 from thebtf/fix/openai-translator-tool-streaming
...
docker-image / docker_amd64 (push) Has been cancelled
docker-image / docker_arm64 (push) Has been cancelled
goreleaser / goreleaser (push) Has been cancelled
docker-image / docker_manifest (push) Has been cancelled
fix: handle tool call argument streaming in Codex→OpenAI translator
2026-02-19 04:22:12 +08:00
Luis Pater
fff866424e
Merge pull request #1628 from thebtf/fix/masquerading-headers
...
fix: update Claude masquerading headers and configurable defaults
2026-02-19 04:19:59 +08:00
Luis Pater
2d12becfd6
Merge pull request #1627 from thebtf/fix/reasoning-effort-clamping
...
fix: clamp reasoning_effort to valid OpenAI-format values
2026-02-19 04:15:19 +08:00