Commit Graph

1662 Commits

Author SHA1 Message Date
Diego Rodrigues de Sa e Souza
d776a42324 fix(api): invalidate /v1/models + specialty catalogs on DB writes; fix duplicated headers and 500 replayed as 200 (#6408)
The #6408 request-shape-keyed TTL cache around getUnifiedModelsResponse was not
keyed by DB/settings state, so a write followed by a read within the ~1.5s TTL
replayed the pre-write catalog (dropping newly-eligible models like codex/gpt-5.5
and every specialty catalog routed through it since #6303). Fold a
modelCatalogCacheVersion (bumped by invalidateDbCache, already called on every
settings/connection/combo/pricing write) into the cache so a state change forces
an immediate miss; merge response headers through a real Headers instance
(fixes X-Request-Id duplication); carry and replay status end-to-end (a mid-build
500 was replayed as 200). Tests call the existing __resetCatalogBuilderRunsForTest
hook in setup, matching v1-models-concurrent-6408.
2026-07-07 07:41:20 -03:00
Diego Rodrigues de Sa e Souza
4f294c0cca feat(sse): exclude paid-only models from auto/* candidate pool when hidePaidModels is on (#6512) (#6518)
Exclude paid-only models from the auto/* candidate pool when hidePaidModels is on (#6512). Integrated into release/v3.8.46; fixed a phantom vitest guard, 4/4 green.
2026-07-07 01:02:35 -03:00
Diego Rodrigues de Sa e Souza
0d3d31c21f feat(sse): provider-family auto combos auto/glm, auto/minimax, auto/zai, auto/mimo, auto/gemma, auto/llama, auto/gemini (#6453) (#6509)
Provider-family auto combos (#6453). Integrated into release/v3.8.46; vitest autoCombo suite 11/11 green.
2026-07-07 01:00:12 -03:00
Dilnei
526048da5e fix(ui): prevent silent overwrite of existing API key connections on re-add (#6499)
Unique default connection name prevents silent overwrite of existing API-key connections. Integrated into release/v3.8.46 with a unit-tested helper; remaining file-size reds are pre-existing base-red drift.
2026-07-06 23:59:01 -03:00
Chirag Singhal
9a33cdac1d fix(compression): add intra-message dedup to session-dedup engine (#6467) (#6501)
Intra-message dedup for the session-dedup compression engine (#6467) + fallbackReason surfacing + fusion rate-limit detail. Integrated into release/v3.8.46 with a TDD regression.
2026-07-06 23:53:52 -03:00
Chirag Singhal
c3cef782ac fix(compression): unknown engine names surface validationErrors instead of silently falling back (#6485) (#6506)
Surface validationErrors for unknown stacked compression engines. Integrated into release/v3.8.46 with a TDD regression.
2026-07-06 23:51:01 -03:00
Jan Leon
958260a5c9 Add Codex reset-credit redemption flow (#6361)
Codex reset-credit redemption flow (#6361). Tests 56/56; kept release 'Banked Reset Credits' label (reverted cosmetic rename that broke 2 release tests). Integrated into release/v3.8.46.
2026-07-06 21:50:27 -03:00
hao3039032
f6b4926138 feat(glm): add team plan quota settings for glm-cn connections (#6351)
add GLM team plan quota settings (#6351). Tests 29/29; reconciled FormData with m365Tier; modal caps bumped for own growth. Integrated into release/v3.8.46.
2026-07-06 21:35:04 -03:00
Aditya Banerjee
e45e6c3e34 feat: add TinyFish Fetch support to web-fetch provider and update related documentation (#6349)
add TinyFish web-fetch/search provider + tool (#6349). Tests green (tinyfish suites + count-guard 170->171). Integrated into release/v3.8.46.
2026-07-06 21:32:15 -03:00
Swing Tempo
69d2b31930 Swingtempo/fixwindowscodex (#6312)
launch-codex spawns codex.cmd via shell on Windows (#6263 pattern). Added resolveCodexSpawn() helper + regression test (2/2), satisfying Hard Rule #18. Integrated into release/v3.8.46.
2026-07-06 21:20:52 -03:00
Xiangzhe
95708051a2 fix(codex): isolate Spark quota and stabilize quota UI (#6336)
isolate Spark quota + stabilize quota UI (#6336). Tests 44/44, no file-size drift from its files. Integrated into release/v3.8.46.
2026-07-06 21:18:58 -03:00
Chirag Singhal
b681308259 feat(api): add hidePaidModels setting to filter paid-only models from /v1/models catalog (#6495)
feat(api): add hidePaidModels setting (net +1/-0, test OK). Integrated into release/v3.8.46.
2026-07-06 21:17:29 -03:00
jmengit
17da3b6e09 fix(api-manager): preserve combos in model fallback (#6443)
fix(api-manager): preserve combos in fallback model picker (net +1/-0, test OK). Integrated into release/v3.8.46.
2026-07-06 21:16:56 -03:00
Jillur Rahman
27867e5af3 fix(providers): treat recoverable Antigravity/Cloud-Code 403s as project errors, not account bans (#6452)
fix(providers): treat recoverable Antigravity/CF 403 as retryable (net +1/-0, test OK). Integrated into release/v3.8.46.
2026-07-06 21:16:39 -03:00
Jillur Rahman
62a74faa4b fix(mitm): redact Set-Cookie in sanitizeHeaders to prevent session-token leak (#6451)
fix(mitm): redact Set-Cookie in sanitizeHeaders (net +1/-0, test OK). Integrated into release/v3.8.46.
2026-07-06 21:16:16 -03:00
Chirag Singhal
a03c22e5ed fix(api): accept mode:'caveman' + stacked default pipeline yields 0% (#6425) (#6439)
fix(api): /api/compression/preview accepts mode caveman + stacked-zero (#6425) (net +1/-0, test OK). Integrated into release/v3.8.46.
2026-07-06 21:12:58 -03:00
Diego Rodrigues de Sa e Souza
04335944ea feat(providers): add Zed hosted LLM aggregator (native-app sign-in) — NEEDS LIVE OAUTH VALIDATION (#6118)
add Zed hosted LLM aggregator native-app provider (port PR #2328). VPS-validated live by operator (Hard Rule #18); zed suites 15/15. OAuthModal cap 989->993 (own growth). Remaining file-size reds are pre-existing release base-red drift (rebaselined at release Phase 0). Integrated into release/v3.8.46.
2026-07-06 20:43:11 -03:00
Diego Rodrigues de Sa e Souza
3cc48edb35 fix(oauth): preserve Kiro IDC region in SSO-cache auto-import (#6113)
preserve Kiro IDC region in SSO-cache auto-import (port PR #2314). VPS-validated live by operator (Hard Rule #18); kiro-auto-import-idc 9/9. Integrated into release/v3.8.46.
2026-07-06 20:39:06 -03:00
Diego Rodrigues de Sa e Souza
58f53e3a35 feat(proxy): native proxy-pool round-robin / egress IP rotation (#6365) (#6395)
native proxy-pool round-robin / egress IP rotation (#6365) (net +1/-0, tests OK). Integrated into release/v3.8.46.
2026-07-06 19:31:44 -03:00
Diego Rodrigues de Sa e Souza
18fa0b2651 feat(providers): Gemini tool-calling end-to-end on /v1beta (#6222) (#6394)
Gemini tool-calling end-to-end on /v1beta (#6222) (net +1/-0, tests OK). Integrated into release/v3.8.46.
2026-07-06 19:31:12 -03:00
Diego Rodrigues de Sa e Souza
f5147d00f9 feat(providers): copilot-m365-web enterprise (work) tier support (#6334) (#6392)
copilot-m365-web enterprise (work) tier support (#6334) (net +1/-0, tests OK). Integrated into release/v3.8.46.
2026-07-06 19:30:56 -03:00
Diego Rodrigues de Sa e Souza
62b1bc9d05 feat(api): standardize effort + thinking request params (#6241) (#6398)
standardize effort + thinking request params (#6241) (net +1/-0, tests OK). Integrated into release/v3.8.46.
2026-07-06 19:30:40 -03:00
Diego Rodrigues de Sa e Souza
8db5a665d6 feat(combo): sequential 'pipeline' combo strategy (#6297) (#6396)
sequential 'pipeline' combo strategy (#6297) (net +1/-0, tests OK). Integrated into release/v3.8.46.
2026-07-06 19:29:59 -03:00
Diego Rodrigues de Sa e Souza
ecf3d3aa06 feat(ci): check:test-masking flags inline-reimplemented prod conditions (#6348) (#6393)
check:test-masking flags inline-reimplemented prod (#6348) (net +1/-0, tests OK). Integrated into release/v3.8.46.
2026-07-06 19:29:29 -03:00
Diego Rodrigues de Sa e Souza
c7c7d476a3 feat(sse): per-connection routing override (native vs CLIProxyAPI) (#6339) (#6383)
per-connection routing override native vs CLIProxy (#6339) (net +1/-0, tests OK). Integrated into release/v3.8.46.
2026-07-06 19:29:13 -03:00
Diego Rodrigues de Sa e Souza
b7ac5261a5 feat(dashboard): 'Open <host>' link in Add session cookie modal (#6268) (#6391)
'Open <host>' link in Add session cookie modal (#6268) (net +1/-0, tests OK). Integrated into release/v3.8.46.
2026-07-06 19:28:39 -03:00
Diego Rodrigues de Sa e Souza
c6a80071f1 feat(providers): add DigitalOcean AI as an OpenAI-compatible provider (#6373)
add DigitalOcean AI OpenAI-compatible provider (port PR #2417). Resolved registry conflict with hcnsec #6410; count-guard 169→170. Tests green. Integrated into release/v3.8.46.
2026-07-06 19:27:51 -03:00
Diego Rodrigues de Sa e Souza
437ca488b0 feat(providers): add Huancheng Public API (hcnsec) OpenAI-compatible regional provider (#6410)
add Huancheng Public API (hcnsec) OpenAI-compatible provider (port PR #2378) (net +1/-0, tests OK). Integrated into release/v3.8.46.
2026-07-06 19:25:45 -03:00
Diego Rodrigues de Sa e Souza
b67f2c58da fix(dashboard): disambiguate colliding passthrough model aliases (port from 9router#1850) (#6431)
disambiguate colliding passthrough model aliases (port #1850) (net +1/-0, test OK). Integrated into release/v3.8.46.
2026-07-06 19:24:59 -03:00
Diego Rodrigues de Sa e Souza
2ecaae7c40 fix(translator): preserve co-located functionResponse parts in gemini→openai (#6376)
preserve co-located functionResponse parts (port PR #2394) (net +1/-0, test OK). Integrated into release/v3.8.46.
2026-07-06 19:24:43 -03:00
Diego Rodrigues de Sa e Souza
259d9b0f38 fix(headroom): detect python managed by mise/pyenv/asdf/conda (port from 9router#2353) (#6382)
detect python managed by mise/pyenv/asdf/conda (port #2353) (net +1/-0, test OK). Integrated into release/v3.8.46.
2026-07-06 19:24:24 -03:00
Diego Rodrigues de Sa e Souza
bd65eeb045 fix(executors): strip client_metadata for NVIDIA requests (port from 9router#1887) (#6411)
strip client_metadata for NVIDIA (port #1887) (net +1/-0, test OK). Integrated into release/v3.8.46.
2026-07-06 19:24:08 -03:00
Diego Rodrigues de Sa e Souza
d415cc0216 fix(translator): strip thinking for NVIDIA glm-5.2 (port from 9router#2023) (#6413)
strip thinking for NVIDIA glm-5.2 (port #2023) (net +1/-0, test OK). Integrated into release/v3.8.46.
2026-07-06 19:23:43 -03:00
Diego Rodrigues de Sa e Souza
cfbc2c27c2 fix(translator): suppress </think> marker for Antigravity client (port from 9router#1061) (#6415)
suppress </think> marker for Antigravity (port #1061) (net +1/-0, test OK). Integrated into release/v3.8.46.
2026-07-06 19:23:27 -03:00
Diego Rodrigues de Sa e Souza
58bb2cd8c7 fix(executors): strip nested reasoning_content for Mistral (port from 9router#1649) (#6417)
strip nested reasoning_content for Mistral (port #1649) (net +1/-0, test OK). Integrated into release/v3.8.46.
2026-07-06 19:22:52 -03:00
Diego Rodrigues de Sa e Souza
4b1c1859f8 fix(executors): strip client_metadata on the OpenCode path (port from 9router#1442) (#6418)
strip client_metadata on OpenCode path (port #1442) (net +1/-0, test OK). Integrated into release/v3.8.46.
2026-07-06 19:22:27 -03:00
Diego Rodrigues de Sa e Souza
f0b085ebca fix(executors): inject reasoning_content for native Kimi provider (port from 9router#1480) (#6419)
inject reasoning_content for native Kimi (port #1480) (net +1/-0, test OK). Integrated into release/v3.8.46.
2026-07-06 19:22:02 -03:00
Diego Rodrigues de Sa e Souza
1636ace600 fix(executors): strip client context_management on 400 (port from 9router#1468) (#6420)
recover from client context_management 400 (port #1468) (net +1/-0, test OK). Integrated into release/v3.8.46.
2026-07-06 19:21:38 -03:00
Diego Rodrigues de Sa e Souza
7a7a72c6f4 fix(network): enable Happy Eyeballs on direct egress (port from 9router#1237) (#6423)
Happy Eyeballs on direct egress (port #1237). Integrated into release/v3.8.46.
2026-07-06 19:20:53 -03:00
Diego Rodrigues de Sa e Souza
465f0a0e83 fix(combo): advance round-robin pointer past the served model (port from 9router#948) (#6428)
combo round-robin advances pointer past served model (port #948). Test combo-rr-fallback-advance-948 (green). Integrated into release/v3.8.46.
2026-07-06 19:18:42 -03:00
Chirag Singhal
a73c6ca5fb fix(sse): reject non-string model with 400 before resolver (#6407) (#6433)
reject non-string model with 400 before resolver (#6407, 6/6). Reconciled with #6437 early schema validation on chat.ts. Integrated into release/v3.8.46.
2026-07-06 18:43:06 -03:00
Chirag Singhal
a7e0dddac4 fix(chat): validate scalar params before provider lookup (#6412) (#6437)
JSON 404 for unknown /api/* (#6424) + early scalar-param validation before provider lookup (#6412, 10/10). Integrated into release/v3.8.46.
2026-07-06 18:40:39 -03:00
Chirag Singhal
d12ac37d4d fix(api): reject non-JSON Content-Type on /v1/chat/completions with 415 (#6414) (#6434)
reject non-JSON Content-Type on /v1/chat/completions (#6414, 4/4). Integrated into release/v3.8.46.
2026-07-06 18:39:25 -03:00
Chirag Singhal
fa3a09cb43 fix(api): echo X-OmniRoute-Compression response header (#6422) (#6441)
echo X-OmniRoute-Compression header on completions routes (#6422, 6/6). Reconciled with #6429 body.model echo. Integrated into release/v3.8.46.
2026-07-06 18:38:12 -03:00
Chirag Singhal
d11bf528af fix(api): coalesce concurrent GET /v1/models to one builder run (#6408) (#6440)
coalesce concurrent GET /v1/models (#6408, 3/3). Integrated into release/v3.8.46.
2026-07-06 18:36:37 -03:00
Chirag Singhal
ac96c0dd02 fix(completions): echo requested body.model on /v1/completions to match x-omniroute-model header (#6429)
echo body.model on /v1/completions (5/5). Integrated into release/v3.8.46.
2026-07-06 18:35:25 -03:00
Chirag Singhal
6ea7c68e6e fix(api): env-var master keys see full /v1/models catalog (#6406) (#6436)
env-key master sees full /v1/models catalog (#6406, 2/2). Integrated into release/v3.8.46.
2026-07-06 18:35:01 -03:00
Chirag Singhal
c8e94d7a14 fix(chatCore): align non-streaming body.model with X-OmniRoute-Model header (#6426) (#6432)
align non-streaming body.model with X-OmniRoute-Model (#6426, 3/3). Integrated into release/v3.8.46.
2026-07-06 18:33:49 -03:00
Chirag Singhal
a2fabdde8f fix(api): return JSON 404 for unknown /v1/* routes (#6405) (#6435)
JSON 404 for unknown /v1/* routes (#6405). Test tests/unit/api/v1-catchall-json-404.test.ts (3/3). Integrated into release/v3.8.46.
2026-07-06 18:32:33 -03:00
Diego Rodrigues de Sa e Souza
2f4b793c3d fix(api): provider-models route — redirect→local-catalog fallback + custom-model merge (#6267, #6247) (#6449) 2026-07-06 18:17:02 -03:00