Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
778 commits
Select commit Hold shift + click to select a range
48d4324
fix(api): enforce model permissions on gateway mirrors (#9854)
diegosouzapw Aug 9, 2026
5926d35
cherry-pick(pr-9787): fix(sse): apply Azure param rules on azure-ai a…
diegosouzapw Aug 9, 2026
a102a2d
maint: final follow-up cherry-pick #9783 (#9904)
diegosouzapw Aug 9, 2026
332c738
fix(sse): route claude/<provider>/<model> aliases for catalog-only pr…
diegosouzapw Aug 9, 2026
8a17f43
fix(i18n): translate validation model keys in 34 locales (#9857)
diegosouzapw Aug 9, 2026
c4c39b1
cherry-pick(pr-9770): chore(repo): ignore Electron build output unpac…
diegosouzapw Aug 9, 2026
a1833b1
fix(skills): normalize web fetch credentials (#9859)
diegosouzapw Aug 9, 2026
a7d2dba
fix(types): narrow DeepSeek tool calls (#9860)
diegosouzapw Aug 9, 2026
efbc7a7
fix(perf): memoize synced pricing reads (#9861)
diegosouzapw Aug 9, 2026
a448b14
cherry-pick(pr-9744): test(integration): add general live-test tool f…
diegosouzapw Aug 9, 2026
a524fde
maint: follow-up cherry-pick fix-in-place #9741 (conflict-resolved fa…
diegosouzapw Aug 9, 2026
e117249
cherry-pick(pr-9738): feat(logging): make the chat-log truncation lim…
diegosouzapw Aug 9, 2026
9fb7d6a
cherry-pick(pr-9735): feat(logging): bump CHAT_LOG_ARRAY_TAIL_ITEMS d…
diegosouzapw Aug 9, 2026
61cb523
fix(logging): use configurable max-depth when bounding logged tool_ca…
diegosouzapw Aug 9, 2026
356fd5d
fix(executors): repair DuckDuckGo AI Chat challenge solver (418 ERR_C…
diegosouzapw Aug 9, 2026
04b4690
cherry-pick(pr-9730): fix(compression): persist RTK renderer configur…
diegosouzapw Aug 9, 2026
0952078
fix(dashboard): unregister leftover service workers in dev mode (#9868)
diegosouzapw Aug 9, 2026
b254890
fix(combo): remove stray brace from #9630 error handling (#9894)
diegosouzapw Aug 9, 2026
6f3738b
feat(oauth): add Openference OAuth and API key provider integration (…
diegosouzapw Aug 9, 2026
ed7a68e
maint: follow-up cherry-pick fix-in-place #9719 (conflict-resolved fa…
diegosouzapw Aug 9, 2026
c8e6b07
cherry-pick(pr-9718): feat(src): proxy-pool-toolbar-minor-improvement…
diegosouzapw Aug 9, 2026
bd33b45
feat(resilience): expose providerQuotaOverrides via /api/resilience (…
diegosouzapw Aug 9, 2026
bc38965
maint: follow-up cherry-pick fix-in-place #9712 (conflict-resolved fa…
diegosouzapw Aug 9, 2026
a39f78c
maint: follow-up cherry-pick fix-in-place #9707 (conflict-resolved fa…
diegosouzapw Aug 9, 2026
be9f43e
cherry-pick(pr-9695): fix(docker): make the webpack build-arg escape …
diegosouzapw Aug 9, 2026
f688566
maint: follow-up cherry-pick fix-in-place #9693 (conflict-resolved fa…
diegosouzapw Aug 9, 2026
5e5919d
maint: follow-up cherry-pick fix-in-place #9631 (conflict-resolved fa…
diegosouzapw Aug 9, 2026
3a66761
fix: pass max reasoning effort through by default, add global model r…
diegosouzapw Aug 9, 2026
d8967ef
cherry-pick(pr-9605): ci(test): route orphaned Vitest tests through b…
diegosouzapw Aug 9, 2026
740e16c
cherry-pick(pr-9601): feat(responses): add encrypted reasoning replay…
diegosouzapw Aug 9, 2026
c1d951e
cherry-pick(pr-9572): fix(providers): reject the dashboard password a…
diegosouzapw Aug 9, 2026
431fc02
cherry-pick(pr-9569): fix(settings): use provider prefixes in model o…
diegosouzapw Aug 9, 2026
05ab06f
fix: address self-review findings (#9900)
diegosouzapw Aug 9, 2026
58f0ff1
cherry-pick(pr-9675): fix(providers): per-provider opt-out for anonym…
diegosouzapw Aug 9, 2026
5f75abe
cherry-pick(pr-9634): fix(test): reconcile base-drifted test expectat…
diegosouzapw Aug 9, 2026
06727f0
cherry-pick(pr-9556): fix(translator): preserve Kimi K3 Responses rea…
diegosouzapw Aug 9, 2026
5eba045
maint: follow-up cherry-pick fix-in-place #9510 (fallback resolution)…
diegosouzapw Aug 9, 2026
57fb90d
maint: follow-up cherry-pick fix-in-place #9549 (conflict-resolved fa…
diegosouzapw Aug 9, 2026
a54c1f7
fix(db): resolve ccr migration version collision (#9884)
diegosouzapw Aug 9, 2026
54bba33
maint: follow-up cherry-pick fix-in-place #9629 (conflict-resolved fa…
diegosouzapw Aug 9, 2026
807a0d2
maint: follow-up cherry-pick fix-in-place #9704 (conflict-resolved fa…
diegosouzapw Aug 9, 2026
382449d
maint: follow-up cherry-pick fix-in-place #9711 (conflict-resolved fa…
diegosouzapw Aug 9, 2026
3a87712
chore: merges release/v3.8.50 into basered-changelog-docs
wgordon17 Aug 9, 2026
04483ed
chore: ignore playwright cli artifact dir
diegosouzapw Aug 9, 2026
2afaab5
maint: final follow-up cherry-pick #9619 (#9901)
diegosouzapw Aug 9, 2026
240b9b5
fix(image): return fal defaults as base64 (#9932)
rinseaid Aug 9, 2026
754ba0f
fix(release): repair post-sweep base regressions
diegosouzapw Aug 9, 2026
0d36801
Merge remote-tracking branch 'origin/release/v3.8.50' into fix/releas…
diegosouzapw Aug 9, 2026
326a975
fix(combo): restore hard capability filtering
wgordon17 Aug 9, 2026
afd5169
docs(providers): reconcile ChatGPT Web credential guide
benzntech Aug 9, 2026
9f4186a
Merge remote-tracking branch 'origin/release/v3.8.50' into merge-prs-…
diegosouzapw Aug 9, 2026
88b05fd
Merge remote-tracking branch 'origin/release/v3.8.50' into merge-prs-…
diegosouzapw Aug 9, 2026
0bb3bc0
fix(logging): cover opt-in diagnostics
benzntech Aug 9, 2026
14b6183
test(providers): cover web session fast path
benzntech Aug 9, 2026
8c009f5
Merge commit 'refs/codex/pr-9619-head' into merge-prs-base-9945
diegosouzapw Aug 9, 2026
c6195ce
fix(security): harden Adobe credential parsing gates
diegosouzapw Aug 9, 2026
b7bad40
fix(release): clear remaining Adobe and typecheck gates
diegosouzapw Aug 9, 2026
1818286
fix: clear release unit and quality regressions
diegosouzapw Aug 9, 2026
7d4584d
Merge pull request #9619 from wgordon17/fix/basered-changelog-integri…
diegosouzapw Aug 9, 2026
dc66e3b
Merge pull request #9945 from diegosouzapw/fix/release-v3.8.50-drain-…
diegosouzapw Aug 9, 2026
792626c
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave…
diegosouzapw Aug 9, 2026
ee08819
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave…
diegosouzapw Aug 9, 2026
c6de098
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave…
diegosouzapw Aug 9, 2026
5560b90
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave…
diegosouzapw Aug 9, 2026
26daeab
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave…
diegosouzapw Aug 9, 2026
a6f095c
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave…
diegosouzapw Aug 9, 2026
493cae2
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave…
diegosouzapw Aug 9, 2026
5f16478
Merge pull request #9781 from benzntech/docs/chatgpt-web-cookie-guide
diegosouzapw Aug 9, 2026
bfc846f
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave…
diegosouzapw Aug 9, 2026
c8f4efa
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave…
diegosouzapw Aug 9, 2026
40f9a81
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave…
diegosouzapw Aug 9, 2026
f39dacc
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave…
diegosouzapw Aug 9, 2026
8e812c5
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave…
diegosouzapw Aug 9, 2026
f3ba480
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave…
diegosouzapw Aug 9, 2026
2bea34b
chore(quality): attribute capability gate growth
diegosouzapw Aug 9, 2026
3ff25a4
fix(stream): type empty-choice collector events
diegosouzapw Aug 9, 2026
94d386d
fix(quality): update capability gate frozen cap
diegosouzapw Aug 9, 2026
70fca36
fix(i18n): complete web session guide translations
diegosouzapw Aug 9, 2026
159b901
Merge pull request #9749 from benzntech/fix/lean-defaults-three-defects
diegosouzapw Aug 9, 2026
99781e0
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave…
diegosouzapw Aug 9, 2026
471d39b
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave…
diegosouzapw Aug 9, 2026
1287a4f
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave…
diegosouzapw Aug 9, 2026
2c8cb81
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave…
diegosouzapw Aug 9, 2026
cf0f416
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave…
diegosouzapw Aug 9, 2026
1828b6c
Merge pull request #9784 from benzntech/feat/cookie-editor-guide-ui
diegosouzapw Aug 9, 2026
e53ca64
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave…
diegosouzapw Aug 9, 2026
8685815
fix(i18n): translate capability filter messages
diegosouzapw Aug 9, 2026
ab8f3e8
fix(ci): allow test-masking to finish in release preflight (#9964)
diegosouzapw Aug 9, 2026
9747123
test(flags): account for capability filter flag
diegosouzapw Aug 9, 2026
9d06dcf
Merge pull request #9493 from diegosouzapw/feat/8468-bun-windows-ci-c…
diegosouzapw Aug 9, 2026
3aa0a73
Merge pull request #9337 from diegosouzapw/feat/9322-nanogpt-endpoint…
diegosouzapw Aug 9, 2026
fade1cb
Merge pull request #9341 from diegosouzapw/feat/9268-gemini-schema-re…
diegosouzapw Aug 9, 2026
63bf4b9
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave…
diegosouzapw Aug 9, 2026
40e1562
fix(i18n): re-escape CC discovery-alias angle brackets for next-intl …
yansigit Aug 9, 2026
06a691f
Merge pull request #9424 from diegosouzapw/feat/5696-layer-a-capabili…
diegosouzapw Aug 9, 2026
6553ba3
feat(dashboard): Modality Bridge settings page (vision tabs, model se…
diegosouzapw Aug 10, 2026
44fd0ed
chore(quality): file-size baseline +30% (DRIFT rebaseline for v3.8.51)
diegosouzapw Aug 10, 2026
580df8d
chore: ignore docker-compose.override.yml (#9919)
lucasalx Aug 10, 2026
27abbba
docs: add quickstart code examples for Python, Node.js, PHP and cURL …
Hariprajwal Aug 10, 2026
4938a43
fix(memory): env-configurable strict system-message-first providers (…
pesnik Aug 10, 2026
d0e15a8
fix(backend): retain streaming usage for providers with choices:[{del…
sadSanta-07 Aug 10, 2026
9cd5d64
fix(mcp): stop omniroute_get_health silently discarding real data (#9…
tald26 Aug 10, 2026
f390327
fix(cleanup): prune mcp_tool_audit/a2a_task_events by created_at colu…
witt3rd Aug 10, 2026
de2679f
fix(types): stabilize skill token extraction (#9920)
backryun Aug 10, 2026
987b03c
fix(types): narrow combo model collections (#9972)
backryun Aug 10, 2026
6285cfd
fix(types): align Claude message contracts (#9973)
backryun Aug 10, 2026
a131077
fix(types): type Copilot WebSocket construction (#9974)
backryun Aug 10, 2026
578bd37
chore(types): remove orphan combo manifest metrics (#9975)
backryun Aug 10, 2026
4cd9c8e
fix(i18n): escape angle brackets in denoRelayOrgDomainHint across all…
AgnesRiber Aug 10, 2026
160fd55
fix(types): normalize stream usage before cost calculation (#9977)
backryun Aug 10, 2026
cc3aa05
fix(stream): collect all synthesized response tool events (#9978)
backryun Aug 10, 2026
7ad091b
fix(types): complete responses stream failure contract (#9979)
backryun Aug 10, 2026
9bcb48a
fix(db): avoid skipping pending job registry migration 146 (#9965)
Zartharas Aug 10, 2026
a93f64e
fix(video): support Fal-hosted Grok Imagine Video (#9969)
rinseaid Aug 10, 2026
4fc04a5
fix(combo): classify Cloudflare 1010 fingerprint rejection as non-aut…
HouMinXi Aug 10, 2026
ee0073d
fix(db): invalidate stale LKGP pins on connection delete (#9936)
Zartharas Aug 10, 2026
2e6c151
fix(providers): support data URL icons for compatible nodes (#9555)
xz-dev Aug 10, 2026
b80afbb
fix(proxy): isolate TLS sessions by account (#9837)
agisota Aug 10, 2026
e4a7da7
feat(usage): add Command Code quota tracking (#9921)
yansigit Aug 10, 2026
40f9709
fix(executors): preserve non-strict Codex tool semantics (#9931)
larin-vas Aug 10, 2026
8d78e3d
fix: per-connection virtual admission lanes (#9654) (#9940)
branben Aug 10, 2026
d7d98fe
fix(guardrails): vision bridge reroute/pool/self-loop fixes (#9946)
herjarsa Aug 10, 2026
faf382c
fix(build): bump @huggingface/transformers to 4.2.0 + onnxruntime-nod…
witt3rd Aug 10, 2026
fbbef4e
chore(quality): correct file-size baseline +30% — bump frozen/testFro…
diegosouzapw Aug 10, 2026
9105220
fix: resolve hollow external package directory crashes and implement …
SupremeNexas Aug 10, 2026
32935b0
fix(antigravity): ban-safety hardening — bounded onboarding retries, …
benzntech Aug 10, 2026
0dbc34e
feat(cursor): exclusive live listing + verbatim AgentRun model ids (#…
yansigit Aug 10, 2026
0cb7410
fix(services): stop embedded-service supervisor retry loop when binar…
herjarsa Aug 10, 2026
61014ae
fix(image): support Fal reference-image edits (#9933)
rinseaid Aug 10, 2026
2b69772
fix(search): nest Exa contents options for /search (#9914) (#10018)
diegosouzapw Aug 10, 2026
fed0858
fix(encryption): identify failing credential in decrypt errors (#9927…
diegosouzapw Aug 10, 2026
aafdc4d
fix(images): normalize image endpoint error format (#9981) (#10020)
diegosouzapw Aug 10, 2026
8fc4023
fix(migrations): allow fresh install past mass-migration guard (#9934…
diegosouzapw Aug 10, 2026
344e439
fix(quality): green release/v3.8.50 base-reds — env-doc sync + file-s…
diegosouzapw Aug 10, 2026
696ad18
feat(logs): show cache read and write token counts (#9620) (#10007)
diegosouzapw Aug 10, 2026
995618d
feat(quality): detect forgotten sibling tests in PRs (#9530) (#10009)
diegosouzapw Aug 10, 2026
227795c
feat(memory): support custom remote embedding endpoints (#9622) (#10010)
diegosouzapw Aug 10, 2026
d3037d1
feat(resilience): abort persistently slow upstream streams (#9709) (#…
diegosouzapw Aug 10, 2026
1bf38e8
feat(onboarding): add one-click free provider setup (#10014)
diegosouzapw Aug 10, 2026
5deb40a
fix(chat): treat content-less thinking/redacted bodies as valid, not …
diegosouzapw Aug 10, 2026
4d0182d
feat: bridge audio inputs for text-only models (#9807)
diegosouzapw Aug 10, 2026
5e02cf7
fix(radar): refresh entitlement-sensitive state (#9776)
diegosouzapw Aug 10, 2026
0481246
fix(sse): preserve original body for semantic cache signature — fixes…
diegosouzapw Aug 10, 2026
bb5b68d
feat(providers): add Zylo UnoRouter and Poolside registries (#9585)
diegosouzapw Aug 10, 2026
3797bbc
feat(providers): warm catalog startup from disk snapshot, parallel re…
diegosouzapw Aug 10, 2026
41208fa
feat(images): add full combo strategy execution for image generation …
diegosouzapw Aug 10, 2026
44069c5
feat(providers): add DeepAI as paid image provider (#6671) (#9443)
diegosouzapw Aug 10, 2026
0a1127b
fix(ci): tighten unit suite ceiling from 100min to 80min (#9532) (#9678)
diegosouzapw Aug 10, 2026
3acb74f
feat(providers): add Muse Code CLI provider preset (#9544) (#9670)
diegosouzapw Aug 10, 2026
5fd2325
fix(ratelimit): add queue-wait timeout tests and update sequencing te…
diegosouzapw Aug 10, 2026
d634a66
feat: add RTL layout compatibility CSS (fixes #7680) (#7987)
Dingding-leo Aug 11, 2026
a687e2b
[v3.8.50] feat(ci): extend i18n glossary-consistency gate to ko (#8244)
MichaelYcJo Aug 11, 2026
7cde6bf
test(tail): retire stale i18n __MISSING__ repro + fix qianfan website…
diegosouzapw Aug 11, 2026
dce7971
[v3.8.50] feat(ui): add global model search to Combo builder (#8285)
corefusiion Aug 11, 2026
bf1ad62
[v3.8.50] feat: extract CloakBrowser/browser-pool into optional plugi…
oyi77 Aug 11, 2026
a32ba5d
[v3.8.50] fix(adobe-firefly): live x-arp-session-id / Arkose wire (st…
artickc Aug 11, 2026
0135815
[v3.8.50] fix(adobe-firefly): durable session, Chrome recovery, brows…
artickc Aug 11, 2026
016c3fd
fix(github): honor per-model targetFormat override for Copilot custom…
Witroch4 Aug 11, 2026
324e28f
fix(test): revive orphaned vitest tests and fix CI routing (#8718)
MohitRawat017 Aug 11, 2026
75c6a18
[v3.8.50] fix(api): serve stale model catalog during refresh (#8728)
ekinnee Aug 11, 2026
9a99a39
fix(antigravity): quota-aware account selection and projectId persist…
AndrianBalanescu Aug 11, 2026
21fd0a9
feat(alibaba): free-tier routing with live quota sync (#8893)
AndrianBalanescu Aug 11, 2026
59ddcab
feat: improve provider quota layouts (#8916)
apoapostolov Aug 11, 2026
c137630
fix(i18n): localize SubscriptionTab UI strings instead of hardcoded …
Hdiaktoros Aug 11, 2026
32f8340
Fix custom tool output pairing during context compression (#8933)
JxnLexn Aug 11, 2026
2129e91
feat(combos): let combo builders test providers and add only working …
JoshimOfficial Aug 11, 2026
835de9d
fix(sse): preserve Claude Code tool-name casing via Gemini/Antigravit…
Prudhvivuda Aug 11, 2026
1f45cf8
fix(vision): preserve images for text-only routes (#9037)
rinseaid Aug 11, 2026
0a7e293
feat(i18n): complete zh-CN localization for compression engines and d…
qianze0628 Aug 11, 2026
8bdd29f
fix(resilience): recover idle-capacity limiter wedges early (#9041)
Thinkscape Aug 11, 2026
2e799b3
fix: skills & memory — tool-name encoding, schema normalization, warm…
Egorich-print Aug 11, 2026
58fa994
fix(translator): honor Chat targets for Responses clients (#9161)
Zartharas Aug 11, 2026
ea085a1
test(mcp): guard Node 24 bundled MCP startup (#9162)
Gioxaa Aug 11, 2026
57744ae
feat(cursor): proactively renews Cursor sessions and fixes manual ref…
wgordon17 Aug 11, 2026
66845d2
fix(dashboard): make connection Default Model editable and optional (…
maxmad64bis Aug 11, 2026
f10dca4
fix(combo): recover provider circuit breaker from HALF_OPEN on succes…
HouMinXi Aug 11, 2026
e58c5ee
fix(command-code): preserve literal max effort for command-code provi…
Chewji9875 Aug 11, 2026
0cbdc95
feat(sse): server-side template expansion for combo system prompts (#…
maxmad64bis Aug 11, 2026
b13c3cd
fix(translator): normalize streamed optional tool arguments (#9423)
KittisakT Aug 11, 2026
e856fe3
ci: re-trigger checks after GitHub Actions incident (2026-08-07, reso…
wgordon17 Aug 11, 2026
565b3e0
fix(sse): preserve client cache boundaries when hoisting system roles…
LeonG606 Aug 11, 2026
5257d02
fix(adobe-firefly): harden CDP warm, risk session, and browser sign-i…
artickc Aug 11, 2026
7938715
fix(translator): preserve Kimi K3 Responses reasoning (#9556)
jackjinke Aug 11, 2026
9ad1558
fix(settings): use provider prefixes in model overrides (#9569)
xz-dev Aug 11, 2026
b4fc835
[v3.8.50] feat(providers): add support for TinyCMS Web (#8736)
jhordanjw123 Aug 11, 2026
f0d976c
[v3.8.50] fix: passthrough non-standard cache token fields for DeepSe…
ikelvingo Aug 11, 2026
ed2f3cd
docs: fix stale tool count (105 -> 104) in MCP server docs (#10002)
TengSivtean Aug 11, 2026
668ed48
refactor(providers): remove retired GitHub Models (#9023)
backryun Aug 11, 2026
98962b0
docs: clarify free-provider model refresh outcomes (#9087)
AbdullahFageeh Aug 11, 2026
31fce91
feat(providers): add Naga.ac and ChatAnywhere aggregator providers (#…
diegosouzapw Aug 11, 2026
c61cdc3
fix(providers): switch minimax from claude to openai format so images…
diegosouzapw Aug 11, 2026
c3dc035
fix(providers): reject the dashboard password as a connection API key…
HouMinXi Aug 11, 2026
aa36742
fix: restore unorouter api and catalog metadata (#9594)
diegosouzapw Aug 11, 2026
2944eba
ci(test): route orphaned Vitest tests through blocking CI (#9605)
MohitRawat017 Aug 11, 2026
5106dd4
fix: pass max reasoning effort through by default, add global model r…
Momen4444 Aug 11, 2026
cbbf00b
feat(db): add a job registry for scheduled background work (#9631)
HouMinXi Aug 11, 2026
5133aad
fix(test): reconcile base-drifted test expectations on release/v3.8.5…
HouMinXi Aug 11, 2026
ff3e3b5
fix(providers): per-provider opt-out for anonymous no-auth fallback (…
chloeassistant Aug 11, 2026
641153f
provider(agnes):refresh model catalog (#9998)
backryun Aug 11, 2026
37b86a9
fix(i18n): translate validation model keys in 34 locales (#9773)
Michael-Rocco-Goldmann Aug 11, 2026
4a4cc87
fix(sse): route claude/<provider>/<model> aliases for catalog-only pr…
Michael-Rocco-Goldmann Aug 11, 2026
bc92c06
fix(translator): keep Responses namespace identity across the hub-and…
VXNCXNX Aug 11, 2026
fd487ce
fix(sse): apply Azure param rules on azure-ai and clamp gpt-4o-mini o…
Michael-Rocco-Goldmann Aug 11, 2026
ce9b1e4
fix(api): enforce model permissions on gateway mirrors (#9788)
xz-dev Aug 11, 2026
258fde4
fix(response): strip internal reasoning placeholder from all reasonin…
adevwithpurpose Aug 11, 2026
43da333
docs(proposals): Telegram Mini App integration feasibility analysis (…
benzntech Aug 11, 2026
f8c8bae
fix(ci): repair release lint test regressions (#9813)
alex-jordan547 Aug 11, 2026
029a433
fix(command-code): include tool call arguments (#9821)
Chewji9875 Aug 11, 2026
16bf95f
fix(executors): strip redundant oneOf matching sibling enum (#9828)
larin-vas Aug 11, 2026
8211519
fix(media): support Gemini Omni Flash video (#9982)
rinseaid Aug 11, 2026
3e2b166
feat(combo): add quota-only priority fallback (#9983)
xz-dev Aug 11, 2026
16c566d
fix(copilot-web): restore browser authentication (#9984)
backryun Aug 11, 2026
390efaa
fix(types): narrow chat dispatch contracts (#9986)
backryun Aug 11, 2026
425396d
fix(types): narrow chatCore local contracts (#9987)
backryun Aug 11, 2026
861011c
fix(types): preserve GHE Copilot executor configuration (#9988)
backryun Aug 11, 2026
33d58ed
fix(types): validate Fal video result URLs (#9989)
backryun Aug 11, 2026
2b5253d
fix(types): narrow Claude stream deltas (#9990)
backryun Aug 11, 2026
1423259
fix(opencode): fallback unsupported DeepSeek json schema output (#9992)
Zartharas Aug 11, 2026
e367591
docs: fix duplicated word in MCP server audit logging section (#10000)
TengSivtean Aug 11, 2026
549739a
fix(kimi): apply K3 effort policy to aliases (#10005)
jackjinke Aug 11, 2026
c7be8a4
fix(providers): drop dead Cloudflare Workers AI free catalog IDs (#87…
DinonowDev Aug 11, 2026
d6543d7
fix(usage): reject impossible provider token counts (#8927)
artickc Aug 11, 2026
76c2f56
fix(web-tools): anchor tool contract at prompt tail + user-turn remin…
ryan-brosas Aug 11, 2026
7cee502
fix(docker): make the webpack build-arg escape hatch actually work (#…
HouMinXi Aug 11, 2026
de33b2c
feat(resilience): expose providerQuotaOverrides via /api/resilience (…
herjarsa Aug 11, 2026
55c2b35
fix(codebuddy-cn): replace agent system prompts to bypass Tencent con…
zuckdorsey Aug 11, 2026
f5ce51a
feat(providers): add Conol (conol.ai) web session provider (#8974)
artickc Aug 11, 2026
18e89e6
fix(compression): persist RTK renderer configuration (#9730)
isaaclb98 Aug 11, 2026
acae259
fix(executors): repair DuckDuckGo AI Chat challenge solver (418 ERR_C…
Mynacol Aug 11, 2026
350eb8f
fix(perf): memoize synced pricing reads (#9746)
chloeassistant Aug 11, 2026
aa4e720
fix(bun): make server child and outbound fetch Bun-safe (#9761)
Arul- Aug 11, 2026
1113e72
chore(repo): ignore Electron build output unpacked into repo root (#9…
Michael-Rocco-Goldmann Aug 11, 2026
a9d6fd3
feat(api): add per-key prompt compression bypass (#10001)
shixi-li Aug 11, 2026
45b9977
Document default behavior for ToS-flagged free-tier providers (addres…
yulinlina Aug 11, 2026
84e83e2
feat(providers): add DeepSeek V4 thinking effort aliases (#9485)
excessivechaos Aug 11, 2026
d774cce
fix(routing): account for active OAuth sessions (#8940)
JxnLexn Aug 11, 2026
1d33025
fix(translator): restore TitleCase tool names on the Claude to Gemini…
engmarcosjr Aug 11, 2026
a99c795
Add native ChatGPT Web provider for Codex clients (#8949)
JxnLexn Aug 11, 2026
16b67f5
fix(dashboard): make quota providers expandable (#9025)
jktan0504 Aug 11, 2026
2b2d947
fix(cache): add latency marker + per-key bypass for semantic cache (#…
HouMinXi Aug 11, 2026
36959c3
[v3.8.50] fix(models): keep model catalogs responsive (#9199)
xz-dev Aug 11, 2026
ca6e944
fix(antigravity): propagate switchAuth signal from 429 engine to retr…
HouMinXi Aug 11, 2026
4795825
fix(sse): make Claude effort/no-think catalog variants dispatchable o…
wgordon17 Aug 11, 2026
a367bf6
fix(providers): scope model-level targetFormat to declaring provider …
Chewji9875 Aug 11, 2026
fb83f43
fix(rate-limit): patch Bottleneck doExpire capacity leak (#9328)
HouMinXi Aug 11, 2026
47c819d
fix(combo): network errors must not trip provider circuit breaker (#9…
HouMinXi Aug 11, 2026
3898305
fix(rate-limit): separate queue wait from execution timeout (#9164)
Zartharas Aug 11, 2026
def5334
feat(api-manager): add provider-level model permissions (#9313)
xz-dev Aug 11, 2026
7ca7369
fix(i18n): localize hardcoded web UI copy (#9245)
alex-jordan547 Aug 11, 2026
d6fb0d7
feat(a2a): Conductor bridge (RF1) — merge onto release/v3.8.50 base […
backryun Aug 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
201 changes: 201 additions & 0 deletions .cbmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,201 @@
# codebase-memory-mcp ignore list
#
# Padrão gitignore-style. Linhas começando com `#` são comentários.
# Barra final (`/`) = só diretório. Sem barra = casa arquivo OU diretório.
#
# O CBM também lê `.gitignore` automaticamente — esta lista deixa explícito o que
# os hooks do CBM vão pular. Se uma regra entrar em conflito entre os dois arquivos,
# vale a união. Editar este arquivo é mais barato do que confiar na herança implícita.
#
# Última reconciliação: 2026-07-31, status `ready` (513k nodes / 689k edges),
# `auto_index_limit=50000`, total indexável medido ≈11.546 arquivos (folga 4,3×).
#
# Fontes cruzadas:
# - `codebase-memory-mcp cli index_status --project home-diegosouzapw-dev-proxys-OmniRoute`
# → `not_indexed.dirs` (27) + `not_indexed.files` (336), todos `BY DESIGN`.
# - `.gitignore` deste repo (5.691 B) — fonte canônica secundária.
#
# Como auditar mudanças: depois de editar este arquivo, rodar `index_repository`
# (ou esperar `auto_watch` re-indexar) e re-checar `cli index_status` → comparar
# contagens em `not_indexed.dirs_count` e `not_indexed.files_count`.

# ─────────────────────────────────────────────────────────────────────────────
# 1. Diretorios de runtime / pacote — nao sao codigo-fonte
# ─────────────────────────────────────────────────────────────────────────────
node_modules/
node_modules

# Builds e artefatos reproduziveis (Layer 1 Next.js / Electron)
.build/
dist/
.next/
out/

# Electron especifico
electron/dist-electron/
electron/node_modules/
icon.iconset/

# Workspaces internos que tem proprio node_modules
@omniroute/opencode-plugin/dist/
@omniroute/opencode-plugin/node_modules/
@omniroute/opencode-provider/dist/
@omniroute/opencode-provider/node_modules/

# Recursos nativos compilados (C/JNI/wasm)
src/mitm/tproxy/native/build/

# Artefatos locais do Stryker / Playwright / coverage
.stryker-tmp/
reports/mutation/
stryker-output-*.json
.playwright-mcp/
test-results/
playwright-report/
blob-report/

# Analise / linters / caches
.analysis/
.sisyphus/
.plans/
.gitnexus
.worktrees
.codegraph/

# Quality artifacts (gerados por npm run lint --cache etc)
.eslintcache
.eslintcache-complexity

# Claude Code local state
.claude/scheduled_tasks.lock
.claude/scheduled_tasks/
.claude/sessions/
.claude/state.json
.claude/settings.local.json

# Serena / Antigravity / outras tools locais
.serena/
.antigravitycli/
.gemini/
.config/

# ─────────────────────────────────────────────────────────────────────────────
# 2. Diretorios com prefixo `_` — locais / privados (regra global do .gitignore)
# ─────────────────────────────────────────────────────────────────────────────
_*/
_artifacts/
_cache/
_mono_repo/
_references/
_tasks/

# ─────────────────────────────────────────────────────────────────────────────
# 3. Diretorios de tooling IA (state local, nao codigo)
# ─────────────────────────────────────────────────────────────────────────────
.agents/
.claude/
.vscode/
.idea/
.junie/
.omc/
.data/
.data-dev/
.local-data/
.logs/
.artifacts/
.source/
.superpowers/
.claude-flow/
.omnivscodeagent/
omnirouteCloud/
omnirouteSite/
.omniroute/
.stent/

# Subpaths especificos do Claude Code que nao estao em .claude/ (criados sob repo)
.claude/worktrees/

# ─────────────────────────────────────────────────────────────────────────────
# 4. Diretorios de dados / runtime locais (storage, env, secrets, scratch)
# ─────────────────────────────────────────────────────────────────────────────
data/
# NOTA: src/lib/env/, src/app/api/{cloud,sync/cloud,system/env,agent-skills/coverage}/
# foram removidos daqui (2026-08-05). Os nomes sugerem dados/segredos locais, mas os
# 8 arquivos sao route handlers e modulos rastreados no git — escondia-los do grafo
# criava pontos cegos em buscas e em analise de impacto.
tests/golden-set/data/

# Logs e saida de teste
logs/*
test_output.log
home-diegosouzapw-dev-automacoes-*.txt

# ─────────────────────────────────────────────────────────────────────────────
# 5. Diretorios do monorepo por subprojeto (nao fazem parte do app principal)
# ─────────────────────────────────────────────────────────────────────────────
security-analysis/
vscode-extension/
obsidian-plugin/node_modules/

# ─────────────────────────────────────────────────────────────────────────────
# 6. Diretorios de documentacao interna / workflow
# ─────────────────────────────────────────────────────────────────────────────
docs/superpowers/
# Docs traduzidas: 1.215 arquivos / 94 MB (inclui 20+ copias do CHANGELOG).
# Sao traducoes do tree em ingles, ja indexado — no grafo so geram ruido em
# search_code e consomem o auto_index_limit.
docs/i18n/

# ─────────────────────────────────────────────────────────────────────────────
# 7. Arquivos especificos (nao diretorios inteiros)
# ─────────────────────────────────────────────────────────────────────────────

# Segredos e env — NUNCA indexar
.env
.env.*
!.env.example
!.env.homolog.example

# TypeScript build info e next env declaration
*.tsbuildinfo
next-env.d.ts
typescript

# SQLite transient files (WAL/SHM/journal)
*.sqlite-shm
*.sqlite-wal
*.sqlite-journal

# Mapas e source maps
*.map

# Bun / npm lockfiles ruidosos
bun.lock

# `cheaper-inference-gateway.svg` e arquivos de midia na raiz/asset ja cobertos
# pelos `ignored-suffix` do indexador (svg/png/jpg/ico/etc >50kB ou >500linhas);
# manter a regra explicita aqui ajuda a auditar:
cheaper-inference-gateway.svg
cheaper-inference-gateway-*.svg

# Husky internals
.husky/_/

# CI / quality metric artifacts
config/quality/quality-metrics.json
config/quality/test-impact-map.json
audit-report.json
.gh-discussions.json

# i18n audit (gerado por npm run scripts)
scripts/i18n/_audit.json
scripts/i18n/_pending-keys.json

# NOTA: bin/omniroute.mjs foi removido daqui (2026-08-05). Estava marcado como
# "scratch", mas e o entrypoint real do CLI publicado (package.json -> bin.omniroute)
# e consta em PACK_ARTIFACT_REQUIRED_PATHS. Precisa estar no grafo.

# Deploy / docker backups
deploy.sh
docker-compose.yml.bak
docker-compose.minimal.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- **docs:** add management authentication terminology guide ([#7786](https://github.com/diegosouzapw/OmniRoute/issues/7786))
41 changes: 41 additions & 0 deletions .claude/worktrees/feat-7786/docs/guides/MANAGEMENT-AUTH.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Management Authentication

OmniRoute uses four distinct credential families for management access. This guide
distinguishes them by purpose, scope, and locality.

| Credential | Scope | Locality | Use Case |
|-------------------------|--------------------|---------------|-----------------------------------|
| Dashboard JWT session | Full management | Localhost | Web dashboard login |
| CLI machine-id token | Full management | Per-machine | `omniroute` CLI commands |
| Scoped `oma_` token | Configurable scope | External | Automation / CI / API access |
| Manage-scope API key | `manage` scope | External | Management API calls |

## Dashboard JWT Session

Generated on dashboard login (`/api/auth/login`). Stored in HTTP-only cookie.
Valid for the session duration. Cannot be used from external hosts.

## CLI Machine-ID Token

Created by `omniroute auth login` on first use. Stored in `~/.omniroute/auth.json`.
Used by the CLI for all management operations. Tied to the machine identity.

## Scoped `oma_` Access Token

Created via dashboard or CLI with configurable scopes (e.g., `manage`, `read`).
Format: `oma_<random-hex>`. Used for programmatic access from external systems.

## Manage-Scope API Key

Standard API key with the `manage` scope enabled. Created in dashboard API Keys page.
Used for management API calls from external hosts.

## Header Examples

```
Authorization: Bearer oma_abc123def456
Authorization: Bearer <standard-api-key-with-manage-scope>
Cookie: omniroute_session=<jwt-token>
```

See `docs/reference/API_REFERENCE.md` for endpoint-specific auth requirements.
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import { describe, it } from "node:test";
import { ok } from "node:assert/strict";
import { readFileSync } from "node:fs";

describe("Management auth documentation (#7786)", () => {
const docPath = "docs/guides/MANAGEMENT-AUTH.md";
const content = readFileSync(docPath, "utf-8");

it("exists and has content", () => {
ok(content.length > 500, "should have substantial content");
ok(content.includes("Dashboard JWT session"));
ok(content.includes("CLI machine-id token"));
ok(content.includes("oma_"));
});

it("documents all four credential families", () => {
const families = ["Dashboard JWT", "CLI machine-id", "oma_", "Manage-scope"];
for (const f of families) {
ok(content.includes(f), `should document ${f}`);
}
});

it("mentions relevant auth header examples", () => {
ok(content.includes("Authorization"));
ok(content.includes("Bearer"));
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- **feat(infra):** add systemd autostart unit for Linux ([#8635](https://github.com/diegosouzapw/OmniRoute/issues/8635))
19 changes: 19 additions & 0 deletions .claude/worktrees/feat-8635/contrib/systemd/omniroute.service
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
[Unit]
Description=OmniRoute AI Proxy
After=network.target network-online.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=$(which omniroute) start
Restart=on-failure
RestartSec=5
Environment=NODE_ENV=production

# Security hardening
NoNewPrivileges=true
ProtectSystem=full
PrivateTmp=true

[Install]
WantedBy=default.target
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import { describe, it } from "node:test";
import { ok } from "node:assert/strict";
import { readFileSync, existsSync } from "node:fs";

describe("Systemd autostart (#8635)", () => {
const svcPath = "contrib/systemd/omniroute.service";
const content = readFileSync(svcPath, "utf-8");

it("service file exists", () => {
ok(existsSync(svcPath));
ok(content.length > 200);
});

it("defines required systemd sections", () => {
ok(content.includes("[Unit]"));
ok(content.includes("[Service]"));
ok(content.includes("[Install]"));
});

it("specifies WantedBy=default.target", () => {
ok(content.includes("WantedBy=default.target"));
});
});
22 changes: 22 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,13 @@
**/.vscode

# Dependencies and build output
# `node_modules` alone matches the ROOT only — Docker's matcher does not cross
# `/` like .gitignore does. Without the `**/` form, nested installs ship in the
# build context (e.g. @omniroute/opencode-provider/node_modules, ~79 MB of
# devDependencies). Both forms are kept: the bare one is the documented root
# rule, the `**/` one covers every nested package.
node_modules
**/node_modules
.next
.build
out
Expand All @@ -18,6 +24,7 @@ coverage
# Runtime data and logs
data
logs
.sandbox

# Local env files (inject at runtime via --env-file or -e)
.env
Expand All @@ -37,6 +44,17 @@ tests
test-results
playwright-report
blob-report
output
.playwright-cli
.playwright-mcp
.stryker-tmp
reports/mutation

# Local caches and quality-gate artifacts (all gitignored). `_*` does not match
# dot-prefixed names, so these need explicit entries.
.artifacts
.eslintcache
.eslintcache-complexity

# Documentation
# Issue #2348: The Dashboard Docs viewer reads markdown from `/app/docs` at
Expand All @@ -49,6 +67,10 @@ blob-report
# (English) sources at runtime, so translations are not required in the
# container image.
docs/i18n/**
# Internal planning artifacts (gitignored). `*.md` above only matches the root,
# so without this rule these land in /app/docs and become readable through the
# dashboard's Docs viewer at runtime.
docs/superpowers/**
docs/diagrams/**/*.png
docs/diagrams/**/*.jpg
docs/diagrams/**/*.jpeg
Expand Down
6 changes: 6 additions & 0 deletions .env.devin-bridge.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
ENABLE_LIVE_DEVIN_TESTS=0
DEVIN_BRIDGE_MODEL=devin-cli-agentic/swe-1-7
DEVIN_BRIDGE_SONNET_MODEL=devin-cli-agentic/swe-1-7
DEVIN_BRIDGE_OPUS_MODEL=devin-cli-agentic/swe-1-7
DEVIN_BRIDGE_HAIKU_MODEL=devin-cli-agentic/swe-1-7
DEVIN_BRIDGE_SUBAGENT_MODEL=devin-cli-agentic/swe-1-7
Loading
Loading