mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-07-26 09:52:11 +03:00
Introduce docs/diagrams/ with the README index and 8 versioned Mermaid sources that reflect the v3.8.0 platform: - request-pipeline.mmd /v1/chat/completions request pipeline - auto-combo-9factor.mmd Auto-Combo 9-factor scoring weights - resilience-3layers.mmd Provider breaker / cooldown / model lockout - i18n-flow.mmd Hash-based incremental doc translation - mcp-tools-37.mmd MCP Server tool inventory by category - cloud-agent-flow.mmd Codex / Devin / Jules task lifecycle - authz-pipeline.mmd 3-class authz pipeline (PUBLIC/CLIENT_API/MANAGEMENT) - db-schema-overview.mmd Selected core SQLite relations Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
22 lines
958 B
Plaintext
22 lines
958 B
Plaintext
%% 3-layer resilience model
|
||
%% Reflects: src/shared/utils/circuitBreaker.ts, src/sse/services/auth.ts,
|
||
%% open-sse/services/accountFallback.ts
|
||
%% v3.8.0
|
||
flowchart TB
|
||
Req["Request"] --> L1{"Provider Circuit Breaker<br/>(scope: whole provider)"}
|
||
L1 -->|CLOSED| L2
|
||
L1 -->|OPEN| Block1["Skip provider<br/>(or 503 retry-after)"]
|
||
L1 -->|HALF_OPEN| Probe["Allow probe"]
|
||
Probe --> L2
|
||
|
||
L2{"Connection Cooldown<br/>(scope: one account/key)"} -->|available| L3
|
||
L2 -->|cooling down| Skip2["Skip this connection<br/>fall back to next"]
|
||
|
||
L3{"Model Lockout<br/>(scope: provider × conn × model)"} -->|allowed| Exec["Execute upstream"]
|
||
L3 -->|locked| Skip3["Fall back to next model"]
|
||
|
||
Exec -->|success| Clear["Clear cooldowns/lockouts"]
|
||
Exec -->|"408 / 500 / 502 / 503 / 504"| TripL1["Trip provider breaker"]
|
||
Exec -->|"401 / 403 (account)"| TripL2["Start connection cooldown"]
|
||
Exec -->|"429 quota (model)"| TripL3["Start model lockout"]
|