tald26
9cd5d64484
fix(mcp): stop omniroute_get_health silently discarding real data ( #9959 )
...
process.uptime() returns a number, but the handler ran it through a
string-only toString() helper that fell back to "unknown" for anything
that wasn't already a string -- so every real uptime value was
discarded, 100% reproducibly.
Also stop masking upstream fetch failures as fake healthy defaults:
when /api/monitoring/health, /api/resilience, or /api/rate-limits
can't be reached, the tool now reports which source failed (via a new
optional `degraded` field) instead of returning zeros/empty arrays
indistinguishable from genuine "no data".
Regression coverage dispatches through the real MCP handler (client.callTool)
rather than asserting on the mock directly, since the prior mock-only
tests could never have caught either bug.
2026-08-10 00:27:58 -03:00
Sahil Singh
d0e15a8c0b
fix(backend): retain streaming usage for providers with choices:[{delta:{}}] final chunk ( #9938 )
2026-08-10 00:27:52 -03:00
Rakibul Hasan
4938a435ea
fix(memory): env-configurable strict system-message-first providers ( #9924 )
...
* fix(memory): allow OMNIROUTE_STRICT_SYSTEM_PROVIDERS to extend the system-first provider list
PROVIDERS_SYSTEM_MUST_BE_FIRST (added in #6225 for #6135 ) gates both the
memory-injection placement fix and the #7293 hoistLeadingSystemMessage
translator fix, but was hardcoded to xiaomi-mimo/mimo only. Self-hosted
deployments routing other strict backends (e.g. a custom OpenAI-compatible
connection in front of a self-hosted Qwen3.5+/3.6 model, whose chat template
rejects any non-leading system message the same way) had no way to opt in
without forking and rebuilding the image.
Adds OMNIROUTE_STRICT_SYSTEM_PROVIDERS (comma-separated, case-insensitive
provider ids) to extend the built-in set at read time, mirroring the
injectable-env pattern already used in src/lib/memory/typedDecay.ts. No
behavior change for anyone who doesn't set it.
* chore: fix changelog fragment PR number
2026-08-10 00:27:47 -03:00
K R HARI PRAJWAL
27abbba740
docs: add quickstart code examples for Python, Node.js, PHP and cURL ( #9922 )
...
Add examples/quickstart/ with minimal copy-paste scripts that let new
users get a response from a local OmniRoute server in under a minute,
without needing to read the full docs first.
Files added:
- examples/quickstart/python_requests.py (requests library)
- examples/quickstart/nodejs_axios.js (axios)
- examples/quickstart/curl_terminal.sh (bash one-liner)
- examples/quickstart/php_curl.php (cURL extension)
- examples/quickstart/README.md (table + key-settings cheatsheet)
README.md: add one sub-line pointer to examples/quickstart/ below the
existing zero-config curl snippet, matching the surrounding <sub> style.
2026-08-10 00:27:43 -03:00
Lucas Aleixo
580df8d0bb
chore: ignore docker-compose.override.yml ( #9919 )
2026-08-10 00:27:38 -03:00
diegosouzapw
44fd0edd85
chore(quality): file-size baseline +30% (DRIFT rebaseline for v3.8.51)
...
Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com >
2026-08-10 00:24:13 -03:00
Diego Rodrigues de Sa e Souza
6553ba31f2
feat(dashboard): Modality Bridge settings page (vision tabs, model selector, stats, test button) ( #9782 )
...
* feat(i18n): modality bridge page strings (en + synced locales)
* feat(dashboard): ModalityBridgeVisionTab + stats row + test button
* feat(dashboard): Modality Bridge settings page with vision/audio/video tabs + sidebar entry
* feat(dashboard): relocate vision bridge card to link + media-providers shortcuts
* docs(guardrails): document Modality Bridge dashboard
* chore: preserve upstream formatting after base merge
* fix(modality-bridge): satisfy i18n quality gates
* fix(i18n): preserve canonical Chinese glossary terms
* fix(modality-bridge): clear dashboard quality regressions
* fix(settings): use catalog-only modality labels
* fix(i18n): isolate modality bridge availability copy
* chore(i18n): prepare conflict-free Modality Bridge base sync
* docs(modality-bridge): align migration note with dead-code decision
* fix(i18n): sync capability filter locales after release merge
* fix(i18n): restore canonical Traditional Chinese glossary
---------
Co-authored-by: diegosouzapw <diegosouzapw@users.noreply.github.com >
2026-08-10 00:16:06 -03:00
Diego Rodrigues de Sa e Souza
06a691f8fe
Merge pull request #9424 from diegosouzapw/feat/5696-layer-a-capability-filter
...
feat(core): add Layer A capability filter at router (#5696 )
2026-08-09 20:51:28 -03:00
SB Yoon
40e1562850
fix(i18n): re-escape CC discovery-alias angle brackets for next-intl ( #9917 )
...
* fix(i18n): re-escape CC discovery-alias angle brackets for next-intl
Restore #8747 HTML-entity escaping for claude/<provider>/<model> in the
three CC discovery-alias message keys so next-intl stops logging
INVALID_MESSAGE: UNCLOSED_TAG on provider detail pages after the bulk
entity-unescape regression.
Co-authored-by: Cursor <cursoragent@cursor.com >
* chore(i18n): align conflict context with release
* fix(i18n): cover localized CC alias placeholders
---------
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: diegosouzapw <diegosouzapw@users.noreply.github.com >
Co-authored-by: Diego Rodrigues de Sa e Souza <diegosouza.pw@gmail.com >
2026-08-09 20:27:18 -03:00
diegosouzapw
63bf4b909d
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave3b-9424
...
# Conflicts:
# config/quality/file-size-baseline.json
2026-08-09 20:02:17 -03:00
Diego Rodrigues de Sa e Souza
fade1cbab3
Merge pull request #9341 from diegosouzapw/feat/9268-gemini-schema-recursive-type-empty-choices
...
feat(gemini): recursive schema type:object + empty choices interceptor (#9268 )
2026-08-09 20:01:44 -03:00
Diego Rodrigues de Sa e Souza
3aa0a7306f
Merge pull request #9337 from diegosouzapw/feat/9322-nanogpt-endpoint-surface
...
feat: expose full NanoGPT endpoint surface (#9322 )
2026-08-09 20:01:41 -03:00
Diego Rodrigues de Sa e Souza
9d06dcfd6c
Merge pull request #9493 from diegosouzapw/feat/8468-bun-windows-ci-coverage
...
feat(ci): add windows-latest leg to test-bun-sqlite job (#8468 )
2026-08-09 20:01:39 -03:00
diegosouzapw
9747123f00
test(flags): account for capability filter flag
2026-08-09 19:41:17 -03:00
Diego Rodrigues de Sa e Souza
ab8f3e83b7
fix(ci): allow test-masking to finish in release preflight ( #9964 )
...
Co-authored-by: diegosouzapw <diegosouzapw@users.noreply.github.com >
2026-08-09 19:41:03 -03:00
diegosouzapw
8685815235
fix(i18n): translate capability filter messages
2026-08-09 19:23:58 -03:00
diegosouzapw
e53ca645f3
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave3b-9424
2026-08-09 19:23:58 -03:00
Diego Rodrigues de Sa e Souza
1828b6c14a
Merge pull request #9784 from benzntech/feat/cookie-editor-guide-ui
...
feat(providers): add Cookie Editor fast-path to web session credential guide
2026-08-09 19:10:32 -03:00
diegosouzapw
cf0f416da3
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave3b-9424
2026-08-09 18:57:50 -03:00
diegosouzapw
2c8cb81fc0
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave3b-9341
2026-08-09 18:57:46 -03:00
diegosouzapw
1287a4f2ec
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave3b-9337
2026-08-09 18:57:00 -03:00
diegosouzapw
471d39bc1f
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave3b-9493
2026-08-09 18:56:57 -03:00
diegosouzapw
99781e000d
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave2b-9784
2026-08-09 18:56:19 -03:00
Diego Rodrigues de Sa e Souza
159b90125c
Merge pull request #9749 from benzntech/fix/lean-defaults-three-defects
...
fix(logging): make stream-chunk capture and request-shape logging opt-in
2026-08-09 18:55:56 -03:00
diegosouzapw
70fca36f9d
fix(i18n): complete web session guide translations
...
Co-authored-by: benzntech <4044180+benzntech@users.noreply.github.com >
2026-08-09 18:54:55 -03:00
diegosouzapw
94d386dbc5
fix(quality): update capability gate frozen cap
2026-08-09 18:51:34 -03:00
diegosouzapw
3ff25a484f
fix(stream): type empty-choice collector events
2026-08-09 18:47:22 -03:00
diegosouzapw
2bea34b0a6
chore(quality): attribute capability gate growth
2026-08-09 18:47:22 -03:00
diegosouzapw
f3ba480c08
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave3b-9341
2026-08-09 18:28:40 -03:00
diegosouzapw
8e812c53e5
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave3b-9424
2026-08-09 18:28:40 -03:00
diegosouzapw
f39daccfcb
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave3b-9337
2026-08-09 18:28:39 -03:00
diegosouzapw
40f9a81b66
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave3b-9493
2026-08-09 18:28:38 -03:00
diegosouzapw
c8f4efa158
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave2b-9784
2026-08-09 18:28:07 -03:00
diegosouzapw
bfc846fae6
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave2b-9749
2026-08-09 18:28:06 -03:00
Diego Rodrigues de Sa e Souza
5f16478c7e
Merge pull request #9781 from benzntech/docs/chatgpt-web-cookie-guide
...
docs(providers): ChatGPT Web session credential guide (Cookie Editor workflow)
2026-08-09 18:27:48 -03:00
diegosouzapw
493cae2ed9
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave3b-9424
...
# Conflicts:
# config/quality/file-size-baseline.json
# src/i18n/messages/en.json
# src/i18n/messages/pt-BR.json
# src/shared/constants/featureFlagDefinitions.ts
# stryker.conf.json
2026-08-09 18:25:44 -03:00
diegosouzapw
a6f095c583
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave3b-9341
...
# Conflicts:
# config/quality/file-size-baseline.json
2026-08-09 18:25:42 -03:00
diegosouzapw
26daeabcf2
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave3b-9337
...
# Conflicts:
# open-sse/config/providers/registry/nanogpt/index.ts
2026-08-09 18:25:16 -03:00
diegosouzapw
5560b90322
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave3b-9493
2026-08-09 18:23:15 -03:00
diegosouzapw
c6de098630
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave2b-9784
2026-08-09 18:21:12 -03:00
diegosouzapw
ee088198bf
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave2b-9781
2026-08-09 18:21:05 -03:00
diegosouzapw
792626c3c4
Merge remote-tracking branch 'origin/release/v3.8.50' into codex/wave2b-9749
2026-08-09 18:20:53 -03:00
Diego Rodrigues de Sa e Souza
dc66e3be29
Merge pull request #9945 from diegosouzapw/fix/release-v3.8.50-drain-base-red
...
fix(release): repair post-sweep base regressions
2026-08-09 18:19:54 -03:00
Diego Rodrigues de Sa e Souza
7d4584db56
Merge pull request #9619 from wgordon17/fix/basered-changelog-integrity-fabricated-docs
...
fix(quality): clears two release/v3.8.50 base-red gates
2026-08-09 18:19:11 -03:00
diegosouzapw
181828625b
fix: clear release unit and quality regressions
2026-08-09 17:54:23 -03:00
diegosouzapw
b7bad4006b
fix(release): clear remaining Adobe and typecheck gates
2026-08-09 17:02:47 -03:00
Diego Rodrigues de Sa e Souza
c6195cec62
fix(security): harden Adobe credential parsing gates
2026-08-09 16:31:24 -03:00
diegosouzapw
8c009f55e9
Merge commit 'refs/codex/pr-9619-head' into merge-prs-base-9945
2026-08-09 16:23:20 -03:00
benzntech
14b6183693
test(providers): cover web session fast path
...
Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com >
2026-08-09 16:20:54 -03:00
benzntech
0bb3bc093c
fix(logging): cover opt-in diagnostics
...
Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com >
2026-08-09 16:20:54 -03:00