ZheFox
c5ae9c2c77
fix(antigravity): sync discovered models into catalog
2026-09-04 12:06:39 +08:00
ZheFox
fe8ff268df
fix oauth identity and codex reset credits
2026-09-04 11:34:41 +08:00
ZheFox
f6884eb8c4
fix(gemini): accept signature-only reasoning exhaustion
2026-09-03 17:57:40 +08:00
ZheFox
d78b5a81fb
fix(gemini): preserve thought-only max-token responses
2026-09-03 17:04:12 +08:00
ZheFox
89fe9e9f0a
fix(runtime): avoid JSON precision stream regression
2026-09-03 16:10:30 +08:00
ZheFox
4c6bafe255
Merge remote-tracking branch 'upstream/main' into codex/fix-antigravity-quota
2026-09-03 15:50:22 +08:00
ZheFox
979dbc4b33
fix(data): preserve jsonb numbers for metadata CAS
2026-09-03 14:37:10 +08:00
elky
9309ad844f
test(gateway): align routing fixtures with strategy policies
2026-09-03 14:11:15 +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
058660ec2e
fix(data): include routing order in postgres snapshot
2026-09-03 12:51:37 +08:00
elky
668bf5e40f
test(data): include latest migration snapshot
2026-09-03 12:27:12 +08:00
fawney
2cb4d554aa
feat(routing): consolidate scheduling strategy configuration
2026-09-03 11:05:59 +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
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
2ed2cc66ef
fix(formats): retain response field normalization import
2026-09-02 15:44:15 +08:00
zhefox
b1bf7837cf
style: format quota and response changes
2026-09-02 15:40:40 +08:00
zhefox
77229943d1
fix(pool): preserve generic quota windows for model scheduling
2026-09-02 15:29:56 +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
Kayphoon
88d2b002be
fix(formats): ignore Responses ping stream events
2026-09-01 12:58:21 +00: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
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
Brisbanehuang
4dbf98163e
feat(provider-ops): add generic usage API template
2026-08-29 09:04:05 -04:00
zhefox
56395945c0
fix(gateway): route Responses compaction only to Responses providers
2026-08-29 12:28:55 +08:00
zhefox
b35364d7fd
fix(antigravity): normalize private search tool name
2026-08-29 11:09:15 +08:00
ZheFox
36daba7a34
fix(antigravity): align tool schema wire fields
2026-08-29 08:45:19 +08:00
ZheFox
9837ce1197
fix(antigravity): use Gemini schema field for tools
2026-08-29 02:50:07 +08:00
ZheFox
1bc2287baa
fix(gemini): normalize mixed tools for same-format providers
2026-08-29 01:08:01 +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
f0b0064f3d
fix(formats): enable mixed Gemini tool calls
2026-08-28 16:55:38 +08:00
ZheFox
64e5725331
fix(formats): sanitize Gemini tool schemas
2026-08-28 16:11:16 +08:00
ZheFox
5b6fce1a77
fix(formats): degrade Responses reasoning summaries for Chat
2026-08-28 14:05:48 +08:00
ZheFox
5687dad177
fix(formats): scope signature helper to tests
2026-08-28 13:21:35 +08:00
ZheFox
dd2958a458
fix(admin): persist provider settings and enforce quotas
2026-08-28 12:47:54 +08:00
ZheFox
c4b4dfa996
fix(formats): preserve Gemini tool thought signatures
2026-08-28 12:47:34 +08:00
ZheFox
8cdfa338e5
fix(gemini): pair idless tool history
2026-08-28 02:15:00 +08:00
ZheFox
4da8c57fe3
fix(ai): align Gemini and Responses compatibility
2026-08-27 22:13:20 +08:00
ZheFox
e2b003af24
fix(formats): preserve Responses namespace tools through Chat
2026-08-26 00:43:50 +08:00