ZheFox
4cf47b1dee
fix(antigravity): preserve imported account email
2026-09-03 22:22:33 +08:00
ZheFox
3dfc15963c
Merge pull request #789 from zhefox/codex/fix-antigravity-quota
...
Codex/fix antigravity quota
2026-09-03 18:48:58 +08:00
ZheFox
f6884eb8c4
fix(gemini): accept signature-only reasoning exhaustion
2026-09-03 17:57:40 +08:00
ZheFox
f8b4382a54
test(gateway): align Claude response message ids
2026-09-03 17:04:22 +08:00
ZheFox
d78b5a81fb
fix(gemini): preserve thought-only max-token responses
2026-09-03 17:04:12 +08:00
elky
4291a91dc0
test(gateway): pass routing policy to affinity effects
2026-09-03 15:50:53 +08:00
ZheFox
4c6bafe255
Merge remote-tracking branch 'upstream/main' into codex/fix-antigravity-quota
2026-09-03 15:50:22 +08:00
elky
9309ad844f
test(gateway): align routing fixtures with strategy policies
2026-09-03 14:11:15 +08:00
ZheFox
d672ba2068
test(gateway): seed routing strategy for antigravity flows
2026-09-03 13:45:57 +08:00
ZheFox
587486ab0c
Merge remote-tracking branch 'upstream/main' into codex/fix-antigravity-quota
2026-09-03 13:24:39 +08:00
ZheFox
40a5e1470d
fix(gateway): persist quota refresh from strong catalog reads
2026-09-03 13:16:40 +08:00
elky
77f93c638d
Merge codex/routing-strategy-consolidation into main
2026-09-03 12:00:51 +08:00
fawney
2cb4d554aa
feat(routing): consolidate scheduling strategy configuration
2026-09-03 11:05:59 +08:00
ZheFox
76fb8905c9
test(gateway): align antigravity response message id
2026-09-03 11:04:18 +08:00
ZheFox
f822df6cce
Merge remote-tracking branch 'origin/main' into codex/fix-antigravity-quota
2026-09-03 10:46:49 +08:00
ZheFox
45c840b8d3
fix(providers): refresh Antigravity grouped quotas
2026-09-03 10:46:44 +08:00
elky
214f3d6406
fix(providers): hide billing fields in provider form
2026-09-02 23:17:01 +08:00
elky
7323d41fbe
feat(routing): move sticky-key retries into routing policy with lazy attempts
...
Replace the provider/endpoint max_retries fields as the source of same-key
retries with a routing policy setting, sticky_key_attempts (default 2). Only
the first-ranked candidate is retried on the same key; every failover
candidate gets a single attempt so failover keeps advancing instead of
retrying each fallback key.
Materialize exactly one attempt per candidate and derive same-key retries in
the attempt loop after a candidate-scoped failure, so the retry budget no
longer inflates up-front materialization and needs no upper bound. The budget
travels in the report context; retries reuse the plan with a fresh candidate
id and incremented retry index. Pool groups only retry their first key within
the retry-index stride.
Expose the setting in the routing profile editor and the set_scheduling rule
action, and drop the max_retries input from the provider form.
2026-09-02 20:48:40 +08:00
elky
415b2da81b
feat(routing): make routing profiles the sole scheduler policy source
...
Bootstrap an enabled system-default routing group from the legacy
scheduler config keys on startup, resolve the default ordering config
from that group before falling back to the legacy keys, and stop merging
keep_priority_on_conversion with the legacy flag when a policy is
resolved. Thread the policy-derived ordering config into candidate
preselection so it no longer reads system config independently.
Add per-API-format key priority overrides so a key serving several
formats keeps independent ordering, matching the legacy
global_priority_by_format semantics. Expose keep_priority_on_conversion
in the routing profile editor and read the effective policy in the
model routing preview, monitoring metrics and provider page badge.
2026-09-02 17:04:04 +08:00
zhefox
a0369cf49a
Merge remote-tracking branch 'zhefox/main' into zhefox-main
...
# Conflicts:
# crates/aether-admin/src/provider/quota.rs
# crates/aether-ai/formats/src/formats/openai/chat/stream.rs
# crates/aether-ai/formats/src/formats/openai/responses/mod.rs
# crates/aether-provider/pool/src/provider.rs
# crates/aether-provider/pool/src/quota.rs
2026-09-02 15:25:27 +08:00
zhefox
dbbe7b22ab
fix(pool): isolate dynamic model quota buckets and 429 scheduling
2026-09-02 15:23:23 +08:00
ZheFox
144a28f544
feat(admin-users): add plan entitlement revocation flow
2026-09-02 11:23:24 +08:00
zhefox
7ae984df4b
fix(gateway): detect DeepSeek custom relay models
2026-09-01 22:49:35 +08:00
fawney
30a75832f8
feat(vscodex): add remote Codex collaboration module
2026-09-01 20:25:35 +08:00
ZheFox
5a69cfe40d
Merge pull request #772 from zhefox/main
...
fix(gateway): handle pool saturation and malformed Gemini calls
2026-09-01 19:31:44 +08:00
ZheFox
3d87bbf230
style(rust): apply workspace formatting
2026-09-01 19:31:13 +08:00
ZheFox
633363e190
fix(gateway): handle pool saturation and malformed Gemini calls
2026-09-01 19:25:00 +08:00
elky
d07dc86376
refactor(codex): generalize fingerprint convergence
2026-09-01 17:05:54 +08:00
elky
3e540ce589
fix(gateway): route Codex context through transport facade
2026-09-01 15:53:47 +08:00
elky
a39048ecce
feat(codex): stabilize identity across retries
2026-09-01 15:33:40 +08:00
ZheFox
57abb20778
fix(pool): show Antigravity quota reset times
2026-09-01 11:29:48 +08:00
ZheFox
2fe2600021
fix(pool): isolate model quotas and compact account display
2026-09-01 10:15:57 +08:00
ZheFox
9b819169d5
Merge pull request #767 from zhefox/fix/provider-key-concurrency-cache-affinity
...
fix(gateway): improve provider pool concurrency, quotas, and affinity
2026-09-01 08:11:46 +08:00
ZheFox
9631b229b3
fix(gateway): add provider key concurrency and cache affinity modes
2026-09-01 08:06:58 +08:00
zhefox
56395945c0
fix(gateway): route Responses compaction only to Responses providers
2026-08-29 12:28:55 +08:00
ZheFox
5bcdcca784
fix(formats): normalize Responses additional tools for Chat
2026-08-28 23:03:56 +08:00
ZheFox
83098f98b6
fix(formats): gate mixed Gemini tools by model
2026-08-28 20:42:49 +08:00
ZheFox
4da8c57fe3
fix(ai): align Gemini and Responses compatibility
2026-08-27 22:13:20 +08:00
ZheFox
9d9892be6a
fix(gateway): finalize cross-format sync JSON responses
2026-08-26 00:43:58 +08:00
ZheFox
2f2d444f97
fix(codex): self-heal Spark-contaminated account quotas
...
Keep model-scoped Spark windows out of account state, preserve authoritative WHAM exhaustion flags, and repair historical cross-family quota generations without weakening stale-response guards.
2026-08-25 19:13:41 +08:00
ZheFox
6a9eea34a0
test(gateway): fix Codex Realtime route fixture
2026-08-23 04:00:16 +08:00
ZheFox
2cd20da1ec
fix(gateway): support current Codex Realtime live routes
2026-08-23 02:51:49 +08:00
ZheFox
acde38b8e7
fix(usage): unify OpenAI Live and WebSocket records
2026-08-21 11:53:53 +08:00
ZheFox
2c89202001
feat(gateway): add Codex Live and OpenAI Realtime
...
Implement preflighted Live/Realtime WebSocket transports, protocol-aware authentication, usage auditing, UI filtering, and legacy Codex permission migration.
2026-08-21 04:27:34 +08:00
ZheFox
4185ad1b1e
feat(gateway): add Codex Live transport
2026-08-20 21:59:05 +08:00
ZheFox
654f798d25
fix(ws): harden Responses continuation state
2026-08-20 08:51:16 +08:00
ZheFox
bef282cfee
fix(responses): replay DeepSeek opaque reasoning state
2026-08-20 00:40:48 +08:00
ZheFox
d21d8ce9f5
fix(codex): avoid replaying static config on websocket continuations
2026-08-20 00:40:40 +08:00
ZheFox
c50a1c6c46
fix(ws): preserve Codex continuation bindings
2026-08-18 17:17:45 +08:00
elky
535ee098c3
fix(auth): reject unsigned admin identity headers
2026-08-18 11:12:17 +08:00