Files
OmniRoute/docs/diagrams
Reza Rezaei 774127be3f feat(providers): add tencent-aistudio-web cookie provider (tasw) (#10174)
* feat(providers): add tencent-aistudio-web cookie provider (tasw)

* fix(sse): remove orphaned DevinDesktopExecutor import from executor index

The "devin-desktop" executor key is unused (devin-desktop provider config
resolves to executor "devin-cli"); the imported ./devin-desktop.ts file
was never present, so executors/index.ts failed to load (ERR_MODULE_NOT_FOUND)
and broke every unit test that imports the executor registry (e.g.
tests/unit/deepseek-web.test.ts). Stale base sync carried this into the branch.
Remove the dead import/registration/export.

* fix(providers): restore DevinDesktopExecutor registration in executor index

The previous commit removed the devin-desktop executor import/registration/
export from open-sse/executors/index.ts, but the devin-desktop provider
registry still resolves executor "devin-desktop" and
tests/unit/devin-providers.test.ts asserts hasSpecializedExecutor("devin-desktop")
is true. The removal broke 6 tests in that file. Restore the three lines so
the live Devin Desktop executor keeps serving the provider.

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>

* fix(providers): correct tencent-aistudio-web wrapper shape + provider count sync

Return {response,url,headers,transformedBody} instead of a raw fetch Response
(the executor contract every other executor in this file follows) and
re-wrap the upstream body so it uses the local Response constructor, not the
undici-patched one from globalThis.fetch.

Regenerate docs/reference/PROVIDER_REFERENCE.md and sync the 339->340
provider-count claims (README, AGENTS.md, llm.txt + 42 i18n mirrors,
package.json, promise-pillars/comparison-table/cli-terminal SVGs) that this
PR's new provider invalidated.

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>

* docs(providers): sync readme-hero.svg provider count claim (339->340)

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>

* fix(providers): register tencent-aistudio-web web-session credential metadata + golden

Add the WEB_SESSION_CREDENTIAL_REQUIREMENTS entry for tencent-aistudio-web
(cookie-based, matching the executor's raw Cookie-header credential) and
regenerate the translate-path golden snapshot to include the new provider —
both were failing CI unit tests that enumerate every registered provider.

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>

* fix(providers): align tencent-aistudio-web test with the wrapper-shape contract

The test asserted res.status/res.json() directly against executor.execute()'s
return value, matching the pre-fix (broken) raw-Response shape. Update it to
read res.response.status/res.response.json() — the {response,url,headers,
transformedBody} contract every executor in this codebase follows.

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>

---------

Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: MeRezaRezaei <MeRezaRezaei@users.noreply.github.com>
Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
Co-authored-by: adevwithpurpose <adevwithpurpose@users.noreply.github.com>
2026-08-15 05:15:17 -03:00
..
2026-07-06 02:25:17 -03:00
2026-07-29 15:18:55 -03:00
2026-07-29 15:18:55 -03:00
2026-07-29 15:18:55 -03:00
2026-07-29 15:18:55 -03:00

title, version, lastUpdated
title version lastUpdated
Diagrams 3.8.49 2026-07-17

Diagrams

Mermaid sources (.mmd) and exported SVGs for OmniRoute v3.8.0 architecture flows.

Canonical diagrams

Source Exported Used in
request-pipeline.mmd SVG docs/architecture/ARCHITECTURE.md, docs/architecture/CODEBASE_DOCUMENTATION.md
auto-combo-12factor.mmd SVG docs/routing/AUTO-COMBO.md
resilience-3layers.mmd SVG docs/architecture/RESILIENCE_GUIDE.md, CLAUDE.md
i18n-flow.mmd SVG docs/guides/I18N.md
mcp-tools-107.mmd SVG docs/frameworks/MCP-SERVER.md
cloud-agent-flow.mmd SVG docs/frameworks/CLOUD_AGENT.md
authz-pipeline.mmd SVG docs/architecture/AUTHZ_GUIDE.md
db-schema-overview.mmd SVG docs/architecture/CODEBASE_DOCUMENTATION.md

Hand-authored animated diagrams

Not every diagram comes from a .mmd source. Hand-authored SVGs live at this directory's root and animate with SMIL only (no JS, no external fonts), so they play inside GitHub's <img> sandbox:

File Used in Notes
tier-cascade.svg README.md (root) Animated 4-tier auto-fallback cascade (16s loop, 4 acts). Edit the SVG directly — there is no .mmd source.
pool-fair-share.svg README.md (root) Animated key-pool fair-share quota (generous → strict, 16s loop). Edit the SVG directly — there is no .mmd source.
combo-always-on.svg style reference Animated priority-combo fallback (4 layers, 16s loop). Edit the SVG directly — there is no .mmd source.
cli-terminal.svg README.md (root) Compact half-height animated terminal (1200×350): 3 real CLI commands cycling with typewriter + scrolling subcommand ticker; first frame = completed providers screen. Edit the SVG directly — there is no .mmd source.
compression-pipeline.svg README.md (root) Animated 10-engine compression funnel (8s loop). Edit the SVG directly — there is no .mmd source.
free-tier-budget.svg README.md (root) Animated free-tier budget card (~1.53B/mo quantified headline, 19-pool budget bar, per-model grid, signup credits, 10s loop). Edit the SVG directly — there is no .mmd source.
readme-hero.svg README.md (root) Animated hero card (tagline, live provider/free-access headline, full-width compression bar demo, 6 stat chips). Edit the SVG directly — there is no .mmd source.
promise-pillars.svg README.md (root) Animated "The Promise" 6-pillar card (12s border-highlight sweep). Edit the SVG directly — there is no .mmd source.
why-pain-fix.svg README.md (root) Animated "Why OmniRoute" 10-row pain-vs-fix ledger (15s green row sweep). Edit the SVG directly — there is no .mmd source.
strategies-grid.svg README.md (root) Animated grid illustrating 18 of the 19 routing strategies; cache-optimized remains documented in the adjacent table. Edit the SVG directly — there is no .mmd source.
privacy-local.svg README.md (root) Animated "Private & Local-First" 11-row guarantee ledger with receipt chips (16s green row sweep). Edit the SVG directly — there is no .mmd source.
resilience-layers.svg README.md (root) Animated 3-layer resilience card (breaker states CLOSED→OPEN→HALF-OPEN, key cooldown with ×2 backoff, model lockout — 18s loops). Edit the SVG directly — there is no .mmd source.

How to update

  1. Edit *.mmd.
  2. Re-render: npm run docs:render-diagrams (uses @mermaid-js/mermaid-cli).
  3. Commit both .mmd and .svg.

If @mermaid-js/mermaid-cli is not available locally, install it once:

npm install -g @mermaid-js/mermaid-cli

The script renders every .mmd in docs/diagrams/ into docs/diagrams/exported/*.svg with a white background, suitable for both dark and light themes.

Linking from a doc

From a doc in docs/<subfolder>/, the relative path becomes ../diagrams/...:

![Request pipeline](../diagrams/exported/request-pipeline.svg)

> Source: [../diagrams/request-pipeline.mmd](../diagrams/request-pipeline.mmd)

From the repo root (e.g. CLAUDE.md):

![Resilience layers](./exported/resilience-3layers.svg)

Conventions

  • One concept per diagram. Don't try to fit the whole platform in one chart.
  • Keep node labels short (3-6 words). Use <br/> for line breaks inside nodes.
  • Prefer flowchart LR for pipelines and flowchart TB for layered models.
  • Use sequenceDiagram for interactive (request/response) flows.
  • Use erDiagram for database schema overviews.
  • Update both .mmd and .svg in the same commit. Keep them in lock-step.