diff --git a/AGENTS.md b/AGENTS.md
index f5e45cfba9..2168ae70b9 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -56,7 +56,7 @@ Repository map and Reference Documentation sections below.
| Translators | `open-sse/translator/` | Format conversion (OpenAI↔Claude↔Gemini) |
| Transformer | `open-sse/transformer/` | Responses API ↔ Chat Completions |
| Services | `open-sse/services/` | Combo routing, rate limits, caching, etc |
-| Database | `src/lib/db/` | SQLite domain modules (155 migrations) |
+| Database | `src/lib/db/` | SQLite domain modules (154 migrations) |
| Domain/Policy | `src/domain/` | Policy engine, cost rules, fallback logic |
| MCP Server | `open-sse/mcp-server/` | 109 tools (44 canonical + memory/skill/GitHub/pool/gamification/plugin/Notion/Obsidian/local-corpus/RTK modules), 3 transports (stdio / SSE / Streamable HTTP), 33 scopes |
| A2A Server | `src/lib/a2a/` | JSON-RPC 2.0 agent protocol |
diff --git a/README.md b/README.md
index 6809b92e9f..fc66a61a71 100644
--- a/README.md
+++ b/README.md
@@ -63,7 +63,7 @@
| | v3.8.49 | **v3.8.50** | `v3.8.51+` |
| ------------------------- | :-----: | :---------: | :---------: |
-| 🌐 Providers | 290 | **343** | more queued |
+| 🌐 Providers | 290 | **342** | more queued |
| 🧠 Documented models | 1185 | **1202** | — |
| 🖼️ Modality Bridge | — | 🆕 vision | video |
| 📡 Radar free catalog | — | 🆕 opt-in | — |
@@ -210,7 +210,7 @@ curl http://localhost:20128/v1/chat/completions \
-
+
@@ -646,7 +646,7 @@ of your shell history. → [CLI Integrations](docs/guides/CLI-INTEGRATIONS.md)
-> The most complete catalog of any open-source router: **343 providers**, **90+ with a free tier**, **57 free forever**.
+> The most complete catalog of any open-source router: **343 providers**, **90+ with a free tier**, **56 free forever**.
@@ -1174,7 +1174,7 @@ Métricas de validação: 1002 vídeos rastreados · 7,069,190 visualizações c
Runtime Node.js 22.x / 24.x LTS — >=22.22.2 <23 || >=24.0.0 <27
Language TypeScript 6.0 — 100% TypeScript across src/ and open-sse/ (zero any in core since v2.0)
Framework Next.js 16 + React 19 + Tailwind CSS 4
-
Database better-sqlite3 (SQLite, WAL journaling) + LowDB (JSON legacy) — 120 domain modules, 155 migrations
+
Database better-sqlite3 (SQLite, WAL journaling) + LowDB (JSON legacy) — 120 domain modules, 154 migrations
Memory SQLite FTS5 full-text + int8-quantized vector embeddings, typed decay
Schemas Zod 4 — MCP tool I/O validation + API contracts
Protocols MCP (stdio / HTTP / SSE) + A2A v0.3 (JSON-RPC 2.0 + SSE)
diff --git a/changelog.d/maintenance/env-doc-sync-adhoc-bot.md b/changelog.d/maintenance/env-doc-sync-adhoc-bot.md
deleted file mode 100644
index dbd759be29..0000000000
--- a/changelog.d/maintenance/env-doc-sync-adhoc-bot.md
+++ /dev/null
@@ -1 +0,0 @@
-- **chore(ci):** ignore ad-hoc `BOT_TOKEN`/`BOT_URL` in env-doc-sync (scripts/ad-hoc mesh helpers, not runtime config)
diff --git a/changelog.d/maintenance/release-v3850-basereds-drain-20260820.md b/changelog.d/maintenance/release-v3850-basereds-drain-20260820.md
deleted file mode 100644
index 5964e9f9a7..0000000000
--- a/changelog.d/maintenance/release-v3850-basereds-drain-20260820.md
+++ /dev/null
@@ -1 +0,0 @@
-- **fix(ci):** drain shared release/v3.8.50 base-reds that were failing every PR merge-ref (public-creds M365 pasted apiKey, Stryker covering tests, dead-code 419, i18n key parity, CC models listing 400 before cache, SSE comment heartbeat tests, all-zero usage estimate path, catalog builder yield every entry, leftover #10225/#10503 hard-overflow tests after #10162 advisory estimates).
diff --git a/config/quality/quality-baseline.json b/config/quality/quality-baseline.json
index ac3a3e598a..eae9067b4b 100644
--- a/config/quality/quality-baseline.json
+++ b/config/quality/quality-baseline.json
@@ -102,9 +102,8 @@
"_rebaseline_2026_07_28_v3849_release": "75.5 -> 99 (+23.5). Aperto EXIGIDO pelo modo --require-tighten do ratchet: a métrica melhorou de verdade no ciclo v3.8.49. A causa é o workflow assíncrono de tradução, que finalmente alcançou o denominador em EN — as rebaselines anteriores (v3.8.39/.44/.47) foram todas afrouxamentos registrando o atraso das traduções, e agora ele foi pago. O coletor SUBTRAI os placeholders (present - placeholder em scripts/quality/collect-metrics.mjs), então os 317 marcadores __MISSING__ que esta release introduziu para o drift de valor já estão descontados dos 99 — o número é honesto, não inflado por placeholder. Medido pelo collect-metrics do CI no run 30404226939."
},
"deadExports": {
- "value": 419,
+ "value": 415,
"direction": "down",
- "_rebaseline_2026_08_20_v3850_knip_cycle": "415 -> 419. Measured by CI check:dead-code on release/v3.8.50 merge refs (DEAD_TOTAL=419). Inherited cycle knip drift; structural cleanup remains separate debt.",
"_rebaseline_2026_08_09_v3850_post_sweep": "227 -> 230. Measured by npm run check:dead-code on the unmodified release/v3.8.50 tip 382449d593 during the mandatory --full-ci pre-flight. The +3 is inherited cycle drift from the authorized merge sweep; this repair adds no production exports. Rebaseline records the actual tip so ci.yml quality-gate can run, while structural cleanup remains separate debt.",
"_rebaseline_2026_07_01_v3843_release": "225->227 (+2). v3.8.43 cycle drift, surfaced in the Quality Ratchet job after eslintWarnings was rebaselined (check:dead-code runs there). 227 = measured by check:dead-code (knip) on the release tip 4635076eb. The 5 CI fixes add 0 dead exports: safeHttpHref in linkify.ts is module-local AND used (called by linkifyText); no new exports; test files are not scanned. Tighten via --update next cycle.",
"dedicatedGate": true,
diff --git a/docs/diagrams/promise-pillars.svg b/docs/diagrams/promise-pillars.svg
index 445d06e651..c73ef5e0d7 100644
--- a/docs/diagrams/promise-pillars.svg
+++ b/docs/diagrams/promise-pillars.svg
@@ -1,4 +1,4 @@
-
+
Animated promise card: six pillar tiles fade in in reading order, then a soft colored border highlight sweeps from tile to tile in a continuous cycle.
diff --git a/docs/i18n/ar/llm.txt b/docs/i18n/ar/llm.txt
index e08675b921..732d79189c 100644
--- a/docs/i18n/ar/llm.txt
+++ b/docs/i18n/ar/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/az/llm.txt b/docs/i18n/az/llm.txt
index 444523257e..e930a1f05a 100644
--- a/docs/i18n/az/llm.txt
+++ b/docs/i18n/az/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/bg/llm.txt b/docs/i18n/bg/llm.txt
index 444523257e..e930a1f05a 100644
--- a/docs/i18n/bg/llm.txt
+++ b/docs/i18n/bg/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/bn/llm.txt b/docs/i18n/bn/llm.txt
index 821826af9d..baa6656839 100644
--- a/docs/i18n/bn/llm.txt
+++ b/docs/i18n/bn/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/cs/llm.txt b/docs/i18n/cs/llm.txt
index df907c345b..dfb5f9b2b8 100644
--- a/docs/i18n/cs/llm.txt
+++ b/docs/i18n/cs/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/da/llm.txt b/docs/i18n/da/llm.txt
index 5dc69bbfa2..10ce4811ac 100644
--- a/docs/i18n/da/llm.txt
+++ b/docs/i18n/da/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/de/llm.txt b/docs/i18n/de/llm.txt
index dc22417c1a..b5ebeb9c86 100644
--- a/docs/i18n/de/llm.txt
+++ b/docs/i18n/de/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/es/llm.txt b/docs/i18n/es/llm.txt
index 40ec1505b8..72d4fa4a05 100644
--- a/docs/i18n/es/llm.txt
+++ b/docs/i18n/es/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/fa/llm.txt b/docs/i18n/fa/llm.txt
index 868685a3fc..4b324a992d 100644
--- a/docs/i18n/fa/llm.txt
+++ b/docs/i18n/fa/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/fi/llm.txt b/docs/i18n/fi/llm.txt
index 80f3d1041d..92d30e036c 100644
--- a/docs/i18n/fi/llm.txt
+++ b/docs/i18n/fi/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/fr/llm.txt b/docs/i18n/fr/llm.txt
index cfaf0a2743..2b5cdefa71 100644
--- a/docs/i18n/fr/llm.txt
+++ b/docs/i18n/fr/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/gu/llm.txt b/docs/i18n/gu/llm.txt
index 44592006cb..d0f0f42f59 100644
--- a/docs/i18n/gu/llm.txt
+++ b/docs/i18n/gu/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/he/llm.txt b/docs/i18n/he/llm.txt
index 30a05553b6..f8f0b3f644 100644
--- a/docs/i18n/he/llm.txt
+++ b/docs/i18n/he/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/hi/llm.txt b/docs/i18n/hi/llm.txt
index 60f431d7bd..d79717b61e 100644
--- a/docs/i18n/hi/llm.txt
+++ b/docs/i18n/hi/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/hu/llm.txt b/docs/i18n/hu/llm.txt
index 8e2250cad7..1b941f1e5a 100644
--- a/docs/i18n/hu/llm.txt
+++ b/docs/i18n/hu/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/id/llm.txt b/docs/i18n/id/llm.txt
index 8bfe331767..e1b23c5e3d 100644
--- a/docs/i18n/id/llm.txt
+++ b/docs/i18n/id/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/in/llm.txt b/docs/i18n/in/llm.txt
index 71d5aabf10..7713dacb68 100644
--- a/docs/i18n/in/llm.txt
+++ b/docs/i18n/in/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/it/llm.txt b/docs/i18n/it/llm.txt
index 48543ecaed..e0823ba499 100644
--- a/docs/i18n/it/llm.txt
+++ b/docs/i18n/it/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/ja/llm.txt b/docs/i18n/ja/llm.txt
index 8aa97b8d4d..5c1963195f 100644
--- a/docs/i18n/ja/llm.txt
+++ b/docs/i18n/ja/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/ko/llm.txt b/docs/i18n/ko/llm.txt
index 83d636964a..2ae8fe4ec4 100644
--- a/docs/i18n/ko/llm.txt
+++ b/docs/i18n/ko/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/mr/llm.txt b/docs/i18n/mr/llm.txt
index 60c5ab5b0d..157eec643a 100644
--- a/docs/i18n/mr/llm.txt
+++ b/docs/i18n/mr/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/ms/llm.txt b/docs/i18n/ms/llm.txt
index 64321ca32b..e26b195208 100644
--- a/docs/i18n/ms/llm.txt
+++ b/docs/i18n/ms/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/nl/llm.txt b/docs/i18n/nl/llm.txt
index 0ebbac8674..67f935d590 100644
--- a/docs/i18n/nl/llm.txt
+++ b/docs/i18n/nl/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/no/llm.txt b/docs/i18n/no/llm.txt
index e93c917dba..e28dda1508 100644
--- a/docs/i18n/no/llm.txt
+++ b/docs/i18n/no/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/phi/llm.txt b/docs/i18n/phi/llm.txt
index d27115a657..ed539c84be 100644
--- a/docs/i18n/phi/llm.txt
+++ b/docs/i18n/phi/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/pl/llm.txt b/docs/i18n/pl/llm.txt
index 6c2c3c80cf..f8665fa410 100644
--- a/docs/i18n/pl/llm.txt
+++ b/docs/i18n/pl/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/pt-BR/llm.txt b/docs/i18n/pt-BR/llm.txt
index 572bdc306c..c56d966794 100644
--- a/docs/i18n/pt-BR/llm.txt
+++ b/docs/i18n/pt-BR/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/pt/llm.txt b/docs/i18n/pt/llm.txt
index aa0d7cb727..6e2aa2bb20 100644
--- a/docs/i18n/pt/llm.txt
+++ b/docs/i18n/pt/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/ro/llm.txt b/docs/i18n/ro/llm.txt
index 475022ba34..4fac614baf 100644
--- a/docs/i18n/ro/llm.txt
+++ b/docs/i18n/ro/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/ru/llm.txt b/docs/i18n/ru/llm.txt
index 338cdf40c6..9d522135b2 100644
--- a/docs/i18n/ru/llm.txt
+++ b/docs/i18n/ru/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/sk/llm.txt b/docs/i18n/sk/llm.txt
index fd92eef237..df0dbd95a7 100644
--- a/docs/i18n/sk/llm.txt
+++ b/docs/i18n/sk/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/sv/llm.txt b/docs/i18n/sv/llm.txt
index 3b990bf66f..59246e38bf 100644
--- a/docs/i18n/sv/llm.txt
+++ b/docs/i18n/sv/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/sw/llm.txt b/docs/i18n/sw/llm.txt
index f93f896f0d..dbbf236c5d 100644
--- a/docs/i18n/sw/llm.txt
+++ b/docs/i18n/sw/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/ta/llm.txt b/docs/i18n/ta/llm.txt
index 4a198c6e93..842ca8c7ee 100644
--- a/docs/i18n/ta/llm.txt
+++ b/docs/i18n/ta/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/te/llm.txt b/docs/i18n/te/llm.txt
index de9669853d..5098dbc0ae 100644
--- a/docs/i18n/te/llm.txt
+++ b/docs/i18n/te/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/th/llm.txt b/docs/i18n/th/llm.txt
index 73e23cbcf8..f1251db7be 100644
--- a/docs/i18n/th/llm.txt
+++ b/docs/i18n/th/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/tr/llm.txt b/docs/i18n/tr/llm.txt
index 6745e5ba3b..ba729555c2 100644
--- a/docs/i18n/tr/llm.txt
+++ b/docs/i18n/tr/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/uk-UA/llm.txt b/docs/i18n/uk-UA/llm.txt
index 29c2e9a6ee..33b12b870b 100644
--- a/docs/i18n/uk-UA/llm.txt
+++ b/docs/i18n/uk-UA/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/ur/llm.txt b/docs/i18n/ur/llm.txt
index b7cafd24a9..bd5d5fdc83 100644
--- a/docs/i18n/ur/llm.txt
+++ b/docs/i18n/ur/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/vi/llm.txt b/docs/i18n/vi/llm.txt
index e8b3a80a5b..4b59fd5d3d 100644
--- a/docs/i18n/vi/llm.txt
+++ b/docs/i18n/vi/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/zh-CN/llm.txt b/docs/i18n/zh-CN/llm.txt
index 786a99948f..122734bec7 100644
--- a/docs/i18n/zh-CN/llm.txt
+++ b/docs/i18n/zh-CN/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/docs/i18n/zh-TW/llm.txt b/docs/i18n/zh-TW/llm.txt
index 5610d851dc..b1f841f8e9 100644
--- a/docs/i18n/zh-TW/llm.txt
+++ b/docs/i18n/zh-TW/llm.txt
@@ -4,7 +4,7 @@
---
-> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 343 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
+> OmniRoute is a free, open-source AI Gateway that acts as a universal API proxy for multi-provider LLMs. It provides smart routing, automatic fallback, load balancing, and format translation across 342 AI providers — all through a single OpenAI-compatible endpoint. Includes a built-in MCP Server (109 tools), A2A v0.3 protocol, Memory/Skills systems, Cloud Agents (codex, cursor, devin, jules), Guardrails framework, and an Electron desktop app.
## Overview
@@ -18,7 +18,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -169,7 +169,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
│ │ └── manager.ts # MITM proxy manager
│ ├── shared/ # Shared utilities, components, and constants
│ │ ├── components/ # Reusable UI components (Card, Badge, Button, Modal, Sidebar, ProviderIcon, etc.)
-│ │ ├── constants/ # Provider definitions (343), model lists, pricing, routing strategies, MCP scopes
+│ │ ├── constants/ # Provider definitions (342), model lists, pricing, routing strategies, MCP scopes
│ │ ├── contracts/ # Shared API contracts
│ │ ├── hooks/ # React hooks
│ │ ├── middleware/ # Shared middleware utilities
@@ -281,7 +281,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
## Key Features (v3.8.50)
### Core Proxy
-- **343 AI providers** with automatic format translation
+- **342 AI providers** with automatic format translation
- **Provider categories**: Free (90+ free tiers), OAuth, API Key, Self-Hosted, Custom (OpenAI/Anthropic-compatible)
- **18 routing strategies**: priority, weighted, round-robin, fill-first, p2c, random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp, context-optimized, context-relay, fusion, pipeline
- **4-tier fallback**: Subscription → API Key → Cheap → Free
@@ -438,7 +438,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
@@ -479,7 +479,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
## v3.8.x Highlights
-- **343-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
+- **342-provider catalog** with 90+ free tiers, one-click account imports, and bulk key add
- **19 routing strategies** — including `fusion` (parallel panel + judge synthesis), `pipeline`, `reset-aware`, `reset-window`, `headroom`, and `context-relay`
- **14-factor Auto-Combo scoring** with bandit exploration and progressive cooldown
- **MCP server expanded to 109 tools / 33 scopes** (canonical + memory/skill/agentSkill/githubSkill/pool/notion/obsidian/localCorpus/gamification/plugin modules)
diff --git a/llm.txt b/llm.txt
index ae739af5a7..c80df65ca7 100644
--- a/llm.txt
+++ b/llm.txt
@@ -14,7 +14,7 @@ OmniRoute solves the problem of managing multiple AI provider subscriptions, quo
- **Runtime:** Node.js `>=22.0.0 <23 || >=24.0.0 <27`, ES Modules (`"type": "module"`)
- **Framework:** Next.js 16 (App Router) with TypeScript 6
-- **Database:** SQLite via better-sqlite3 (local, zero-config, 155 migrations)
+- **Database:** SQLite via better-sqlite3 (local, zero-config, 154 migrations)
- **State management:** Zustand (client), SQLite (server persistence)
- **UI:** React 19, Tailwind CSS 4, Recharts for analytics, @lobehub/icons for 130+ provider SVG icons
- **Auth:** OAuth 2.0 (PKCE) for providers, bcrypt for local user auth
@@ -434,7 +434,7 @@ diagnostics) plus **memory**, **skill**, **agentSkill**, **githubSkill**, **pool
4. **Environment variables:** All configuration is in `.env` (from `.env.example`). Key vars: `PORT`, `NEXT_PUBLIC_BASE_URL`, `API_KEY`, `ADMIN_PASSWORD`.
-5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 155 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
+5. **Database layer:** Operations go through `src/lib/db/` modules (120 domain-specific files, 154 migrations). `localDb.ts` is re-exports only — add new functions to the proper `db/*.ts` module.
6. **Tests** use Node.js built-in test runner + Vitest. Run `npm test`. Vitest for MCP/autoCombo (`npm run test:vitest`). Playwright for E2E (`npm run test:e2e`). Coverage gate: ratchet vs `quality-baseline.json`, absolute floor 60% statements/lines/functions/branches.
diff --git a/open-sse/executors/copilot-m365-connection.ts b/open-sse/executors/copilot-m365-connection.ts
index 1f9563ef46..d5f6d80c6c 100644
--- a/open-sse/executors/copilot-m365-connection.ts
+++ b/open-sse/executors/copilot-m365-connection.ts
@@ -117,13 +117,6 @@ export function newChatSessionId(): string {
return randomBytes(16).toString("hex");
}
-/** Inverse of parsePastedCredential for persisting a refreshed token. */
-export function formatPastedM365ApiKey(accessToken: string, chathubPath: string): string {
- const tokenField = ["access", "token"].join("_");
- const pathField = "chathubPath";
- return `${tokenField}=${accessToken}; ${pathField}=${chathubPath}`;
-}
-
function parsePastedCredential(
raw: string
): Partial> {
diff --git a/open-sse/executors/copilot-m365-web.ts b/open-sse/executors/copilot-m365-web.ts
index 97cdd011c8..57f854ef86 100644
--- a/open-sse/executors/copilot-m365-web.ts
+++ b/open-sse/executors/copilot-m365-web.ts
@@ -8,7 +8,6 @@ import {
currentM365AccessToken,
currentM365ChathubPath,
decodeJwtClaims,
- formatPastedM365ApiKey,
redactWsUrl,
refreshM365AccessToken,
resolveConnectionParams,
@@ -321,16 +320,15 @@ export class CopilotM365WebExecutor extends BaseExecutor {
const rotated = result.refreshToken || refreshToken;
const chathubPath = currentM365ChathubPath(credentials);
- const pastedApiKey = chathubPath
- ? formatPastedM365ApiKey(result.accessToken, chathubPath)
- : undefined;
const next = {
...credentials,
accessToken: result.accessToken,
refreshToken: rotated,
// Keep the pasted-format apiKey self-consistent so every resolution path
// (fresh column, stale column, dashboard re-read) sees the same token.
- ...(pastedApiKey ? { apiKey: pastedApiKey } : {}),
+ ...(chathubPath
+ ? { apiKey: `access_token=${result.accessToken}; chathubPath=${chathubPath}` }
+ : {}),
...(result.expiresIn
? { expiresAt: new Date(Date.now() + result.expiresIn * 1000).toISOString() }
: {}),
diff --git a/open-sse/executors/index.ts b/open-sse/executors/index.ts
index 98aa665ca0..d82452bb7e 100644
--- a/open-sse/executors/index.ts
+++ b/open-sse/executors/index.ts
@@ -1,5 +1,4 @@
import { SEARCH_PROVIDERS } from "../config/searchRegistry.ts";
-import type { BaseExecutor } from "./base.ts";
import { registerExecutor, getRegisteredExecutor, hasRegisteredExecutor } from "./registry.ts";
import { AntigravityExecutor } from "./antigravity.ts";
import { GithubExecutor } from "./github.ts";
@@ -234,7 +233,7 @@ const executors = {
// Bootstrap: register every built-in in the ExecutorRegistry. registerExecutor
// throws on duplicates, so an alias collision fails at module load, exactly as
// loudly as a duplicate object key would have failed at lint time.
-for (const [alias, executor] of Object.entries(executors) as Array<[string, BaseExecutor]>) {
+for (const [alias, executor] of Object.entries(executors)) {
registerExecutor(alias, executor);
}
diff --git a/open-sse/handlers/chatCore/clientUsageBuffer.ts b/open-sse/handlers/chatCore/clientUsageBuffer.ts
index 6c160ef36d..4c7b1e48dc 100644
--- a/open-sse/handlers/chatCore/clientUsageBuffer.ts
+++ b/open-sse/handlers/chatCore/clientUsageBuffer.ts
@@ -104,12 +104,7 @@ export function applyClientUsageBuffer(
deps: ClientUsageBufferDeps = DEFAULT_DEPS
): void {
const { preserveContextBudgetInVisibleUsage = false } = options;
- // All-zero usage stubs must take the estimate path. sanitizeProviderUsageForRequest
- // (#10705) rewrites a 0 input count on a non-trivial body into a local estimate,
- // which would make isEmptyUsage false and then addBufferToUsage turn zeros into
- // USAGE_TOKEN_BUFFER.
- const usageIsEmpty = isEmptyUsage(translatedResponse?.usage);
- if (translatedResponse?.usage && !usageIsEmpty) {
+ if (translatedResponse?.usage) {
translatedResponse.usage = sanitizeProviderUsageForRequest(
translatedResponse.usage,
body,
diff --git a/open-sse/utils/usageTracking.ts b/open-sse/utils/usageTracking.ts
index 151a5f6d8d..c89527518e 100644
--- a/open-sse/utils/usageTracking.ts
+++ b/open-sse/utils/usageTracking.ts
@@ -449,12 +449,11 @@ function resolveUsageFormat(usage: UsageLike | null | undefined, targetFormat: s
function getReportedInputTokens(usage: UsageLike, format: string): number {
if (format === FORMATS.CLAUDE) {
- const claudeInput =
+ return (
tokenNumber(usage.input_tokens) +
tokenNumber(usage.cache_read_input_tokens) +
- tokenNumber(usage.cache_creation_input_tokens);
- if (claudeInput > 0) return claudeInput;
- return tokenNumber(usage.prompt_tokens);
+ tokenNumber(usage.cache_creation_input_tokens)
+ );
}
if (format === FORMATS.GEMINI) {
return tokenNumber(usage.promptTokenCount);
diff --git a/scripts/check/check-env-doc-sync.mjs b/scripts/check/check-env-doc-sync.mjs
index 097b24c60e..1fba62bfd5 100644
--- a/scripts/check/check-env-doc-sync.mjs
+++ b/scripts/check/check-env-doc-sync.mjs
@@ -126,10 +126,6 @@ const IGNORE_FROM_CODE = new Set([
// ("http://192.168.0.15:20128" / null), never OmniRoute runtime config (#5151).
"COMBO_LIVE_BASE_URL",
"COMBO_LIVE_API_KEY",
- // Ad-hoc mesh/coverage scripts under scripts/ad-hoc/*.mjs (mesh-send, mesh-run,
- // verify-coverage). Operator-supplied script secrets, not OmniRoute runtime config.
- "BOT_TOKEN",
- "BOT_URL",
// Homologation E2E suite (npm run homolog) vars — configured via the dedicated
// .env.homolog file (template: .env.homolog.example), never in the runtime .env.
// Test/ops-only signals against the homologation VPS, same class as COMBO_LIVE_*.
diff --git a/src/app/api/providers/[id]/models/route.ts b/src/app/api/providers/[id]/models/route.ts
index 217ee18dc9..818156aaec 100755
--- a/src/app/api/providers/[id]/models/route.ts
+++ b/src/app/api/providers/[id]/models/route.ts
@@ -1882,6 +1882,12 @@ export async function GET(
}
if (isAnthropicCompatibleProvider(provider)) {
+ const cachedResponse = maybeReturnCachedDiscovery();
+ if (cachedResponse) return cachedResponse;
+
+ const autoFetchDisabledResponse = maybeReturnAutoFetchDisabled();
+ if (autoFetchDisabledResponse) return autoFetchDisabledResponse;
+
if (isClaudeCodeCompatibleProvider(provider)) {
return NextResponse.json(
{ error: `Provider ${provider} does not support models listing` },
@@ -1889,12 +1895,6 @@ export async function GET(
);
}
- const cachedResponse = maybeReturnCachedDiscovery();
- if (cachedResponse) return cachedResponse;
-
- const autoFetchDisabledResponse = maybeReturnAutoFetchDisabled();
- if (autoFetchDisabledResponse) return autoFetchDisabledResponse;
-
let baseUrl = getProviderBaseUrl(connection.providerSpecificData);
if (!baseUrl) {
const fallback = buildDiscoveryFallbackResponse({
diff --git a/src/app/api/v1/models/catalog.ts b/src/app/api/v1/models/catalog.ts
index ff3437c974..d4797775db 100644
--- a/src/app/api/v1/models/catalog.ts
+++ b/src/app/api/v1/models/catalog.ts
@@ -241,7 +241,7 @@ async function buildUnifiedModelsResponseCore(
// event-loop yield, so a large deployment pins the single Node.js thread for the
// whole build (reporter: 183 connections / 2000+ models → 10.1s stall that blocks the
// dashboard WS heartbeat). Yield every `catYIELD_EVERY` items across the hot loops.
- const catYIELD_EVERY = 1;
+ const catYIELD_EVERY = 20;
let catYieldCount = 0;
const maybeYieldCatalogBuild = async (): Promise => {
catYieldCount++;
@@ -511,11 +511,13 @@ async function buildUnifiedModelsResponseCore(
const targetModel = getComboTargetModelId(target);
if (!targetModel) return null;
- const canonical = getCanonicalModelMetadata({
- provider: targetModel.providerId,
- model: targetModel.modelId,
- snapshot: capabilityResolutionSnapshot,
- });
+ const canonical = getCanonicalModelMetadata(
+ {
+ provider: targetModel.providerId,
+ model: targetModel.modelId,
+ },
+ capabilityResolutionSnapshot
+ );
if (!canonical) return null;
const providerId = canonical.provider || targetModel.providerId;
diff --git a/src/app/api/v1/models/catalogResponse.ts b/src/app/api/v1/models/catalogResponse.ts
index eab83ddd0c..198a5a6d30 100644
--- a/src/app/api/v1/models/catalogResponse.ts
+++ b/src/app/api/v1/models/catalogResponse.ts
@@ -229,7 +229,7 @@ export async function finalizeCatalogResponse(
await yieldTurn();
const capabilityResolutionSnapshot = createModelCapabilityResolutionSnapshot();
const enriched: Array> = [];
- const catYIELD_EVERY = 1;
+ const catYIELD_EVERY = 5;
let catEnrichCount = 0;
for (const model of finalModels) {
let listedModel: Record;
diff --git a/src/i18n/messages/ar.json b/src/i18n/messages/ar.json
index 8161057aca..329df3d883 100644
--- a/src/i18n/messages/ar.json
+++ b/src/i18n/messages/ar.json
@@ -3718,11 +3718,7 @@
"errorDescription": "لم نتمكن من تحميل بيانات المجموعة في الوقت الحالي. تحقق من اتصالك وحاول مرة أخرى.",
"errorId": "معرّف الخطأ: {id}",
"errorRetry": "حاول مرة أخرى",
- "comboLabel": "كومبو",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "كومبو"
},
"costs": {
"title": "التكاليف",
@@ -6220,8 +6216,7 @@
"kiro": "الفئة المجانية: 50 رصيدًا شهريًا (~25 ألف–100 ألف توكن). ⚠️ تحظر شروط خدمة Kiro استخدام وكيل/أداة خارجية.",
"codex": "ربط OpenAI Codex باستخدام تدفق OAuth الحالي.",
"qwen": "ربط Qwen Code باستخدام تدفق OAuth الحالي.",
- "github-models": "أنشئ رمز وصول شخصي (PAT) لـ GitHub بنطاق 'models: read' على github.com/settings/tokens",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "أنشئ رمز وصول شخصي (PAT) لـ GitHub بنطاق 'models: read' على github.com/settings/tokens"
},
"passthroughModelsDescription": "{provider} يقبل معرفات النماذج الأصلية للموفر. قم بالاستيراد من /models أو قم بإضافة معرفات مخصصة للتوجيه.",
"bedrockModelsDescription": "يتم تحديد نطاق نماذج Amazon Bedrock حسب منطقة AWS. قم بالاستيراد من /models أو قم بإضافة معرفات نماذج Bedrock الممكنة في المنطقة المحددة.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "CJK مقتضب (文言)",
"description": "أسلوب صيني كلاسيكي فائق الاقتضاب (متاح للغة الصينية فقط)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "انتظر فترة التهدئة",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "الصحة",
"cliproxyapiPort": "منفذ",
"qdrantHost": "مضيف",
- "qdrantCollection": "مجموعة",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "مجموعة"
},
"contextRtk": {
"title": "محرك آر تي كيه",
@@ -8637,28 +8624,7 @@
"saved": "تم الحفظ.",
"saveFailed": "تعذر الحفظ.",
"enableAria": "تمكين محرك OmniGlyph",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "الخدمات المضمنة",
@@ -9538,17 +9504,7 @@
"updatedShort": "تم التحديث",
"lastRefreshed": "آخر تحديث",
"providerQuota": "حصة المزود",
- "providerQuotaHomeHint": "الحالة المباشرة عبر الحسابات المتصلة",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "الحالة المباشرة عبر الحسابات المتصلة"
},
"modals": {
"waitingAuth": "في انتظار التصريح",
diff --git a/src/i18n/messages/az.json b/src/i18n/messages/az.json
index e340292765..7c7754b05e 100644
--- a/src/i18n/messages/az.json
+++ b/src/i18n/messages/az.json
@@ -3718,11 +3718,7 @@
"errorDescription": "Hazırda kombinasiyalı məlumatları yükləyə bilmirik. Bağlantınızı yoxlayın və yenidən cəhd edin.",
"errorId": "Xəta ID: {id}",
"errorRetry": "Yenidən Cəhd Et",
- "comboLabel": "Kombinasiya",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "Kombinasiya"
},
"costs": {
"title": "Costs",
@@ -6220,8 +6216,7 @@
"kiro": "Free tier: 50 credits/month (~25K–100K tokens). ⚠️ Kiro ToS prohibits third-party proxy/harness use.",
"codex": "Connect OpenAI Codex with the existing OAuth flow.",
"qwen": "Connect Qwen Code with the existing OAuth flow.",
- "github-models": "github.com/settings/tokens ünvanında 'models: read' əhatə dairəsi ilə GitHub PAT yaradın",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "github.com/settings/tokens ünvanında 'models: read' əhatə dairəsi ilə GitHub PAT yaradın"
},
"passthroughModelsDescription": "{provider} provayderin yerli model identifikatorlarını qəbul edir. /modellərdən idxal edin və ya marşrutlaşdırma üçün fərdi identifikatorlar əlavə edin.",
"bedrockModelsDescription": "Amazon Bedrock modelləri AWS bölgəsi tərəfindən əhatə olunur. /modellərdən idxal edin və ya seçilmiş regionda aktivləşdirilmiş Bedrock model ID-lərini əlavə edin.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "Yığcam CJK (文言)",
"description": "Klassik Çin ultra-yığcam üslubu (yalnız Çin dili üçün əlçatandır)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "Cooldown üçün gözləyin",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "Sağlamlıq",
"cliproxyapiPort": "Port",
"qdrantHost": "Ev sahibi",
- "qdrantCollection": "Kolleksiya",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "Kolleksiya"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "Saxlanıldı.",
"saveFailed": "Saxlamaq mümkün olmadı.",
"enableAria": "OmniGlyph mühərrikini aktivləşdir",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "Quraşdırılmış xidmətlər",
@@ -9538,17 +9504,7 @@
"updatedShort": "Yeniləndi",
"lastRefreshed": "Sonuncu dəfə yenilənib",
"providerQuota": "Provayder kvotası",
- "providerQuotaHomeHint": "Qoşulmuş hesablar üzrə canlı status",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "Qoşulmuş hesablar üzrə canlı status"
},
"modals": {
"waitingAuth": "Waiting for Authorization",
diff --git a/src/i18n/messages/bg.json b/src/i18n/messages/bg.json
index 58099b4fae..463943e63a 100644
--- a/src/i18n/messages/bg.json
+++ b/src/i18n/messages/bg.json
@@ -3718,11 +3718,7 @@
"errorDescription": "Не успяхме да заредим данните за комбинирането в момента. Проверете връзката си и опитайте отново.",
"errorId": "Идентификатор на грешка: {id}",
"errorRetry": "Опитай отново",
- "comboLabel": "Комбо",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "Комбо"
},
"costs": {
"title": "Разходи",
@@ -6220,8 +6216,7 @@
"kiro": "Безплатен план: 50 кредита/месец (~25K–100K токена). ⚠️ Условията за ползване на Kiro забраняват използването на прокси/инструменти от трети страни.",
"codex": "Свързване на OpenAI Codex със съществуващия OAuth поток.",
"qwen": "Свързване на Qwen Code със съществуващия OAuth поток.",
- "github-models": "Създайте GitHub PAT с обхват 'models: read' на github.com/settings/tokens",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "Създайте GitHub PAT с обхват 'models: read' на github.com/settings/tokens"
},
"passthroughModelsDescription": "{provider} приема собствени идентификатори на модела на доставчика. Импортирайте от /models или добавете персонализирани идентификатори за маршрутизиране.",
"bedrockModelsDescription": "Моделите на Amazon Bedrock са обхванати от регион на AWS. Импортирайте от /models или добавете идентификатори на модел Bedrock, активирани в избрания регион.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "Сбит CJK (文言)",
"description": "Класически китайски ултра-сбит стил (наличен само за китайски)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "Изчакайте Cooldown",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "Здраве",
"cliproxyapiPort": "Порт",
"qdrantHost": "Хост",
- "qdrantCollection": "Колекция",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "Колекция"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "Запазено.",
"saveFailed": "Неуспешно запазване.",
"enableAria": "Активиране на енджина OmniGlyph",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "Вградени услуги",
@@ -9538,17 +9504,7 @@
"updatedShort": "Актуализирано",
"lastRefreshed": "Последно опреснено",
"providerQuota": "Квота на доставчика",
- "providerQuotaHomeHint": "Статус в реално време за свързаните акаунти",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "Статус в реално време за свързаните акаунти"
},
"modals": {
"waitingAuth": "Изчакване на разрешение",
diff --git a/src/i18n/messages/bn.json b/src/i18n/messages/bn.json
index 13600ef639..fe486a3ffd 100644
--- a/src/i18n/messages/bn.json
+++ b/src/i18n/messages/bn.json
@@ -3718,11 +3718,7 @@
"errorDescription": "আমরা এখন কম্বো ডেটা লোড করতে পারিনি। আপনার সংযোগ পরীক্ষা করুন এবং আবার চেষ্টা করুন।",
"errorId": "ত্রুটি আইডি: {id}",
"errorRetry": "পুনরায় চেষ্টা করুন",
- "comboLabel": "কম্বো",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "কম্বো"
},
"costs": {
"title": "Costs",
@@ -6220,8 +6216,7 @@
"kiro": "ফ্রি টিয়ার: 50 ক্রেডিট/মাস (~25K–100K টোকেন)। ⚠️ Kiro ToS তৃতীয় পক্ষের প্রক্সি/হারনেস ব্যবহার নিষিদ্ধ করে।",
"codex": "বিদ্যমান OAuth ফ্লো-এর সাথে OpenAI Codex সংযুক্ত করুন।",
"qwen": "বিদ্যমান OAuth ফ্লো-এর সাথে Qwen Code সংযুক্ত করুন।",
- "github-models": "github.com/settings/tokens-এ 'models: read' স্কোপ সহ একটি GitHub PAT তৈরি করুন",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "github.com/settings/tokens-এ 'models: read' স্কোপ সহ একটি GitHub PAT তৈরি করুন"
},
"passthroughModelsDescription": "{provider} প্রদানকারী-নেটিভ মডেল আইডি গ্রহণ করে। /মডেল থেকে আমদানি করুন বা রাউটিং এর জন্য কাস্টম আইডি যোগ করুন।",
"bedrockModelsDescription": "অ্যামাজন বেডরক মডেলগুলি AWS অঞ্চল দ্বারা স্কোপ করা হয়েছে৷ /মডেল থেকে আমদানি করুন বা নির্বাচিত অঞ্চলে সক্ষম বেডরক মডেল আইডি যোগ করুন।",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "সংক্ষিপ্ত CJK (文言)",
"description": "ক্লাসিক্যাল-চাইনিজ অতি-সংক্ষিপ্ত শৈলী (শুধুমাত্র চাইনিজ ভাষার জন্য উপলব্ধ)।"
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "কুলডাউনের জন্য অপেক্ষা করুন",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "স্বাস্থ্য",
"cliproxyapiPort": "পোর্ট",
"qdrantHost": "হোস্ট",
- "qdrantCollection": "সংগ্রহ",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "সংগ্রহ"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "সংরক্ষিত হয়েছে।",
"saveFailed": "সংরক্ষণ করা যায়নি।",
"enableAria": "OmniGlyph ইঞ্জিনটি সক্রিয় করুন",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "এমবেডেড সেবাসমূহ",
@@ -9538,17 +9504,7 @@
"updatedShort": "আপডেট করা হয়েছে",
"lastRefreshed": "সর্বশেষ রিফ্রেশ করা হয়েছে",
"providerQuota": "প্রোভাইডার কোটা",
- "providerQuotaHomeHint": "সংযুক্ত অ্যাকাউন্টগুলোর লাইভ স্ট্যাটাস",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "সংযুক্ত অ্যাকাউন্টগুলোর লাইভ স্ট্যাটাস"
},
"modals": {
"waitingAuth": "Waiting for Authorization",
diff --git a/src/i18n/messages/cs.json b/src/i18n/messages/cs.json
index cb6e74098a..22139ce32a 100644
--- a/src/i18n/messages/cs.json
+++ b/src/i18n/messages/cs.json
@@ -3718,11 +3718,7 @@
"errorDescription": "Nyní se nám nepodařilo načíst data pro kombinaci. Zkontrolujte své připojení a zkuste to znovu.",
"errorId": "Chyba ID: {id}",
"errorRetry": "Zkusit znovu",
- "comboLabel": "Kombinace",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "Kombinace"
},
"costs": {
"title": "Náklady",
@@ -6220,8 +6216,7 @@
"kiro": "Free tier: 50 credits/month (~25K–100K tokens). ⚠️ Kiro ToS prohibits third-party proxy/harness use.",
"codex": "Připojit OpenAI Codex pomocí stávajícího toku OAuth.",
"qwen": "Připojit Qwen Code pomocí stávajícího toku OAuth.",
- "github-models": "Vytvořte GitHub PAT s rozsahem 'models: read' na github.com/settings/tokens",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "Vytvořte GitHub PAT s rozsahem 'models: read' na github.com/settings/tokens"
},
"passthroughModelsDescription": "{provider} přijímá ID modelu nativního poskytovatele. Importujte z /models nebo přidejte vlastní ID pro směrování.",
"bedrockModelsDescription": "Modely Amazon Bedrock jsou vymezeny podle regionu AWS. Importujte z /models nebo přidejte ID modelu Bedrock povolené ve vybrané oblasti.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "Stručné CJK (文言)",
"description": "Klasický čínský ultra stručný styl (k dispozici pouze pro čínštinu)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "Počkejte na Cooldown",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "Zdraví",
"cliproxyapiPort": "Port",
"qdrantHost": "Host",
- "qdrantCollection": "Kolekce",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "Kolekce"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "Uloženo.",
"saveFailed": "Nepodařilo se uložit.",
"enableAria": "Povolit engine OmniGlyph",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "Vestavěné služby",
@@ -9538,17 +9504,7 @@
"updatedShort": "Aktualizováno",
"lastRefreshed": "Naposledy aktualizováno",
"providerQuota": "Kvóta poskytovatele",
- "providerQuotaHomeHint": "Aktuální stav napříč připojenými účty",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "Aktuální stav napříč připojenými účty"
},
"modals": {
"waitingAuth": "Očekávám Autorizaci",
diff --git a/src/i18n/messages/da.json b/src/i18n/messages/da.json
index 7c746db1a7..cbd74f9a49 100644
--- a/src/i18n/messages/da.json
+++ b/src/i18n/messages/da.json
@@ -3718,11 +3718,7 @@
"errorDescription": "Vi kunne ikke indlæse kombinationsdata lige nu. Tjek din forbindelse og prøv igen.",
"errorId": "Fejl ID: {id}",
"errorRetry": "Prøv igen",
- "comboLabel": "Kombination",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "Kombination"
},
"costs": {
"title": "Omkostninger",
@@ -6220,8 +6216,7 @@
"kiro": "Gratis niveau: 50 kreditter/måned (~25K–100K tokens). ⚠️ Kiro ToS forbyder brug af tredjeparts proxy/harness.",
"codex": "Forbind OpenAI Codex med det eksisterende OAuth-flow.",
"qwen": "Forbind Qwen Code med det eksisterende OAuth-flow.",
- "github-models": "Opret et GitHub PAT med 'models: read'-scope på github.com/settings/tokens",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "Opret et GitHub PAT med 'models: read'-scope på github.com/settings/tokens"
},
"passthroughModelsDescription": "{provider} accepterer udbyder-native model-id'er. Importer fra /models eller tilføj brugerdefinerede id'er til routing.",
"bedrockModelsDescription": "Amazon Bedrock-modeller er omfattet af AWS-regionen. Importer fra /models eller tilføj Bedrock-model-id'er aktiveret i det valgte område.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "Kortfattet CJK (文言)",
"description": "Klassisk kinesisk ultra-kortfattet stil (kun tilgængelig for kinesisk)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "Vent på nedkøling",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "Sundhed",
"cliproxyapiPort": "Port",
"qdrantHost": "Vært",
- "qdrantCollection": "Samling",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "Samling"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "Gemt.",
"saveFailed": "Kunne ikke gemme.",
"enableAria": "Aktiver OmniGlyph-motoren",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "Indlejrede tjenester",
@@ -9538,17 +9504,7 @@
"updatedShort": "Opdateret",
"lastRefreshed": "Sidst opdateret",
"providerQuota": "Udbyderkvote",
- "providerQuotaHomeHint": "Livestatus på tværs af tilknyttede konti",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "Livestatus på tværs af tilknyttede konti"
},
"modals": {
"waitingAuth": "Venter på autorisation",
diff --git a/src/i18n/messages/de.json b/src/i18n/messages/de.json
index c7702188ae..fb4e14b485 100644
--- a/src/i18n/messages/de.json
+++ b/src/i18n/messages/de.json
@@ -3718,11 +3718,7 @@
"errorDescription": "Wir konnten die Kombinationsdaten momentan nicht laden. Überprüfen Sie Ihre Verbindung und versuchen Sie es erneut.",
"errorId": "Fehler-ID: {id}",
"errorRetry": "Versuche es erneut",
- "comboLabel": "Kombination",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "Kombination"
},
"costs": {
"title": "Kosten",
@@ -6220,8 +6216,7 @@
"kiro": "Kostenlose Stufe: 50 Credits/Monat (~25K–100K Token). ⚠️ Die Nutzungsbedingungen von Kiro verbieten die Nutzung von Drittanbieter-Proxys/Harnesses.",
"codex": "OpenAI Codex mit dem bestehenden OAuth-Flow verbinden.",
"qwen": "Qwen Code mit dem bestehenden OAuth-Flow verbinden.",
- "github-models": "Erstellen Sie einen GitHub-PAT mit dem Scope 'models: read' unter github.com/settings/tokens",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "Erstellen Sie einen GitHub-PAT mit dem Scope 'models: read' unter github.com/settings/tokens"
},
"passthroughModelsDescription": "{provider} akzeptiert provider-native Modell-IDs. Importiere sie über /models oder füge eigene IDs fürs Routing hinzu.",
"bedrockModelsDescription": "Amazon-Bedrock-Modelle hängen von der AWS-Region ab. Importiere sie über /models oder füge Bedrock-Modell-IDs hinzu, die in der gewählten Region aktiviert sind.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "Knappe CJK (文言)",
"description": "Klassisch-chinesischer, extrem knapper Stil (nur für Chinesisch verfügbar)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "Warten Sie auf die Abklingzeit",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "Gesundheit",
"cliproxyapiPort": "Port",
"qdrantHost": "Host",
- "qdrantCollection": "Sammlung",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "Sammlung"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "Gespeichert.",
"saveFailed": "Konnte nicht gespeichert werden.",
"enableAria": "OmniGlyph-Engine aktivieren",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "Eingebettete Dienste",
@@ -9538,17 +9504,7 @@
"updatedShort": "Aktualisiert",
"lastRefreshed": "Zuletzt aktualisiert",
"providerQuota": "Anbieter-Kontingent",
- "providerQuotaHomeHint": "Live-Status über verbundene Konten hinweg",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "Live-Status über verbundene Konten hinweg"
},
"modals": {
"waitingAuth": "Warten auf Autorisierung",
diff --git a/src/i18n/messages/es.json b/src/i18n/messages/es.json
index 1f4c9dc5d7..6978c01a41 100644
--- a/src/i18n/messages/es.json
+++ b/src/i18n/messages/es.json
@@ -3718,11 +3718,7 @@
"errorDescription": "No pudimos cargar los datos del combo en este momento. Verifica tu conexión y vuelve a intentarlo.",
"errorId": "Error ID: {id}",
"errorRetry": "Inténtalo de nuevo",
- "comboLabel": "Combo",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "Combo"
},
"costs": {
"title": "Costos",
@@ -6220,8 +6216,7 @@
"kiro": "Free tier: 50 credits/month (~25K–100K tokens). ⚠️ Kiro ToS prohibits third-party proxy/harness use.",
"codex": "Connect OpenAI Codex with the existing OAuth flow.",
"qwen": "Connect Qwen Code with the existing OAuth flow.",
- "github-models": "Create a GitHub PAT with 'models: read' scope at github.com/settings/tokens",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "Create a GitHub PAT with 'models: read' scope at github.com/settings/tokens"
},
"passthroughModelsDescription": "{provider} acepta ID de modelo nativo del proveedor. Importe desde /models o agregue ID personalizados para enrutamiento.",
"bedrockModelsDescription": "Los modelos de Amazon Bedrock tienen como alcance la región de AWS. Importe desde /models o agregue ID de modelo Bedrock habilitados en la región seleccionada.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "Terse CJK (文言)",
"description": "Classical-Chinese ultra-terse style (available only for Chinese)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "Esperar a que se enfríe",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "Salud",
"cliproxyapiPort": "Puerto",
"qdrantHost": "Anfitrión",
- "qdrantCollection": "Colección",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "Colección"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "Saved.",
"saveFailed": "Could not save.",
"enableAria": "Enable the OmniGlyph engine",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "Embedded Services",
@@ -9538,17 +9504,7 @@
"updatedShort": "Updated",
"lastRefreshed": "Last refreshed",
"providerQuota": "Provider Quota",
- "providerQuotaHomeHint": "Live status across connected accounts",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "Live status across connected accounts"
},
"modals": {
"waitingAuth": "Esperando autorización",
diff --git a/src/i18n/messages/fa.json b/src/i18n/messages/fa.json
index 12659ec986..9962332860 100644
--- a/src/i18n/messages/fa.json
+++ b/src/i18n/messages/fa.json
@@ -3718,11 +3718,7 @@
"errorDescription": "در حال حاضر نمیتوانیم دادههای ترکیبی را بارگذاری کنیم. اتصال خود را بررسی کنید و دوباره تلاش کنید.",
"errorId": "شناسه خطا: {id}",
"errorRetry": "دوباره تلاش کنید",
- "comboLabel": "ترکیب",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "ترکیب"
},
"costs": {
"title": "Costs",
@@ -6220,8 +6216,7 @@
"kiro": "طرح رایگان: ۵۰ اعتبار/ماه (~۲۵ هزار–۱۰۰ هزار توکن). ⚠️ شرایط خدمات Kiro استفاده از پروکسی/هارنس شخص ثالث را ممنوع میکند.",
"codex": "اتصال OpenAI Codex با جریان OAuth موجود.",
"qwen": "اتصال Qwen Code با جریان OAuth موجود.",
- "github-models": "یک GitHub PAT با محدوده (scope) 'models: read' در github.com/settings/tokens ایجاد کنید",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "یک GitHub PAT با محدوده (scope) 'models: read' در github.com/settings/tokens ایجاد کنید"
},
"passthroughModelsDescription": "{provider} شناسه های مدل بومی ارائه دهنده را می پذیرد. از /models وارد کنید یا شناسه های سفارشی را برای مسیریابی اضافه کنید.",
"bedrockModelsDescription": "مدلهای بستر آمازون بر اساس منطقه AWS تعیین میشوند. از /models وارد کنید یا شناسههای مدل Bedrock را که در منطقه انتخابی فعال شده است اضافه کنید.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "CJK موجز (文言)",
"description": "سبک فوقموجز چینی کلاسیک (فقط برای زبان چینی در دسترس است)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "منتظر Cooldown باشید",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "سلامت",
"cliproxyapiPort": "پورت",
"qdrantHost": "میزبان",
- "qdrantCollection": "مجموعه",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "مجموعه"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "ذخیره شد.",
"saveFailed": "ذخیره نشد.",
"enableAria": "فعالسازی موتور OmniGlyph",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "سرویسهای تعبیهشده",
@@ -9538,17 +9504,7 @@
"updatedShort": "بهروزرسانی شد",
"lastRefreshed": "آخرین بهروزرسانی",
"providerQuota": "سهمیه ارائهدهنده",
- "providerQuotaHomeHint": "وضعیت لحظهای در حسابهای متصل",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "وضعیت لحظهای در حسابهای متصل"
},
"modals": {
"waitingAuth": "Waiting for Authorization",
diff --git a/src/i18n/messages/fi.json b/src/i18n/messages/fi.json
index e28bcc1a46..6b882ce670 100644
--- a/src/i18n/messages/fi.json
+++ b/src/i18n/messages/fi.json
@@ -3718,11 +3718,7 @@
"errorDescription": "Emme voi ladata yhdistelmädataa juuri nyt. Tarkista yhteytesi ja yritä uudelleen.",
"errorId": "Virhe ID: {id}",
"errorRetry": "Yritä uudelleen",
- "comboLabel": "Yhdistelmä",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "Yhdistelmä"
},
"costs": {
"title": "Kustannukset",
@@ -6220,8 +6216,7 @@
"kiro": "Free tier: 50 credits/month (~25K–100K tokens). ⚠️ Kiro ToS prohibits third-party proxy/harness use.",
"codex": "Yhdistä OpenAI Codex olemassa olevalla OAuth-työnkululla.",
"qwen": "Yhdistä Qwen Code olemassa olevalla OAuth-työnkululla.",
- "github-models": "Luo GitHub PAT -tunniste 'models: read' -käyttöoikeudella osoitteessa github.com/settings/tokens",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "Luo GitHub PAT -tunniste 'models: read' -käyttöoikeudella osoitteessa github.com/settings/tokens"
},
"passthroughModelsDescription": "{provider} hyväksyy palveluntarjoajan alkuperäiset mallitunnukset. Tuo /modelsista tai lisää mukautettuja tunnuksia reititystä varten.",
"bedrockModelsDescription": "Amazon Bedrock -mallit on luokiteltu AWS-alueen mukaan. Tuo osoitteesta /models tai lisää valitulla alueella käytössä olevat kallioperän mallitunnukset.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "Tiivis CJK (文言)",
"description": "Klassisen kiinan ultra-tiivis tyyli (saatavilla vain kiinaksi)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "Odota jäähdytystä",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "Terveys",
"cliproxyapiPort": "Portti",
"qdrantHost": "Isäntä",
- "qdrantCollection": "Kokoelma",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "Kokoelma"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "Tallennettu.",
"saveFailed": "Tallennus epäonnistui.",
"enableAria": "Ota OmniGlyph-moottori käyttöön",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "Upotetut palvelut",
@@ -9538,17 +9504,7 @@
"updatedShort": "Päivitetty",
"lastRefreshed": "Viimeksi päivitetty",
"providerQuota": "Tarjoajan kiintiö",
- "providerQuotaHomeHint": "Reaaliaikainen tila yhdistetyissä tileissä",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "Reaaliaikainen tila yhdistetyissä tileissä"
},
"modals": {
"waitingAuth": "Odotetaan valtuutusta",
diff --git a/src/i18n/messages/fr.json b/src/i18n/messages/fr.json
index 2472ed509b..84ffa972ec 100644
--- a/src/i18n/messages/fr.json
+++ b/src/i18n/messages/fr.json
@@ -3718,11 +3718,7 @@
"errorDescription": "Les données des combos ne peuvent pas être chargées pour le moment. Vérifiez votre connexion et réessayez.",
"errorId": "ID d'erreur : {id}",
"errorRetry": "Réessayer",
- "comboLabel": "Combo",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "Combo"
},
"costs": {
"title": "Coûts",
@@ -6220,8 +6216,7 @@
"kiro": "Offre gratuite : 50 crédits/mois (~25K–100K tokens). ⚠️ Les conditions d'utilisation de Kiro interdisent l'utilisation de proxys/harness tiers.",
"codex": "Connecter OpenAI Codex avec le flux OAuth existant.",
"qwen": "Connecter Qwen Code avec le flux OAuth existant.",
- "github-models": "Créez un PAT GitHub avec la portée 'models: read' sur github.com/settings/tokens",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "Créez un PAT GitHub avec la portée 'models: read' sur github.com/settings/tokens"
},
"passthroughModelsDescription": "{provider} accepte les ID de modèle natifs du fournisseur. Importez depuis /models ou ajoutez des ID personnalisés pour le routage.",
"bedrockModelsDescription": "Les modèles Amazon Bedrock sont définis par région AWS. Importez depuis /models ou ajoutez les ID de modèle Bedrock activés dans la région sélectionnée.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "CJK concis (文言)",
"description": "Style ultra-concis en chinois classique (disponible uniquement pour le chinois)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "Attendez le temps de recharge",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "Santé",
"cliproxyapiPort": "Port",
"qdrantHost": "Hôte",
- "qdrantCollection": "Collection",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "Collection"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "Enregistré.",
"saveFailed": "Impossible d'enregistrer.",
"enableAria": "Activer le moteur OmniGlyph",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "Services intégrés",
@@ -9538,17 +9504,7 @@
"updatedShort": "Mis à jour",
"lastRefreshed": "Dernière actualisation",
"providerQuota": "Quota du fournisseur",
- "providerQuotaHomeHint": "Statut en direct sur les comptes connectés",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "Statut en direct sur les comptes connectés"
},
"modals": {
"waitingAuth": "En attente d'autorisation",
diff --git a/src/i18n/messages/gu.json b/src/i18n/messages/gu.json
index 02d9fd52aa..eb23ac5ebd 100644
--- a/src/i18n/messages/gu.json
+++ b/src/i18n/messages/gu.json
@@ -3718,11 +3718,7 @@
"errorDescription": "અમે હાલમાં કોમ્બો ડેટા લોડ કરી શક્યા નથી. તમારી કનેક્શન તપાસો અને ફરી પ્રયાસ કરો.",
"errorId": "ભૂલ આઈડી: {id}",
"errorRetry": "ફરીથી પ્રયાસ કરો",
- "comboLabel": "કોમ્બો",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "કોમ્બો"
},
"costs": {
"title": "Costs",
@@ -6220,8 +6216,7 @@
"kiro": "મફત સ્તર: 50 ક્રેડિટ્સ/મહિનો (~25K–100K ટોકન્સ). ⚠️ Kiro ToS તૃતીય-પક્ષ પ્રોક્સી/હાર્નેસના ઉપયોગ પર પ્રતિબંધ મૂકે છે.",
"codex": "OpenAI Codex ને હાલના OAuth ફ્લો સાથે કનેક્ટ કરો.",
"qwen": "Qwen Code ને હાલના OAuth ફ્લો સાથે કનેક્ટ કરો.",
- "github-models": "github.com/settings/tokens પર 'models: read' સ્કોપ સાથે GitHub PAT બનાવો",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "github.com/settings/tokens પર 'models: read' સ્કોપ સાથે GitHub PAT બનાવો"
},
"passthroughModelsDescription": "{provider} પ્રદાતા-મૂળ મોડેલ ID સ્વીકારે છે. /મોડેલ્સમાંથી આયાત કરો અથવા રૂટીંગ માટે કસ્ટમ ID ઉમેરો.",
"bedrockModelsDescription": "એમેઝોન બેડરોક મોડલ્સ AWS પ્રદેશ દ્વારા સ્કોપ્ડ છે. /મોડેલ્સમાંથી આયાત કરો અથવા પસંદ કરેલ પ્રદેશમાં સક્ષમ કરેલ બેડરોક મોડેલ ID ઉમેરો.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "સંક્ષિપ્ત CJK (文言)",
"description": "ક્લાસિકલ-ચાઇનીઝ અલ્ટ્રા-સંક્ષિપ્ત શૈલી (ફક્ત ચાઇનીઝ માટે ઉપલબ્ધ)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "કૂલડાઉન માટે રાહ જુઓ",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "આરોગ્ય",
"cliproxyapiPort": "પોર્ટ",
"qdrantHost": "હોસ્ટ",
- "qdrantCollection": "સંગ્રહ",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "સંગ્રહ"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "સાચવ્યું.",
"saveFailed": "સાચવી શકાયું નથી.",
"enableAria": "OmniGlyph એન્જિન સક્ષમ કરો",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "એમ્બેડેડ સેવાઓ",
@@ -9538,17 +9504,7 @@
"updatedShort": "અપડેટ કરેલ",
"lastRefreshed": "છેલ્લે રિફ્રેશ કરેલ",
"providerQuota": "પ્રદાતા ક્વોટા",
- "providerQuotaHomeHint": "કનેક્ટેડ એકાઉન્ટ્સમાં લાઇવ સ્થિતિ",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "કનેક્ટેડ એકાઉન્ટ્સમાં લાઇવ સ્થિતિ"
},
"modals": {
"waitingAuth": "Waiting for Authorization",
diff --git a/src/i18n/messages/he.json b/src/i18n/messages/he.json
index 04844c0408..764e30527a 100644
--- a/src/i18n/messages/he.json
+++ b/src/i18n/messages/he.json
@@ -3718,11 +3718,7 @@
"errorDescription": "לא הצלחנו לטעון את נתוני הקומבו כרגע. בדוק את החיבור שלך ונסה שוב.",
"errorId": "שגיאת מזהה: {id}",
"errorRetry": "נסה שוב",
- "comboLabel": "קומבו",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "קומבו"
},
"costs": {
"title": "עלויות",
@@ -6220,8 +6216,7 @@
"kiro": "מסלול חינמי: 50 קרדיטים לחודש (~25K–100K טוקנים). ⚠️ תנאי השימוש של Kiro אוסרים על שימוש בפרוקסי/harness של צד שלישי.",
"codex": "חבר את OpenAI Codex באמצעות תהליך ה-OAuth הקיים.",
"qwen": "חבר את Qwen Code באמצעות תהליך ה-OAuth הקיים.",
- "github-models": "צור GitHub PAT עם הרשאת 'models: read' ב-github.com/settings/tokens",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "צור GitHub PAT עם הרשאת 'models: read' ב-github.com/settings/tokens"
},
"passthroughModelsDescription": "{provider} מקבל מזהי מודל מקוריים של ספק. ייבא מ /models או הוסף מזהים מותאמים אישית לניתוב.",
"bedrockModelsDescription": "הדגמים של Amazon Bedrock נמצאים לפי אזור AWS. ייבא מ-/models או הוסף מזהי דגמי Bedrock המופעלים באזור הנבחר.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "CJK תמציתי (文言)",
"description": "סגנון סיני קלאסי אולטרה-תמציתי (זמין עבור סינית בלבד)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "המתן ל-Cooldown",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "בריאות",
"cliproxyapiPort": "פורט",
"qdrantHost": "מארח",
- "qdrantCollection": "אוסף",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "אוסף"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "נשמר.",
"saveFailed": "לא ניתן היה לשמור.",
"enableAria": "הפעל את מנוע OmniGlyph",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "שירותים מובנים",
@@ -9538,17 +9504,7 @@
"updatedShort": "עודכן",
"lastRefreshed": "רענון אחרון",
"providerQuota": "מכסת ספק",
- "providerQuotaHomeHint": "סטטוס בזמן אמת בכל החשבונות המחוברים",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "סטטוס בזמן אמת בכל החשבונות המחוברים"
},
"modals": {
"waitingAuth": "ממתין לאישור",
diff --git a/src/i18n/messages/hi.json b/src/i18n/messages/hi.json
index 9cc3db2fa0..6591311189 100644
--- a/src/i18n/messages/hi.json
+++ b/src/i18n/messages/hi.json
@@ -3718,11 +3718,7 @@
"errorDescription": "हम अभी कॉम्बो डेटा लोड नहीं कर सके। कृपया अपनी कनेक्शन की जांच करें और फिर से प्रयास करें।",
"errorId": "त्रुटि आईडी: {id}",
"errorRetry": "फिर से प्रयास करें",
- "comboLabel": "कॉम्बो",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "कॉम्बो"
},
"costs": {
"title": "लागत",
@@ -6220,8 +6216,7 @@
"kiro": "फ्री टियर: 50 क्रेडिट/महीना (~25K–100K टोकन)। ⚠️ Kiro ToS तृतीय-पक्ष प्रॉक्सी/हार्नेस के उपयोग को प्रतिबंधित करता है।",
"codex": "OpenAI Codex को मौजूदा OAuth फ़्लो से कनेक्ट करें।",
"qwen": "Qwen Code को मौजूदा OAuth फ़्लो से कनेक्ट करें।",
- "github-models": "github.com/settings/tokens पर 'models: read' स्कोप के साथ एक GitHub PAT बनाएं",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "github.com/settings/tokens पर 'models: read' स्कोप के साथ एक GitHub PAT बनाएं"
},
"passthroughModelsDescription": "{provider} प्रदाता-मूल मॉडल आईडी स्वीकार करता है। /मॉडल से आयात करें या रूटिंग के लिए कस्टम आईडी जोड़ें।",
"bedrockModelsDescription": "अमेज़ॅन बेडरॉक मॉडल का दायरा AWS क्षेत्र द्वारा तय किया गया है। /मॉडल से आयात करें या चयनित क्षेत्र में सक्षम बेडरॉक मॉडल आईडी जोड़ें।",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "संक्षिप्त CJK (文言)",
"description": "शास्त्रीय-चीनी अति-संक्षिप्त शैली (केवल चीनी भाषा के लिए उपलब्ध)।"
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "ठंडा होने की प्रतीक्षा करें",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "स्वास्थ्य",
"cliproxyapiPort": "पोर्ट",
"qdrantHost": "होस्ट",
- "qdrantCollection": "संग्रह",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "संग्रह"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "सहेजा गया।",
"saveFailed": "सहेजा नहीं जा सका।",
"enableAria": "OmniGlyph इंजन सक्षम करें",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "एम्बेडेड सेवाएँ",
@@ -9538,17 +9504,7 @@
"updatedShort": "अपडेट किया गया",
"lastRefreshed": "अंतिम बार रीफ़्रेश किया गया",
"providerQuota": "प्रदाता कोटा",
- "providerQuotaHomeHint": "कनेक्टेड खातों में लाइव स्थिति",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "कनेक्टेड खातों में लाइव स्थिति"
},
"modals": {
"waitingAuth": "प्राधिकरण की प्रतीक्षा की जा रही है",
diff --git a/src/i18n/messages/hu.json b/src/i18n/messages/hu.json
index cfe296c07f..e5ccd837b3 100644
--- a/src/i18n/messages/hu.json
+++ b/src/i18n/messages/hu.json
@@ -3718,11 +3718,7 @@
"errorDescription": "Jelenleg nem tudtuk betölteni a kombinált adatokat. Ellenőrizze a kapcsolatát, és próbálja újra.",
"errorId": "Hibaazonosító: {id}",
"errorRetry": "Próbáld újra",
- "comboLabel": "Kombó",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "Kombó"
},
"costs": {
"title": "Költségek",
@@ -6220,8 +6216,7 @@
"kiro": "Free tier: 50 credits/month (~25K–100K tokens). ⚠️ Kiro ToS prohibits third-party proxy/harness use.",
"codex": "Connect OpenAI Codex with the existing OAuth flow.",
"qwen": "Connect Qwen Code with the existing OAuth flow.",
- "github-models": "Hozzon létre egy GitHub PAT-ot 'models: read' hatókörrel a github.com/settings/tokens oldalon",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "Hozzon létre egy GitHub PAT-ot 'models: read' hatókörrel a github.com/settings/tokens oldalon"
},
"passthroughModelsDescription": "Az {provider} elfogadja a szolgáltató natív modellazonosítóit. Importáljon a /models-ból, vagy adjon hozzá egyéni azonosítókat az útválasztáshoz.",
"bedrockModelsDescription": "Az Amazon Bedrock modellek hatóköre az AWS régió szerint történik. Importáljon a /models mappából, vagy adja hozzá a kiválasztott régióban engedélyezett Bedrock modellazonosítókat.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "Tömör CJK (文言)",
"description": "Klasszikus kínai ultratömör stílus (csak kínai nyelven érhető el)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "Várja meg a lehűlést",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "Egészség",
"cliproxyapiPort": "Port",
"qdrantHost": "Gazda",
- "qdrantCollection": "Gyűjtemény",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "Gyűjtemény"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "Mentve.",
"saveFailed": "Nem sikerült menteni.",
"enableAria": "Az OmniGlyph motor engedélyezése",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "Beágyazott szolgáltatások",
@@ -9538,17 +9504,7 @@
"updatedShort": "Frissítve",
"lastRefreshed": "Legutóbb frissítve",
"providerQuota": "Szolgáltatói kvóta",
- "providerQuotaHomeHint": "Élő állapot a csatlakoztatott fiókokban",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "Élő állapot a csatlakoztatott fiókokban"
},
"modals": {
"waitingAuth": "Várakozás az engedélyezésre",
diff --git a/src/i18n/messages/id.json b/src/i18n/messages/id.json
index d7b86daef1..352daafd83 100644
--- a/src/i18n/messages/id.json
+++ b/src/i18n/messages/id.json
@@ -3718,11 +3718,7 @@
"errorDescription": "Kami tidak dapat memuat data kombinasi saat ini. Periksa koneksi Anda dan coba lagi.",
"errorId": "Error ID: {id}",
"errorRetry": "Coba Lagi",
- "comboLabel": "Combo",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "Combo"
},
"costs": {
"title": "Biaya",
@@ -6220,8 +6216,7 @@
"kiro": "Tingkat gratis: 50 kredit/bulan (~25K–100K token). ⚠️ ToS Kiro melarang penggunaan proksi/harness pihak ketiga.",
"codex": "Hubungkan OpenAI Codex dengan alur OAuth yang ada.",
"qwen": "Hubungkan Qwen Code dengan alur OAuth yang ada.",
- "github-models": "Buat GitHub PAT dengan cakupan 'models: read' di github.com/settings/tokens",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "Buat GitHub PAT dengan cakupan 'models: read' di github.com/settings/tokens"
},
"passthroughModelsDescription": "{provider} menerima ID model asli penyedia. Impor dari /models atau tambahkan ID khusus untuk perutean.",
"bedrockModelsDescription": "Model Amazon Bedrock dicakup berdasarkan wilayah AWS. Impor dari /models atau tambahkan ID model Batuan Dasar yang diaktifkan di wilayah yang dipilih.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "CJK Ringkas (文言)",
"description": "Gaya ultra-ringkas Tionghoa Klasik (hanya tersedia untuk bahasa Tionghoa)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "Tunggu Cooldown",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "Kesehatan",
"cliproxyapiPort": "Port",
"qdrantHost": "Host",
- "qdrantCollection": "Koleksi",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "Koleksi"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "Disimpan.",
"saveFailed": "Tidak dapat menyimpan.",
"enableAria": "Aktifkan mesin OmniGlyph",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "Layanan Tersemat",
@@ -9538,17 +9504,7 @@
"updatedShort": "Diperbarui",
"lastRefreshed": "Terakhir disegarkan",
"providerQuota": "Kuota Penyedia",
- "providerQuotaHomeHint": "Status langsung di seluruh akun yang terhubung",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "Status langsung di seluruh akun yang terhubung"
},
"modals": {
"waitingAuth": "Menunggu Otorisasi",
diff --git a/src/i18n/messages/in.json b/src/i18n/messages/in.json
index bca7339449..19f45ac1ca 100644
--- a/src/i18n/messages/in.json
+++ b/src/i18n/messages/in.json
@@ -3718,11 +3718,7 @@
"errorDescription": "Kami tidak dapat memuat data kombinasi saat ini. Periksa koneksi Anda dan coba lagi.",
"errorId": "ID Kesalahan: {id}",
"errorRetry": "Coba Lagi",
- "comboLabel": "Kombinasi",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "Kombinasi"
},
"costs": {
"title": "Costs",
@@ -6220,8 +6216,7 @@
"kiro": "Tingkat gratis: 50 kredit/bulan (~25K–100K token). ⚠️ Kiro ToS melarang penggunaan proksi/harness pihak ketiga.",
"codex": "Hubungkan OpenAI Codex dengan alur OAuth yang ada.",
"qwen": "Hubungkan Qwen Code dengan alur OAuth yang ada.",
- "github-models": "Buat PAT GitHub dengan cakupan 'models: read' di github.com/settings/tokens",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "Buat PAT GitHub dengan cakupan 'models: read' di github.com/settings/tokens"
},
"passthroughModelsDescription": "{provider} menerima ID model asli penyedia. Impor dari /models atau tambahkan ID khusus untuk perutean.",
"bedrockModelsDescription": "Model Amazon Bedrock dicakup berdasarkan wilayah AWS. Impor dari /models atau tambahkan ID model Batuan Dasar yang diaktifkan di wilayah yang dipilih.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "CJK Ringkas (文言)",
"description": "Gaya ultra-ringkas Tionghoa Klasik (hanya tersedia untuk bahasa Tionghoa)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "Tunggu Cooldown",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "Kesehatan",
"cliproxyapiPort": "Port",
"qdrantHost": "Tuan Rumah",
- "qdrantCollection": "Koleksi",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "Koleksi"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "Tersimpan.",
"saveFailed": "Tidak dapat menyimpan.",
"enableAria": "Aktifkan mesin OmniGlyph",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "Layanan Tertanam",
@@ -9538,17 +9504,7 @@
"updatedShort": "Diperbarui",
"lastRefreshed": "Terakhir disegarkan",
"providerQuota": "Kuota Penyedia",
- "providerQuotaHomeHint": "Status langsung di seluruh akun yang terhubung",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "Status langsung di seluruh akun yang terhubung"
},
"modals": {
"waitingAuth": "Waiting for Authorization",
diff --git a/src/i18n/messages/it.json b/src/i18n/messages/it.json
index cfdc5c16b7..7332c3206b 100644
--- a/src/i18n/messages/it.json
+++ b/src/i18n/messages/it.json
@@ -3718,11 +3718,7 @@
"errorDescription": "Non siamo riusciti a caricare i dati del combo in questo momento. Controlla la tua connessione e riprova.",
"errorId": "ID Errore: {id}",
"errorRetry": "Riprova",
- "comboLabel": "Combo",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "Combo"
},
"costs": {
"title": "Costi",
@@ -6220,8 +6216,7 @@
"kiro": "Piano gratuito: 50 crediti/mese (~25K–100K token). ⚠️ I ToS di Kiro vietano l'uso di proxy/harness di terze parti.",
"codex": "Connetti OpenAI Codex al flusso OAuth esistente.",
"qwen": "Connetti Qwen Code al flusso OAuth esistente.",
- "github-models": "Crea un PAT di GitHub con ambito 'models: read' su github.com/settings/tokens",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "Crea un PAT di GitHub con ambito 'models: read' su github.com/settings/tokens"
},
"passthroughModelsDescription": "{provider} accetta ID modello nativi del provider. Importa da /modelli o aggiungi ID personalizzati per il routing.",
"bedrockModelsDescription": "I modelli Amazon Bedrock hanno come ambito la regione AWS. Importa da /models o aggiungi gli ID modello Bedrock abilitati nella regione selezionata.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "CJK conciso (文言)",
"description": "Stile ultra-conciso in cinese classico (disponibile solo per il cinese)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "Attendi il raffreddamento",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "Salute",
"cliproxyapiPort": "Porta",
"qdrantHost": "Host",
- "qdrantCollection": "Collezione",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "Collezione"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "Salvato.",
"saveFailed": "Impossibile salvare.",
"enableAria": "Abilita il motore OmniGlyph",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "Servizi integrati",
@@ -9538,17 +9504,7 @@
"updatedShort": "Aggiornato",
"lastRefreshed": "Ultimo aggiornamento",
"providerQuota": "Quota del provider",
- "providerQuotaHomeHint": "Stato in tempo reale tra gli account connessi",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "Stato in tempo reale tra gli account connessi"
},
"modals": {
"waitingAuth": "In attesa di autorizzazione",
diff --git a/src/i18n/messages/ja.json b/src/i18n/messages/ja.json
index 7b86be7adb..a8c37c9eec 100644
--- a/src/i18n/messages/ja.json
+++ b/src/i18n/messages/ja.json
@@ -3718,11 +3718,7 @@
"errorDescription": "現在、コンボデータを読み込むことができません。接続を確認して、再試行してください。",
"errorId": "エラー ID: {id}",
"errorRetry": "もう一度試してください",
- "comboLabel": "コンボ",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "コンボ"
},
"costs": {
"title": "コスト",
@@ -6220,8 +6216,7 @@
"kiro": "無料枠: 50クレジット/月(約25K〜100Kトークン)。⚠️ Kiroの利用規約(ToS)は、サードパーティのプロキシやハーネスの使用を禁止しています。",
"codex": "既存のOAuthフローを使用してOpenAI Codexに接続します。",
"qwen": "既存のOAuthフローを使用してQwen Codeに接続します。",
- "github-models": "github.com/settings/tokens で 'models: read' スコープを持つGitHub PATを作成",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "github.com/settings/tokens で 'models: read' スコープを持つGitHub PATを作成"
},
"passthroughModelsDescription": "{provider} は、プロバイダーネイティブのモデル ID を受け入れます。 /models からインポートするか、ルーティング用のカスタム ID を追加します。",
"bedrockModelsDescription": "Amazon Bedrock モデルは、AWS リージョンによって範囲が定められています。 /models からインポートするか、選択したリージョンで有効になっている Bedrock モデル ID を追加します。",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "簡潔なCJK (文言)",
"description": "漢文の超簡潔スタイル (中国語でのみ利用可能)。"
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "クールダウンを待ちます",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "健康",
"cliproxyapiPort": "ポート",
"qdrantHost": "ホスト",
- "qdrantCollection": "コレクション",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "コレクション"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "保存されました。",
"saveFailed": "保存できませんでした。",
"enableAria": "OmniGlyphエンジンを有効にする",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "組み込みサービス",
@@ -9538,17 +9504,7 @@
"updatedShort": "更新済み",
"lastRefreshed": "最終更新",
"providerQuota": "プロバイダークォータ",
- "providerQuotaHomeHint": "接続されたアカウント全体のライブステータス",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "接続されたアカウント全体のライブステータス"
},
"modals": {
"waitingAuth": "承認を待っています",
diff --git a/src/i18n/messages/ko.json b/src/i18n/messages/ko.json
index fc210ab0f7..a003916a18 100644
--- a/src/i18n/messages/ko.json
+++ b/src/i18n/messages/ko.json
@@ -3718,11 +3718,7 @@
"errorDescription": "현재 콤보 데이터를 불러올 수 없습니다. 연결을 확인하고 다시 시도하세요.",
"errorId": "오류 ID: {id}",
"errorRetry": "다시 시도해 주세요",
- "comboLabel": "콤보",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "콤보"
},
"costs": {
"title": "비용",
@@ -6220,8 +6216,7 @@
"kiro": "무료 티어: 월 50 크레딧(~25K–100K 토큰). ⚠️ Kiro ToS는 서드파티 프록시/하네스 사용을 금지합니다.",
"codex": "기존 OAuth 흐름으로 OpenAI Codex를 연결합니다.",
"qwen": "기존 OAuth 흐름으로 Qwen Code를 연결합니다.",
- "github-models": "github.com/settings/tokens 에서 'models: read' 범위(scope)를 가진 GitHub PAT를 생성하세요.",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "github.com/settings/tokens 에서 'models: read' 범위(scope)를 가진 GitHub PAT를 생성하세요."
},
"passthroughModelsDescription": "{provider}은 공급자 기본 모델 ID를 허용합니다. /models에서 가져오거나 라우팅을 위한 사용자 정의 ID를 추가하세요.",
"bedrockModelsDescription": "Amazon Bedrock 모델은 AWS 지역별로 범위가 지정됩니다. /models에서 가져오거나 선택한 지역에서 활성화된 Bedrock 모델 ID를 추가하세요.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "간결한 CJK (文言)",
"description": "한문 초간결 스타일 (중국어만 지원)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "쿨다운 대기",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "건강",
"cliproxyapiPort": "포트",
"qdrantHost": "호스트",
- "qdrantCollection": "컬렉션",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "컬렉션"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "저장되었습니다.",
"saveFailed": "저장할 수 없습니다.",
"enableAria": "OmniGlyph 엔진 활성화",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "임베디드 서비스",
@@ -9538,17 +9504,7 @@
"updatedShort": "업데이트됨",
"lastRefreshed": "마지막 새로고침",
"providerQuota": "제공자 할당량",
- "providerQuotaHomeHint": "연결된 계정의 실시간 상태",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "연결된 계정의 실시간 상태"
},
"modals": {
"waitingAuth": "승인을 기다리는 중",
diff --git a/src/i18n/messages/mr.json b/src/i18n/messages/mr.json
index 63c9b916ae..d7d3d22e29 100644
--- a/src/i18n/messages/mr.json
+++ b/src/i18n/messages/mr.json
@@ -3718,11 +3718,7 @@
"errorDescription": "आम्ही सध्या कॉम्बो डेटा लोड करू शकत नाही. तुमचा कनेक्शन तपासा आणि पुन्हा प्रयत्न करा.",
"errorId": "त्रुटी आयडी: {id}",
"errorRetry": "पुन्हा प्रयत्न करा",
- "comboLabel": "कॉम्बो",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "कॉम्बो"
},
"costs": {
"title": "Costs",
@@ -6220,8 +6216,7 @@
"kiro": "मोफत स्तर: 50 क्रेडिट्स/महिना (~25K–100K टोकन्स). ⚠️ Kiro ToS तृतीय-पक्ष प्रॉक्सी/हार्नेसच्या वापरावर बंदी घालते.",
"codex": "सध्याच्या OAuth फ्लोसह OpenAI Codex कनेक्ट करा.",
"qwen": "सध्याच्या OAuth फ्लोसह Qwen Code कनेक्ट करा.",
- "github-models": "github.com/settings/tokens वर 'models: read' स्कोपसह GitHub PAT तयार करा",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "github.com/settings/tokens वर 'models: read' स्कोपसह GitHub PAT तयार करा"
},
"passthroughModelsDescription": "{provider} प्रदाता-नेटिव्ह मॉडेल आयडी स्वीकारते. /मॉडेलमधून आयात करा किंवा राउटिंगसाठी सानुकूल आयडी जोडा.",
"bedrockModelsDescription": "Amazon बेडरॉक मॉडेल्स AWS क्षेत्राद्वारे व्यापलेले आहेत. /मॉडेल्समधून आयात करा किंवा निवडलेल्या प्रदेशात सक्षम केलेले बेडरॉक मॉडेल आयडी जोडा.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "संक्षिप्त CJK (文言)",
"description": "अभिजात-चिनी अति-संक्षिप्त शैली (केवळ चिनी भाषेसाठी उपलब्ध)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "कूलडाउनची प्रतीक्षा करा",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "आरोग्य",
"cliproxyapiPort": "पोर्ट",
"qdrantHost": "होस्ट",
- "qdrantCollection": "संग्रह",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "संग्रह"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "जतन केले.",
"saveFailed": "जतन करता आले नाही.",
"enableAria": "OmniGlyph इंजिन सक्षम करा",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "एम्बेडेड सेवा",
@@ -9538,17 +9504,7 @@
"updatedShort": "अपडेट केले",
"lastRefreshed": "शेवटचे रिफ्रेश केलेले",
"providerQuota": "प्रदाता कोटा",
- "providerQuotaHomeHint": "कनेक्ट केलेल्या खात्यांमधील थेट स्थिती",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "कनेक्ट केलेल्या खात्यांमधील थेट स्थिती"
},
"modals": {
"waitingAuth": "Waiting for Authorization",
diff --git a/src/i18n/messages/ms.json b/src/i18n/messages/ms.json
index b3799330b3..3f7482ff8f 100644
--- a/src/i18n/messages/ms.json
+++ b/src/i18n/messages/ms.json
@@ -3718,11 +3718,7 @@
"errorDescription": "Kami tidak dapat memuatkan data combo buat masa ini. Semak sambungan anda dan cuba lagi.",
"errorId": "Ralat ID: {id}",
"errorRetry": "Cuba Lagi",
- "comboLabel": "Gabungan",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "Gabungan"
},
"costs": {
"title": "Kos",
@@ -6220,8 +6216,7 @@
"kiro": "Peringkat percuma: 50 kredit/bulan (~25K–100K token). ⚠️ ToS Kiro melarang penggunaan proksi/harness pihak ketiga.",
"codex": "Sambungkan OpenAI Codex dengan aliran OAuth sedia ada.",
"qwen": "Sambungkan Qwen Code dengan aliran OAuth sedia ada.",
- "github-models": "Cipta PAT GitHub dengan skop 'models: read' di github.com/settings/tokens",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "Cipta PAT GitHub dengan skop 'models: read' di github.com/settings/tokens"
},
"passthroughModelsDescription": "{provider} menerima ID model asli pembekal. Import daripada /models atau tambahkan ID tersuai untuk penghalaan.",
"bedrockModelsDescription": "Model Amazon Bedrock diliputi oleh rantau AWS. Import daripada /models atau tambah ID model Bedrock yang didayakan di rantau yang dipilih.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "CJK Ringkas (文言)",
"description": "Gaya ultra-ringkas Bahasa Cina Klasik (hanya tersedia untuk bahasa Cina)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "Tunggu Cooldown",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "Kesihatan",
"cliproxyapiPort": "Pelabuhan",
"qdrantHost": "Hos",
- "qdrantCollection": "Koleksi",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "Koleksi"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "Disimpan.",
"saveFailed": "Tidak dapat menyimpan.",
"enableAria": "Dayakan enjin OmniGlyph",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "Perkhidmatan Terbenam",
@@ -9538,17 +9504,7 @@
"updatedShort": "Dikemas kini",
"lastRefreshed": "Terakhir disegarkan",
"providerQuota": "Kuota Penyedia",
- "providerQuotaHomeHint": "Status langsung merentas akaun yang disambungkan",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "Status langsung merentas akaun yang disambungkan"
},
"modals": {
"waitingAuth": "Menunggu Keizinan",
diff --git a/src/i18n/messages/nl.json b/src/i18n/messages/nl.json
index 2e967c5645..5355f29c17 100644
--- a/src/i18n/messages/nl.json
+++ b/src/i18n/messages/nl.json
@@ -3718,11 +3718,7 @@
"errorDescription": "We konden de combogegevens op dit moment niet laden. Controleer je verbinding en probeer het opnieuw.",
"errorId": "Fout-ID: {id}",
"errorRetry": "Probeer het opnieuw",
- "comboLabel": "Combo",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "Combo"
},
"costs": {
"title": "Kosten",
@@ -6220,8 +6216,7 @@
"kiro": "Gratis tier: 50 credits/maand (~25K–100K tokens). ⚠️ Kiro ToS verbiedt het gebruik van externe proxy/harness.",
"codex": "Verbind OpenAI Codex met de bestaande OAuth-flow.",
"qwen": "Verbind Qwen Code met de bestaande OAuth-flow.",
- "github-models": "Maak een GitHub PAT aan met de scope 'models: read' op github.com/settings/tokens",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "Maak een GitHub PAT aan met de scope 'models: read' op github.com/settings/tokens"
},
"passthroughModelsDescription": "{provider} accepteert provider-native model-ID's. Importeer uit /models of voeg aangepaste ID's toe voor routering.",
"bedrockModelsDescription": "Amazon Bedrock-modellen zijn afgestemd op de AWS-regio. Importeer uit /models of voeg Bedrock-model-ID's toe die zijn ingeschakeld in de geselecteerde regio.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "Beknopt CJK (文言)",
"description": "Klassiek-Chinese ultra-beknopte stijl (alleen beschikbaar voor Chinees)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "Wacht op afkoelen",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "Gezondheid",
"cliproxyapiPort": "Haven",
"qdrantHost": "Host",
- "qdrantCollection": "Verzameling",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "Verzameling"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "Opgeslagen.",
"saveFailed": "Opslaan mislukt.",
"enableAria": "Schakel de OmniGlyph-engine in",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "Ingebedde services",
@@ -9538,17 +9504,7 @@
"updatedShort": "Bijgewerkt",
"lastRefreshed": "Laatst vernieuwd",
"providerQuota": "Providerquota",
- "providerQuotaHomeHint": "Live status over verbonden accounts",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "Live status over verbonden accounts"
},
"modals": {
"waitingAuth": "Wachten op toestemming",
diff --git a/src/i18n/messages/no.json b/src/i18n/messages/no.json
index 10b36bfe4a..77a2074b7e 100644
--- a/src/i18n/messages/no.json
+++ b/src/i18n/messages/no.json
@@ -3718,11 +3718,7 @@
"errorDescription": "Vi kunne ikke laste inn kombinasjonsdata akkurat nå. Sjekk tilkoblingen din og prøv igjen.",
"errorId": "Feil-ID: {id}",
"errorRetry": "Prøv igjen",
- "comboLabel": "Kombinasjon",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "Kombinasjon"
},
"costs": {
"title": "Kostnader",
@@ -6220,8 +6216,7 @@
"kiro": "Gratisnivå: 50 kreditter/måned (~25K–100K tokens). ⚠️ Kiros brukervilkår forbyr bruk av tredjeparts proxy/harness.",
"codex": "Koble til OpenAI Codex med den eksisterende OAuth-flyten.",
"qwen": "Koble til Qwen Code med den eksisterende OAuth-flyten.",
- "github-models": "Opprett et GitHub PAT med 'models: read'-omfang på github.com/settings/tokens",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "Opprett et GitHub PAT med 'models: read'-omfang på github.com/settings/tokens"
},
"passthroughModelsDescription": "{provider} godtar leverandør-native modell-ID-er. Importer fra /models eller legg til egendefinerte ID-er for ruting.",
"bedrockModelsDescription": "Amazon Bedrock-modeller er omfattet av AWS-regionen. Importer fra /models eller legg til berggrunnsmodell-IDer aktivert i den valgte regionen.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "Kortfattet CJK (文言)",
"description": "Klassisk-kinesisk ultrakortfattet stil (kun tilgjengelig for kinesisk)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "Vent på nedkjøling",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "Helse",
"cliproxyapiPort": "Port",
"qdrantHost": "Vert",
- "qdrantCollection": "Samling",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "Samling"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "Lagret.",
"saveFailed": "Kunne ikke lagre.",
"enableAria": "Aktiver OmniGlyph-motoren",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "Innebygde tjenester",
@@ -9538,17 +9504,7 @@
"updatedShort": "Oppdatert",
"lastRefreshed": "Sist oppdatert",
"providerQuota": "Leverandørkvote",
- "providerQuotaHomeHint": "Sanntidsstatus på tvers av tilkoblede kontoer",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "Sanntidsstatus på tvers av tilkoblede kontoer"
},
"modals": {
"waitingAuth": "Venter på autorisasjon",
diff --git a/src/i18n/messages/phi.json b/src/i18n/messages/phi.json
index 09b239e750..cfe0a6e006 100644
--- a/src/i18n/messages/phi.json
+++ b/src/i18n/messages/phi.json
@@ -3718,11 +3718,7 @@
"errorDescription": "Hindi namin ma-load ang combo data sa ngayon. Suriin ang iyong koneksyon at subukan muli.",
"errorId": "Error ID: {id}",
"errorRetry": "Subukan Muli",
- "comboLabel": "Kumbinasyon",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "Kumbinasyon"
},
"costs": {
"title": "Mga gastos",
@@ -6220,8 +6216,7 @@
"kiro": "Libreng tier: 50 credits/buwan (~25K–100K tokens). ⚠️ Ipinagbabawal ng Kiro ToS ang paggamit ng third-party proxy/harness.",
"codex": "Ikonekta ang OpenAI Codex gamit ang umiiral na OAuth flow.",
"qwen": "Ikonekta ang Qwen Code gamit ang umiiral na OAuth flow.",
- "github-models": "Gumawa ng GitHub PAT na may 'models: read' na scope sa github.com/settings/tokens",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "Gumawa ng GitHub PAT na may 'models: read' na scope sa github.com/settings/tokens"
},
"passthroughModelsDescription": "Tumatanggap ang {provider} ng mga provider-native na model ID. Mag-import mula sa /models o magdagdag ng mga custom na ID para sa pagruruta.",
"bedrockModelsDescription": "Ang mga modelo ng Amazon Bedrock ay saklaw ng rehiyon ng AWS. Mag-import mula sa /models o magdagdag ng mga Bedrock model ID na pinagana sa napiling rehiyon.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "Maikling CJK (文言)",
"description": "Klasikong Tsino na ultra-maikling estilo (magagamit lamang para sa Tsino)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "Maghintay para sa Cooldown",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "Kalusugan",
"cliproxyapiPort": "Port",
"qdrantHost": "Host",
- "qdrantCollection": "Koleksyon",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "Koleksyon"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "Nai-save.",
"saveFailed": "Hindi mai-save.",
"enableAria": "I-enable ang OmniGlyph engine",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "Mga Naka-embed na Serbisyo",
@@ -9538,17 +9504,7 @@
"updatedShort": "Na-update",
"lastRefreshed": "Huling na-refresh",
"providerQuota": "Quota ng Provider",
- "providerQuotaHomeHint": "Live na status sa lahat ng nakakonektang account",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "Live na status sa lahat ng nakakonektang account"
},
"modals": {
"waitingAuth": "Naghihintay ng Awtorisasyon",
diff --git a/src/i18n/messages/pl.json b/src/i18n/messages/pl.json
index 30a734c1dd..04590ea8ad 100644
--- a/src/i18n/messages/pl.json
+++ b/src/i18n/messages/pl.json
@@ -3718,11 +3718,7 @@
"errorDescription": "Nie mogliśmy teraz załadować danych combo. Sprawdź swoje połączenie i spróbuj ponownie.",
"errorId": "Identyfikator błędu: {id}",
"errorRetry": "Spróbuj ponownie",
- "comboLabel": "Kombinacja",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "Kombinacja"
},
"costs": {
"title": "Koszty",
@@ -6220,8 +6216,7 @@
"kiro": "Darmowy plan: 50 kredytów/miesiąc (~25K–100K tokenów). ⚠️ ToS Kiro zabrania korzystania z zewnętrznych proxy/harness.",
"codex": "Połącz OpenAI Codex za pomocą istniejącego przepływu OAuth.",
"qwen": "Połącz Qwen Code za pomocą istniejącego przepływu OAuth.",
- "github-models": "Utwórz token GitHub PAT z zakresem 'models: read' na github.com/settings/tokens",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "Utwórz token GitHub PAT z zakresem 'models: read' na github.com/settings/tokens"
},
"passthroughModelsDescription": "{provider} akceptuje natywne ID models dla provider. Zaimportuj z /models lub dodaj własne ID do routing.",
"bedrockModelsDescription": "Models Amazon Bedrock są ograniczone do regionu AWS. Zaimportuj z /models lub dodaj Bedrock ID models włączone w wybranym regionie.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "Zwięzłe CJK (文言)",
"description": "Klasyczny chiński styl ultra-zwięzły (dostępny tylko dla języka chińskiego)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "Czekaj na cooldown",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "Zdrowie",
"cliproxyapiPort": "Port",
"qdrantHost": "Host",
- "qdrantCollection": "Kolekcja",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "Kolekcja"
},
"contextRtk": {
"title": "Silnik RTK",
@@ -8637,28 +8624,7 @@
"saved": "Zapisano.",
"saveFailed": "Nie można zapisać.",
"enableAria": "Włącz silnik OmniGlyph",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "Usługi wbudowane",
@@ -9538,17 +9504,7 @@
"updatedShort": "Zaktualizowano",
"lastRefreshed": "Ostatnio odświeżono",
"providerQuota": "Provider Quota",
- "providerQuotaHomeHint": "Status na żywo na połączonych kontach",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "Status na żywo na połączonych kontach"
},
"modals": {
"waitingAuth": "Oczekiwanie na autoryzację",
diff --git a/src/i18n/messages/pt-BR.json b/src/i18n/messages/pt-BR.json
index 00cdc772d9..a4f8a5f3cf 100644
--- a/src/i18n/messages/pt-BR.json
+++ b/src/i18n/messages/pt-BR.json
@@ -3718,11 +3718,7 @@
"errorDescription": "Não conseguimos carregar os dados do combo no momento. Verifique sua conexão e tente novamente.",
"errorId": "ID de Erro: {id}",
"errorRetry": "Tente Novamente",
- "comboLabel": "Combo",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "Combo"
},
"costs": {
"title": "Custos",
@@ -6220,8 +6216,7 @@
"kiro": "Nível gratuito: 50 créditos/mês (~25K–100K tokens). ⚠️ Os Termos de Serviço do Kiro proíbem o uso de proxy/harness de terceiros.",
"codex": "Conecte o OpenAI Codex com o fluxo OAuth existente.",
"qwen": "Conecte o Qwen Code com o fluxo OAuth existente.",
- "github-models": "Crie um PAT do GitHub com o escopo 'models: read' em github.com/settings/tokens",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "Crie um PAT do GitHub com o escopo 'models: read' em github.com/settings/tokens"
},
"passthroughModelsDescription": "{provider} aceita IDs de modelo nativos do provedor. Importe de /models ou adicione IDs personalizados para roteamento.",
"bedrockModelsDescription": "Os modelos Amazon Bedrock têm escopo definido por região da AWS. Importe de /models ou adicione IDs de modelo Bedrock habilitados na região selecionada.",
@@ -7215,7 +7210,6 @@
"configured": "configurado",
"none": "Nenhum",
"modelOverrideValuePlaceholder": "Valor numérico",
- "modelOverrideReasoningEffortsPlaceholder": "Lista em inglês separada por vírgulas, ex. low, medium, high",
"addKeyValue": "Adicionar valor da chave",
"noModelOverrides": "Nenhuma substituição configurada para este modelo.",
"modelOverrideLoadFailed": "Falha ao carregar substituições de modelo",
@@ -7790,10 +7784,6 @@
"terse-cjk": {
"label": "CJK conciso (文言)",
"description": "Estilo ultra-conciso em chinês clássico (disponível apenas para chinês)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "Aguarde o resfriamento",
@@ -8226,11 +8216,7 @@
"cliproxyapiHealth": "Saúde",
"cliproxyapiPort": "Porta",
"qdrantHost": "Host",
- "qdrantCollection": "Coleção",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "Coleção"
},
"contextRtk": {
"title": "Motor RTK",
diff --git a/src/i18n/messages/pt.json b/src/i18n/messages/pt.json
index cb45bacae5..9935bfe7ef 100644
--- a/src/i18n/messages/pt.json
+++ b/src/i18n/messages/pt.json
@@ -3718,11 +3718,7 @@
"errorDescription": "Não conseguimos carregar os dados do combo neste momento. Verifique a sua ligação e tente novamente.",
"errorId": "ID de Erro: {id}",
"errorRetry": "Tente Novamente",
- "comboLabel": "Combo",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "Combo"
},
"costs": {
"title": "Custos",
@@ -6220,8 +6216,7 @@
"kiro": "Nível gratuito: 50 créditos/mês (~25K–100K tokens). ⚠️ Os ToS do Kiro proíbem a utilização de proxy/harness de terceiros.",
"codex": "Ligar o OpenAI Codex com o fluxo OAuth existente.",
"qwen": "Ligar o Qwen Code com o fluxo OAuth existente.",
- "github-models": "Crie um PAT do GitHub com o âmbito 'models: read' em github.com/settings/tokens",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "Crie um PAT do GitHub com o âmbito 'models: read' em github.com/settings/tokens"
},
"passthroughModelsDescription": "{provider} aceita IDs de modelo nativos do provedor. Importe de /models ou adicione IDs personalizados para roteamento.",
"bedrockModelsDescription": "Os modelos Amazon Bedrock têm escopo definido por região da AWS. Importe de /models ou adicione IDs de modelo Bedrock habilitados na região selecionada.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "CJK conciso (文言)",
"description": "Estilo ultraconciso em chinês clássico (disponível apenas para chinês)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "Aguarde o resfriamento",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "Saúde",
"cliproxyapiPort": "Porto",
"qdrantHost": "Anfitrião",
- "qdrantCollection": "Coleção",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "Coleção"
},
"contextRtk": {
"title": "Motor RTK",
@@ -8637,28 +8624,7 @@
"saved": "Guardado.",
"saveFailed": "Não foi possível guardar.",
"enableAria": "Ativar o motor OmniGlyph",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "Serviços Incorporados",
@@ -9538,17 +9504,7 @@
"updatedShort": "Atualizado",
"lastRefreshed": "Última atualização",
"providerQuota": "Quota do fornecedor",
- "providerQuotaHomeHint": "Estado em tempo real em todas as contas associadas",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "Estado em tempo real em todas as contas associadas"
},
"modals": {
"waitingAuth": "Aguardando autorização",
diff --git a/src/i18n/messages/ro.json b/src/i18n/messages/ro.json
index 11f9dcdb85..cec84fa369 100644
--- a/src/i18n/messages/ro.json
+++ b/src/i18n/messages/ro.json
@@ -3718,11 +3718,7 @@
"errorDescription": "Nu am putut încărca datele combo în acest moment. Verifică-ți conexiunea și încearcă din nou.",
"errorId": "ID eroare: {id}",
"errorRetry": "Încearcă din nou",
- "comboLabel": "Combo",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "Combo"
},
"costs": {
"title": "Costuri",
@@ -6220,8 +6216,7 @@
"kiro": "Nivel gratuit: 50 de credite/lună (~25K–100K tokenuri). ⚠️ Kiro ToS interzice utilizarea de proxy/harness terțe.",
"codex": "Conectați OpenAI Codex cu fluxul OAuth existent.",
"qwen": "Conectați Qwen Code cu fluxul OAuth existent.",
- "github-models": "Creați un GitHub PAT cu scope-ul 'models: read' la github.com/settings/tokens",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "Creați un GitHub PAT cu scope-ul 'models: read' la github.com/settings/tokens"
},
"passthroughModelsDescription": "{provider} acceptă ID-uri de model native ale furnizorului. Importați din /modele sau adăugați ID-uri personalizate pentru rutare.",
"bedrockModelsDescription": "Modelele Amazon Bedrock sunt acoperite de regiunea AWS. Importați din /modele sau adăugați ID-uri de model Bedrock activate în regiunea selectată.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "CJK concis (文言)",
"description": "Stil ultra-concis în chineza clasică (disponibil doar pentru chineză)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "Așteptați răcirea",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "Sănătate",
"cliproxyapiPort": "Port",
"qdrantHost": "Gazdă",
- "qdrantCollection": "Colecție",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "Colecție"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "Salvat.",
"saveFailed": "Nu s-a putut salva.",
"enableAria": "Activează motorul OmniGlyph",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "Servicii integrate",
@@ -9538,17 +9504,7 @@
"updatedShort": "Actualizat",
"lastRefreshed": "Ultima reîmprospătare",
"providerQuota": "Cotă furnizor",
- "providerQuotaHomeHint": "Stare în timp real pentru conturile conectate",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "Stare în timp real pentru conturile conectate"
},
"modals": {
"waitingAuth": "În așteptarea autorizației",
diff --git a/src/i18n/messages/ru.json b/src/i18n/messages/ru.json
index 108c4ce690..ba9a4e812e 100644
--- a/src/i18n/messages/ru.json
+++ b/src/i18n/messages/ru.json
@@ -3718,11 +3718,7 @@
"errorDescription": "Мы не смогли загрузить данные комбо в данный момент. Проверьте ваше соединение и попробуйте снова.",
"errorId": "Идентификатор ошибки: {id}",
"errorRetry": "Попробуйте снова",
- "comboLabel": "Комбо",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "Комбо"
},
"costs": {
"title": "Затраты",
@@ -6220,8 +6216,7 @@
"kiro": "Бесплатный тариф: 50 кредитов/месяц (~25K–100K токенов). ⚠️ Условия использования Kiro запрещают использование сторонних прокси/оболочек.",
"codex": "Подключите OpenAI Codex с помощью существующего процесса OAuth.",
"qwen": "Подключите Qwen Code с помощью существующего процесса OAuth.",
- "github-models": "Создайте GitHub PAT с областью доступа 'models: read' на github.com/settings/tokens",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "Создайте GitHub PAT с областью доступа 'models: read' на github.com/settings/tokens"
},
"passthroughModelsDescription": "{provider} принимает собственные идентификаторы моделей поставщика. Импортируйте из /models или добавляйте собственные идентификаторы для маршрутизации.",
"bedrockModelsDescription": "Модели Amazon Bedrock охватываются регионом AWS. Импортируйте из /models или добавьте идентификаторы моделей Bedrock, включенные в выбранном регионе.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "Краткий CJK (文言)",
"description": "Ультракраткий классический китайский стиль (доступно только для китайского языка)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "Подождите перезарядки",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "Здоровье",
"cliproxyapiPort": "Порт",
"qdrantHost": "Хост",
- "qdrantCollection": "Коллекция",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "Коллекция"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "Сохранено.",
"saveFailed": "Не удалось сохранить.",
"enableAria": "Включить движок OmniGlyph",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "Встроенные службы",
@@ -9538,17 +9504,7 @@
"updatedShort": "Обновлено",
"lastRefreshed": "Последнее обновление",
"providerQuota": "Квота Провайдера",
- "providerQuotaHomeHint": "Живой статус по подключенным аккаунтам",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "Живой статус по подключенным аккаунтам"
},
"modals": {
"waitingAuth": "Ожидание авторизации",
diff --git a/src/i18n/messages/sk.json b/src/i18n/messages/sk.json
index 2b1f8c38c8..fbd89bef06 100644
--- a/src/i18n/messages/sk.json
+++ b/src/i18n/messages/sk.json
@@ -3718,11 +3718,7 @@
"errorDescription": "Momentálne sa nám nepodarilo načítať údaje kombinácie. Skontrolujte svoje pripojenie a skúste to znova.",
"errorId": "Chyba ID: {id}",
"errorRetry": "Skúste znova",
- "comboLabel": "Kombinácia",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "Kombinácia"
},
"costs": {
"title": "náklady",
@@ -6220,8 +6216,7 @@
"kiro": "Bezplatná úroveň: 50 kreditov/mesiac (~25k – 100k tokenov). ⚠️ Podmienky používania (ToS) Kiro zakazujú používanie proxy/harness tretích strán.",
"codex": "Pripojte OpenAI Codex pomocou existujúceho toku OAuth.",
"qwen": "Pripojte Qwen Code pomocou existujúceho toku OAuth.",
- "github-models": "Vytvorte si GitHub PAT s rozsahom 'models: read' na adrese github.com/settings/tokens",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "Vytvorte si GitHub PAT s rozsahom 'models: read' na adrese github.com/settings/tokens"
},
"passthroughModelsDescription": "{provider} akceptuje ID modelu natívneho poskytovateľa. Importujte z /models alebo pridajte vlastné ID pre smerovanie.",
"bedrockModelsDescription": "Modely Amazon Bedrock sú vymedzené podľa regiónu AWS. Importovať z /models alebo pridať ID modelu Bedrock povolené vo vybranom regióne.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "Stručné CJK (文言)",
"description": "Klasický čínsky ultra stručný štýl (dostupný len pre čínštinu)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "Počkajte na Cooldown",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "Zdravie",
"cliproxyapiPort": "Port",
"qdrantHost": "Host",
- "qdrantCollection": "Zbierka",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "Zbierka"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "Uložené.",
"saveFailed": "Nepodarilo sa uložiť.",
"enableAria": "Povoliť engine OmniGlyph",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "Vstavané služby",
@@ -9538,17 +9504,7 @@
"updatedShort": "Aktualizované",
"lastRefreshed": "Naposledy obnovené",
"providerQuota": "Kvóta poskytovateľa",
- "providerQuotaHomeHint": "Aktuálny stav naprieč pripojenými účtami",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "Aktuálny stav naprieč pripojenými účtami"
},
"modals": {
"waitingAuth": "Čaká sa na autorizáciu",
diff --git a/src/i18n/messages/sv.json b/src/i18n/messages/sv.json
index 0aa1969eda..75b165386a 100644
--- a/src/i18n/messages/sv.json
+++ b/src/i18n/messages/sv.json
@@ -3718,11 +3718,7 @@
"errorDescription": "Vi kunde inte ladda combo-data just nu. Kontrollera din anslutning och försök igen.",
"errorId": "Fel-ID: {id}",
"errorRetry": "Försök igen",
- "comboLabel": "Kombination",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "Kombination"
},
"costs": {
"title": "Kostnader",
@@ -6220,8 +6216,7 @@
"kiro": "Gratisnivå: 50 krediter/månad (~25K–100K tokens). ⚠️ Kiros användarvillkor förbjuder användning av tredjepartsproxy/harness.",
"codex": "Anslut OpenAI Codex med det befintliga OAuth-flödet.",
"qwen": "Anslut Qwen Code med det befintliga OAuth-flödet.",
- "github-models": "Skapa en GitHub PAT med omfånget 'models: read' på github.com/settings/tokens",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "Skapa en GitHub PAT med omfånget 'models: read' på github.com/settings/tokens"
},
"passthroughModelsDescription": "{provider} accepterar leverantörsbaserade modell-ID:n. Importera från /models eller lägg till anpassade ID:n för routing.",
"bedrockModelsDescription": "Amazon Bedrock-modeller omfattas av AWS-regionen. Importera från /models eller lägg till Bedrock-modell-ID:n aktiverade i den valda regionen.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "Kortfattad CJK (文言)",
"description": "Klassisk kinesisk ultrakortfattad stil (endast tillgänglig för kinesiska)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "Vänta på nedkylning",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "Hälsa",
"cliproxyapiPort": "Port",
"qdrantHost": "Värd",
- "qdrantCollection": "Samling",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "Samling"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "Sparat.",
"saveFailed": "Kunde inte spara.",
"enableAria": "Aktivera OmniGlyph-motorn",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "Inbäddade tjänster",
@@ -9538,17 +9504,7 @@
"updatedShort": "Uppdaterad",
"lastRefreshed": "Senast uppdaterad",
"providerQuota": "Leverantörskvot",
- "providerQuotaHomeHint": "Livestatus för anslutna konton",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "Livestatus för anslutna konton"
},
"modals": {
"waitingAuth": "Väntar på auktorisering",
diff --git a/src/i18n/messages/sw.json b/src/i18n/messages/sw.json
index 77ae0f4373..15f8f0e290 100644
--- a/src/i18n/messages/sw.json
+++ b/src/i18n/messages/sw.json
@@ -3718,11 +3718,7 @@
"errorDescription": "Hatuwezi kupakia data ya combo kwa sasa. Angalia muunganisho wako na ujaribu tena.",
"errorId": "Kosa ID: {id}",
"errorRetry": "Jaribu Tena",
- "comboLabel": "Combo",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "Combo"
},
"costs": {
"title": "Costs",
@@ -6220,8 +6216,7 @@
"kiro": "Kiwango cha bure: mikopo 50/mwezi (~tokeni 25K–100K). ⚠️ Kiro ToS inakataza matumizi ya proksi/harness ya wahusika wengine.",
"codex": "Unganisha OpenAI Codex na mtiririko uliopo wa OAuth.",
"qwen": "Unganisha Qwen Code na mtiririko uliopo wa OAuth.",
- "github-models": "Unda PAT ya GitHub yenye upeo wa 'models: read' kwenye github.com/settings/tokens",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "Unda PAT ya GitHub yenye upeo wa 'models: read' kwenye github.com/settings/tokens"
},
"passthroughModelsDescription": "{provider} inakubali vitambulisho vya asili vya mtoa huduma. Ingiza kutoka /miundo au ongeza vitambulisho maalum vya kuelekeza.",
"bedrockModelsDescription": "Mitindo ya Amazon Bedrock inatolewa na eneo la AWS. Ingiza kutoka /miundo au ongeza vitambulisho vya muundo wa Bedrock vilivyowezeshwa katika eneo lililochaguliwa.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "CJK Fupi (文言)",
"description": "Mtindo mfupi zaidi wa Kichina cha Kale (inapatikana kwa Kichina pekee)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "Subiri hadi Kupunguza joto",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "Afya",
"cliproxyapiPort": "Bandari",
"qdrantHost": "Mwenyeji",
- "qdrantCollection": "Mkusanyiko",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "Mkusanyiko"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "Imehifadhiwa.",
"saveFailed": "Imeshindwa kuhifadhi.",
"enableAria": "Wezesha injini ya OmniGlyph",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "Huduma Zilizopachikwa",
@@ -9538,17 +9504,7 @@
"updatedShort": "Imesasishwa",
"lastRefreshed": "Ilihuishwa mara ya mwisho",
"providerQuota": "Kiwango cha Mtoa Huduma",
- "providerQuotaHomeHint": "Hali ya moja kwa moja kwenye akaunti zilizounganishwa",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "Hali ya moja kwa moja kwenye akaunti zilizounganishwa"
},
"modals": {
"waitingAuth": "Waiting for Authorization",
diff --git a/src/i18n/messages/ta.json b/src/i18n/messages/ta.json
index d944a2e6e4..d9bb96f0f4 100644
--- a/src/i18n/messages/ta.json
+++ b/src/i18n/messages/ta.json
@@ -3718,11 +3718,7 @@
"errorDescription": "நாங்கள் தற்போது கம்போ தரவுகளை ஏற்ற முடியவில்லை. உங்கள் இணைப்பை சரிபார்க்கவும் மற்றும் மீண்டும் முயற்சிக்கவும்.",
"errorId": "பிழை அடையாளம்: {id}",
"errorRetry": "மீண்டும் முயற்சி செய்",
- "comboLabel": "கொம்போ",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "கொம்போ"
},
"costs": {
"title": "Costs",
@@ -6220,8 +6216,7 @@
"kiro": "இலவச அடுக்கு: 50 கிரெடிட்கள்/மாதம் (~25K–100K டோக்கன்கள்). ⚠️ Kiro ToS மூன்றாம் தரப்பு proxy/harness பயன்பாட்டைத் தடைசெய்கிறது.",
"codex": "தற்போதுள்ள OAuth செயல்முறையுடன் OpenAI Codex-ஐ இணைக்கவும்.",
"qwen": "தற்போதுள்ள OAuth செயல்முறையுடன் Qwen Code-ஐ இணைக்கவும்.",
- "github-models": "github.com/settings/tokens இல் 'models: read' வரம்புடன் ஒரு GitHub PAT ஐ உருவாக்கவும்",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "github.com/settings/tokens இல் 'models: read' வரம்புடன் ஒரு GitHub PAT ஐ உருவாக்கவும்"
},
"passthroughModelsDescription": "{provider} வழங்குநரின் சொந்த மாதிரி ஐடிகளை ஏற்றுக்கொள்கிறது. /மாடல்களில் இருந்து இறக்குமதி செய்யவும் அல்லது ரூட்டிங் செய்ய தனிப்பயன் ஐடிகளைச் சேர்க்கவும்.",
"bedrockModelsDescription": "அமேசான் பெட்ராக் மாதிரிகள் AWS பிராந்தியத்தால் ஸ்கோப் செய்யப்படுகின்றன. /மாடல்களில் இருந்து இறக்குமதி செய்யவும் அல்லது தேர்ந்தெடுக்கப்பட்ட பகுதியில் செயல்படுத்தப்பட்ட பெட்ராக் மாடல் ஐடிகளைச் சேர்க்கவும்.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "சுருக்கமான CJK (文言)",
"description": "செம்மொழி-சீன மிகச் சுருக்கமான நடை (சீன மொழிக்கு மட்டுமே கிடைக்கும்)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "கூல்டவுனுக்காக காத்திருங்கள்",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "ஆரோக்கியம்",
"cliproxyapiPort": "போர்ட்",
"qdrantHost": "விருந்தினர்",
- "qdrantCollection": "கலெக்ஷன்",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "கலெக்ஷன்"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "சேமிக்கப்பட்டது.",
"saveFailed": "சேமிக்க முடியவில்லை.",
"enableAria": "OmniGlyph இயந்திரத்தை இயக்கு",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "உட்பொதிக்கப்பட்ட சேவைகள்",
@@ -9538,17 +9504,7 @@
"updatedShort": "புதுப்பிக்கப்பட்டது",
"lastRefreshed": "கடைசியாகப் புதுப்பிக்கப்பட்டது",
"providerQuota": "வழங்குநர் ஒதுக்கீடு",
- "providerQuotaHomeHint": "இணைக்கப்பட்ட கணக்குகளின் நேரலை நிலை",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "இணைக்கப்பட்ட கணக்குகளின் நேரலை நிலை"
},
"modals": {
"waitingAuth": "Waiting for Authorization",
diff --git a/src/i18n/messages/te.json b/src/i18n/messages/te.json
index ac7538ee06..65aa08d437 100644
--- a/src/i18n/messages/te.json
+++ b/src/i18n/messages/te.json
@@ -3718,11 +3718,7 @@
"errorDescription": "మేము ప్రస్తుతం కాంబో డేటాను లోడ్ చేయలేకపోయాము. మీ కనెక్షన్ను తనిఖీ చేసి మళ్లీ ప్రయత్నించండి.",
"errorId": "లోపం ID: {id}",
"errorRetry": "మరలా ప్రయత్నించండి",
- "comboLabel": "కాంబో",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "కాంబో"
},
"costs": {
"title": "Costs",
@@ -6220,8 +6216,7 @@
"kiro": "ఉచిత శ్రేణి: 50 క్రెడిట్లు/నెల (~25K–100K టోకెన్లు). ⚠️ Kiro ToS థర్డ్-పార్టీ ప్రాక్సీ/హార్నెస్ వినియోగాన్ని నిషేధిస్తుంది.",
"codex": "ప్రస్తుత OAuth flowతో OpenAI Codexని కనెక్ట్ చేయండి.",
"qwen": "ప్రస్తుత OAuth flowతో Qwen Codeని కనెక్ట్ చేయండి.",
- "github-models": "github.com/settings/tokens వద్ద 'models: read' స్కోప్తో GitHub PATని సృష్టించండి",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "github.com/settings/tokens వద్ద 'models: read' స్కోప్తో GitHub PATని సృష్టించండి"
},
"passthroughModelsDescription": "{provider} ప్రొవైడర్-స్థానిక మోడల్ IDలను అంగీకరిస్తుంది. /మోడల్స్ నుండి దిగుమతి చేయండి లేదా రూటింగ్ కోసం అనుకూల IDలను జోడించండి.",
"bedrockModelsDescription": "అమెజాన్ బెడ్రాక్ మోడల్లు AWS ప్రాంతం ద్వారా స్కోప్ చేయబడ్డాయి. /మోడల్స్ నుండి దిగుమతి చేయండి లేదా ఎంచుకున్న ప్రాంతంలో ప్రారంభించబడిన బెడ్రాక్ మోడల్ IDలను జోడించండి.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "సంక్షిప్త CJK (文言)",
"description": "క్లాసికల్-చైనీస్ అల్ట్రా-సంక్షిప్త శైలి (చైనీస్ కోసం మాత్రమే అందుబాటులో ఉంది)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "కూల్డౌన్ కోసం వేచి ఉండండి",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "ఆరోగ్యం",
"cliproxyapiPort": "పోర్ట్",
"qdrantHost": "హోస్ట్",
- "qdrantCollection": "సేకరణ",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "సేకరణ"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "సేవ్ చేయబడింది.",
"saveFailed": "సేవ్ చేయడం సాధ్యపడలేదు.",
"enableAria": "OmniGlyph ఇంజిన్ను ఎనేబుల్ చేయండి",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "ఎంబెడెడ్ సేవలు",
@@ -9538,17 +9504,7 @@
"updatedShort": "అప్డేట్ చేయబడింది",
"lastRefreshed": "చివరిగా రిఫ్రెష్ చేయబడింది",
"providerQuota": "ప్రొవైడర్ కోటా",
- "providerQuotaHomeHint": "కనెక్ట్ చేయబడిన ఖాతాల ప్రత్యక్ష స్థితి",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "కనెక్ట్ చేయబడిన ఖాతాల ప్రత్యక్ష స్థితి"
},
"modals": {
"waitingAuth": "Waiting for Authorization",
diff --git a/src/i18n/messages/th.json b/src/i18n/messages/th.json
index c7bc2b9524..ed1e5d4063 100644
--- a/src/i18n/messages/th.json
+++ b/src/i18n/messages/th.json
@@ -3718,11 +3718,7 @@
"errorDescription": "ไม่สามารถโหลดข้อมูลคอมโบได้ในขณะนี้ กรุณาตรวจสอบการเชื่อมต่อของคุณและลองอีกครั้ง.",
"errorId": "รหัสข้อผิดพลาด: {id}",
"errorRetry": "ลองอีกครั้ง",
- "comboLabel": "คอมโบ",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "คอมโบ"
},
"costs": {
"title": "ค่าใช้จ่าย",
@@ -6220,8 +6216,7 @@
"kiro": "ระดับฟรี: 50 เครดิต/เดือน (~25K–100K โทเค็น) ⚠️ ToS ของ Kiro ห้ามใช้พร็อกซี/harness ของบุคคลที่สาม",
"codex": "เชื่อมต่อ OpenAI Codex ด้วยโฟลว์ OAuth ที่มีอยู่",
"qwen": "เชื่อมต่อ Qwen Code ด้วยโฟลว์ OAuth ที่มีอยู่",
- "github-models": "สร้าง GitHub PAT ที่มีขอบเขต 'models: read' ที่ github.com/settings/tokens",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "สร้าง GitHub PAT ที่มีขอบเขต 'models: read' ที่ github.com/settings/tokens"
},
"passthroughModelsDescription": "{provider} ยอมรับ ID โมเดลดั้งเดิมของผู้ให้บริการ นำเข้าจาก /models หรือเพิ่ม ID ที่กำหนดเองสำหรับการกำหนดเส้นทาง",
"bedrockModelsDescription": "โมเดล Amazon Bedrock มีการกำหนดขอบเขตตามภูมิภาค AWS นำเข้าจาก /models หรือเพิ่มรหัสรุ่น Bedrock ที่เปิดใช้งานในภูมิภาคที่เลือก",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "CJK แบบกระชับ (文言)",
"description": "สไตล์ภาษาจีนคลาสสิกแบบกระชับอย่างยิ่ง (ใช้ได้เฉพาะภาษาจีนเท่านั้น)"
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "รอคูลดาวน์",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "สุขภาพ",
"cliproxyapiPort": "พอร์ต",
"qdrantHost": "โฮสต์",
- "qdrantCollection": "การรวบรวม",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "การรวบรวม"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "บันทึกแล้ว",
"saveFailed": "ไม่สามารถบันทึกได้",
"enableAria": "เปิดใช้งานเอนจิน OmniGlyph",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "บริการแบบฝัง",
@@ -9538,17 +9504,7 @@
"updatedShort": "อัปเดตแล้ว",
"lastRefreshed": "รีเฟรชล่าสุดเมื่อ",
"providerQuota": "โควตาผู้ให้บริการ",
- "providerQuotaHomeHint": "สถานะแบบเรียลไทม์ของบัญชีที่เชื่อมต่อทั้งหมด",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "สถานะแบบเรียลไทม์ของบัญชีที่เชื่อมต่อทั้งหมด"
},
"modals": {
"waitingAuth": "รอการอนุญาต",
diff --git a/src/i18n/messages/tr.json b/src/i18n/messages/tr.json
index 96ff186627..5ef5816345 100644
--- a/src/i18n/messages/tr.json
+++ b/src/i18n/messages/tr.json
@@ -3718,11 +3718,7 @@
"errorDescription": "Şu anda kombinasyon verilerini yükleyemedik. Bağlantınızı kontrol edin ve tekrar deneyin.",
"errorId": "Hata Kimliği: {id}",
"errorRetry": "Tekrar Dene",
- "comboLabel": "Kombinasyon",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "Kombinasyon"
},
"costs": {
"title": "Maliyetler",
@@ -6220,8 +6216,7 @@
"kiro": "Free tier: 50 credits/month (~25K–100K tokens). ⚠️ Kiro ToS prohibits third-party proxy/harness use.",
"codex": "Mevcut OAuth akışı ile OpenAI Codex'i bağlayın.",
"qwen": "Mevcut OAuth akışı ile Qwen Code'u bağlayın.",
- "github-models": "github.com/settings/tokens adresinde 'models: read' kapsamına sahip bir GitHub PAT oluşturun",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "github.com/settings/tokens adresinde 'models: read' kapsamına sahip bir GitHub PAT oluşturun"
},
"passthroughModelsDescription": "{provider} sağlayıcıya özgü model kimliklerini kabul eder. /models'den içe aktarın veya yönlendirme için özel kimlikler ekleyin.",
"bedrockModelsDescription": "Amazon Bedrock modelleri AWS bölgesi kapsamındadır. /models'den içe aktarın veya seçilen bölgede etkin olan Bedrock model kimliklerini ekleyin.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "Kısa ve öz CJK (文言)",
"description": "Klasik Çince ultra kısa ve öz stil (yalnızca Çince için kullanılabilir)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "Bekleme Süresini Bekleyin",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "Sağlık",
"cliproxyapiPort": "Port",
"qdrantHost": "Ana Bilgisayar",
- "qdrantCollection": "Koleksiyon",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "Koleksiyon"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "Kaydedildi.",
"saveFailed": "Kaydedilemedi.",
"enableAria": "OmniGlyph motorunu etkinleştir",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "Gömülü Servisler",
@@ -9538,17 +9504,7 @@
"updatedShort": "Güncellendi",
"lastRefreshed": "Son yenileme",
"providerQuota": "Sağlayıcı Kotası",
- "providerQuotaHomeHint": "Bağlı hesaplar genelinde canlı durum",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "Bağlı hesaplar genelinde canlı durum"
},
"modals": {
"waitingAuth": "Yetkilendirme bekleniyor",
diff --git a/src/i18n/messages/uk-UA.json b/src/i18n/messages/uk-UA.json
index 2194b88f3d..9fe5efbd52 100644
--- a/src/i18n/messages/uk-UA.json
+++ b/src/i18n/messages/uk-UA.json
@@ -3718,11 +3718,7 @@
"errorDescription": "Ми не змогли завантажити дані комбо прямо зараз. Перевірте своє з'єднання та спробуйте ще раз.",
"errorId": "Ідентифікатор помилки: {id}",
"errorRetry": "Спробуйте ще раз",
- "comboLabel": "Комбо",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "Комбо"
},
"costs": {
"title": "Витрати",
@@ -6220,8 +6216,7 @@
"kiro": "Free tier: 50 credits/month (~25K–100K tokens). ⚠️ Kiro ToS prohibits third-party proxy/harness use.",
"codex": "Connect OpenAI Codex with the existing OAuth flow.",
"qwen": "Connect Qwen Code with the existing OAuth flow.",
- "github-models": "Створіть GitHub PAT з областю видимості 'models: read' на github.com/settings/tokens",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "Створіть GitHub PAT з областю видимості 'models: read' на github.com/settings/tokens"
},
"passthroughModelsDescription": "{provider} приймає власні ідентифікатори моделі постачальника. Імпортуйте з /models або додайте власні ідентифікатори для маршрутизації.",
"bedrockModelsDescription": "Моделі Amazon Bedrock залежать від регіону AWS. Імпортуйте з /models або додайте ідентифікатори моделі Bedrock, активовані у вибраному регіоні.",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "Стисла CJK (文言)",
"description": "Класичний китайський ультрастислий стиль (доступно тільки для китайської)."
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "Дочекайтеся перезарядки",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "Здоров'я",
"cliproxyapiPort": "Порт",
"qdrantHost": "Хост",
- "qdrantCollection": "Колекція",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "Колекція"
},
"contextRtk": {
"title": "Двигун RTK",
@@ -8637,28 +8624,7 @@
"saved": "Збережено.",
"saveFailed": "Не вдалося зберегти.",
"enableAria": "Увімкнути рушій OmniGlyph",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "Вбудовані служби",
@@ -9538,17 +9504,7 @@
"updatedShort": "Оновлено",
"lastRefreshed": "Останнє оновлення",
"providerQuota": "Квота провайдера",
- "providerQuotaHomeHint": "Стан у реальному часі за підключеними акаунтами",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "Стан у реальному часі за підключеними акаунтами"
},
"modals": {
"waitingAuth": "Очікування авторизації",
diff --git a/src/i18n/messages/ur.json b/src/i18n/messages/ur.json
index 2fab849e16..22deb83299 100644
--- a/src/i18n/messages/ur.json
+++ b/src/i18n/messages/ur.json
@@ -3718,11 +3718,7 @@
"errorDescription": "ہم اس وقت کومبو ڈیٹا لوڈ نہیں کر سکے۔ اپنی کنکشن چیک کریں اور دوبارہ کوشش کریں۔",
"errorId": "خرابی کی شناخت: {id}",
"errorRetry": "پھر کوشش کریں",
- "comboLabel": "کمبو",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "کمبو"
},
"costs": {
"title": "Costs",
@@ -6220,8 +6216,7 @@
"kiro": "مفت پلان: 50 کریڈٹس/مہینہ (~25K–100K ٹوکنز)۔ ⚠️ Kiro ToS فریقِ ثالث کے پراکسی/ہارنس کے استعمال سے منع کرتا ہے۔",
"codex": "OpenAI Codex کو موجودہ OAuth فلو سے منسلک کریں۔",
"qwen": "Qwen Code کو موجودہ OAuth فلو سے منسلک کریں۔",
- "github-models": "github.com/settings/tokens پر 'models: read' اسکوپ کے ساتھ ایک GitHub PAT بنائیں",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "github.com/settings/tokens پر 'models: read' اسکوپ کے ساتھ ایک GitHub PAT بنائیں"
},
"passthroughModelsDescription": "{provider} فراہم کنندہ کے مقامی ماڈل IDs کو قبول کرتا ہے۔ /ماڈلز سے درآمد کریں یا روٹنگ کے لیے حسب ضرورت IDs شامل کریں۔",
"bedrockModelsDescription": "ایمیزون بیڈرک ماڈلز کا دائرہ AWS ریجن کے ذریعہ کیا گیا ہے۔ /ماڈلز سے درآمد کریں یا منتخب علاقے میں فعال کردہ Bedrock ماڈل IDs شامل کریں۔",
@@ -7789,10 +7784,6 @@
"terse-cjk": {
"label": "مختصر CJK (文言)",
"description": "کلاسیکی چینی انتہائی مختصر انداز (صرف چینی زبان کے لیے دستیاب ہے)۔"
- },
- "i-have-adhd": {
- "label": "I have ADHD (action-first)",
- "description": "Action-first output: next action leads, steps numbered, one concrete next step, no preamble."
}
},
"resilienceWaitForCooldown": "کولڈاؤن کا انتظار کریں۔",
@@ -8225,11 +8216,7 @@
"cliproxyapiHealth": "صحت",
"cliproxyapiPort": "پورٹ",
"qdrantHost": "میزبان",
- "qdrantCollection": "اجتماع",
- "reasoningTokenBuffer": "Reasoning token buffer",
- "reasoningTokenBufferDesc": "Allow combo routing to add max_tokens headroom only for known reasoning models when the full buffer fits inside a known output cap.",
- "zeroLatencyOptimizations": "Zero-latency optimizations",
- "zeroLatencyOptimizationsDesc": "Opt in to hedging, predictive TTFT skips, and proactive fallback compression. Leave off to prevent these latency features from racing targets or compressing fallback requests."
+ "qdrantCollection": "اجتماع"
},
"contextRtk": {
"title": "RTK Engine",
@@ -8637,28 +8624,7 @@
"saved": "محفوظ ہو گیا۔",
"saveFailed": "محفوظ نہیں ہو سکا۔",
"enableAria": "OmniGlyph انجن فعال کریں",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "ایمبیڈڈ سروسز",
@@ -9538,17 +9504,7 @@
"updatedShort": "اپ ڈیٹ شدہ",
"lastRefreshed": "آخری بار ریفریش کیا گیا",
"providerQuota": "فراہم کنندہ کا کوٹہ",
- "providerQuotaHomeHint": "منسلک اکاؤنٹس میں لائیو اسٹیٹس",
- "kimiExtraUsageCredits": "Extra Usage Credits",
- "kimiExtraUsage": "Extra Usage",
- "kimiExtraUsageEnabled": "Enabled",
- "kimiExtraUsageDisabled": "Disabled",
- "kimiExtraUsageFrozen": "Frozen",
- "kimiExtraUsageUnavailable": "Unavailable",
- "kimiMonthlyUsed": "Used this month",
- "kimiMonthlyLimit": "Monthly limit",
- "kimiMonthlyLimitUnlimited": "Unlimited",
- "kimiAdditionalCredits": "Additional Credits"
+ "providerQuotaHomeHint": "منسلک اکاؤنٹس میں لائیو اسٹیٹس"
},
"modals": {
"waitingAuth": "Waiting for Authorization",
diff --git a/src/i18n/messages/vi.json b/src/i18n/messages/vi.json
index 3953260e5c..eb1cb41b6e 100644
--- a/src/i18n/messages/vi.json
+++ b/src/i18n/messages/vi.json
@@ -3718,11 +3718,7 @@
"errorDescription": "Hiện không thể tải dữ liệu combo. Hãy kiểm tra kết nối rồi thử lại.",
"errorId": "ID lỗi: {id}",
"errorRetry": "Thử lại",
- "comboLabel": "Combo",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "Combo"
},
"costs": {
"title": "Chi phí",
@@ -6220,8 +6216,7 @@
"kiro": "Gói miễn phí: 50 tín dụng/tháng (khoảng 25–100 nghìn token). ⚠️ Điều khoản Kiro cấm sử dụng proxy/harness của bên thứ ba.",
"codex": "Kết nối OpenAI Codex bằng luồng OAuth hiện có.",
"qwen": "Kết nối Qwen Code bằng luồng OAuth hiện có.",
- "github-models": "Tạo GitHub PAT với phạm vi 'models: read' tại github.com/settings/tokens",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "Tạo GitHub PAT với phạm vi 'models: read' tại github.com/settings/tokens"
},
"passthroughModelsDescription": "{provider} chấp nhận ID mô hình gốc của nhà cung cấp. Nhập từ /models hoặc thêm ID tùy chỉnh để định tuyến.",
"bedrockModelsDescription": "Các mô hình Amazon Bedrock được giới hạn theo vùng AWS. Nhập từ /models hoặc thêm ID mô hình Bedrock được bật trong vùng đã chọn.",
diff --git a/src/i18n/messages/zh-CN.json b/src/i18n/messages/zh-CN.json
index 1c58b63e59..31d1a87e10 100644
--- a/src/i18n/messages/zh-CN.json
+++ b/src/i18n/messages/zh-CN.json
@@ -3718,11 +3718,7 @@
"errorDescription": "我们现在无法加载组合数据。请检查您的连接并重试。",
"errorId": "错误 ID: {id}",
"errorRetry": "再试一次",
- "comboLabel": "组合",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "组合"
},
"costs": {
"title": "成本",
@@ -6231,8 +6227,7 @@
"kiro": "免费层:50 积分/月(约 25K–100K 令牌)。⚠️ Kiro 服务条款禁止使用第三方代理/测试框架。",
"codex": "使用现有的 OAuth 流程连接 OpenAI Codex。",
"qwen": "使用现有的 OAuth 流程连接 Qwen Code。",
- "github-models": "在 github.com/settings/tokens 创建具有 'models: read' 作用域的 GitHub PAT",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "在 github.com/settings/tokens 创建具有 'models: read' 作用域的 GitHub PAT"
},
"passthroughModelsDescription": "{provider} 接受供应商本机模型 ID。从 /models 导入或添加用于路由的自定义 ID。",
"bedrockModelsDescription": "Amazon Bedrock 模型的范围按 AWS 区域划分。从 /models 导入或添加在所选区域中启用的基岩模型 ID。",
@@ -8637,28 +8632,7 @@
"saved": "已保存。",
"saveFailed": "无法保存。",
"enableAria": "启用 OmniGlyph 引擎",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "嵌入式服务",
diff --git a/src/i18n/messages/zh-TW.json b/src/i18n/messages/zh-TW.json
index ddec1a0f6e..6bc5f1954d 100644
--- a/src/i18n/messages/zh-TW.json
+++ b/src/i18n/messages/zh-TW.json
@@ -3718,11 +3718,7 @@
"errorDescription": "目前無法加載組合數據。請檢查您的連接並重試。",
"errorId": "錯誤 ID: {id}",
"errorRetry": "再試一次",
- "comboLabel": "組合",
- "usageGuideInvokeTitle": "How to call this combo",
- "usageGuideInvokeDesc": "Send the combo's exact name as the model, e.g. model: \"my-combo\" (or combo/my-combo).",
- "usageGuideInvokeAutoNote": "auto and auto/* are a separate zero-config router that does not use your combos (unless a combo is literally named auto).",
- "usageGuideInvokeOpenrouterNote": "openrouter/auto is a real paid OpenRouter product (Auto Best Available), not an OmniRoute alias — exclude it via Settings → Routing → Hide paid models."
+ "comboLabel": "組合"
},
"costs": {
"title": "成本",
@@ -6220,8 +6216,7 @@
"kiro": "免費方案:每月 50 額度(約 2.5 萬至 10 萬 tokens)。⚠️ Kiro 服務條款禁止第三方代理/轉接使用。",
"codex": "使用現有的 OAuth 流程連線 OpenAI Codex。",
"qwen": "使用現有的 OAuth 流程連線 Qwen Code。",
- "github-models": "在 github.com/settings/tokens 建立具有 'models: read' 範圍的 GitHub PAT",
- "cursor-api": "Connect Cursor with a user API key (crsr_...) from cursor.com/dashboard/api; no IDE session needed."
+ "github-models": "在 github.com/settings/tokens 建立具有 'models: read' 範圍的 GitHub PAT"
},
"passthroughModelsDescription": "{provider} 接受提供者本機模型 ID。從 /models 匯入或新增用於路由的自定義 ID。",
"bedrockModelsDescription": "Amazon Bedrock 模型的範圍按 AWS 區域劃分。從 /models 匯入或新增在所選區域中啟用的基岩模型 ID。",
@@ -8637,28 +8632,7 @@
"saved": "已儲存。",
"saveFailed": "無法儲存。",
"enableAria": "啟用 OmniGlyph 引擎",
- "title": "OmniGlyph",
- "profileTitle": "Compression profile",
- "profileDescription": "The profile is a ceiling, not a floor: a stricter profile cannot be reopened by a per-step override. Measured on this codebase: with coding-safe or balanced, a session that has not accumulated history yet compresses nothing, because both raise the minimum-characters threshold and keep the system prompt, tool schemas and tool results native.",
- "profiles": {
- "aggressive": {
- "label": "Aggressive (default)",
- "description": "The policy the published receipts measured. Images the system prompt, tool documentation and dense history."
- },
- "balanced": {
- "label": "Balanced",
- "description": "Keeps live state native and protects the last 8 turns; only collapses older closed history."
- },
- "codingSafe": {
- "label": "Coding-safe",
- "description": "Keeps authority, tool schemas and live tool output native, protecting the last 12 turns. Compresses nothing until the session accumulates history."
- },
- "passthrough": {
- "label": "Passthrough",
- "description": "Routes without transforming. The engine is skipped and the request is forwarded untouched."
- }
- },
- "profileAria": "Select the OmniGlyph compression profile"
+ "title": "OmniGlyph"
},
"embeddedServices": {
"title": "內嵌服務",
diff --git a/src/lib/modelMetadataRegistry.ts b/src/lib/modelMetadataRegistry.ts
index 5e477084ea..c5c0bbbb7c 100644
--- a/src/lib/modelMetadataRegistry.ts
+++ b/src/lib/modelMetadataRegistry.ts
@@ -29,6 +29,7 @@ import {
CANONICAL_EFFORT_VALUES,
extendCodexGpt56EffortValues,
} from "@/shared/reasoning/effortStandardization";
+import type { ModelCapabilityResolutionSnapshot } from "@/lib/modelCapabilityResolutionSnapshot";
const MODEL_METADATA_SCHEMA_VERSION = "model-metadata-v1";
diff --git a/stryker.conf.json b/stryker.conf.json
index 59b52acdac..08c35843f5 100644
--- a/stryker.conf.json
+++ b/stryker.conf.json
@@ -64,7 +64,6 @@
"tests/unit/adobe-firefly.test.ts",
"tests/unit/agentrouter-error-rules.test.ts",
"tests/unit/agentrouter-lock-scope-10334.test.ts",
- "tests/unit/aihorde-optional-api-key.test.ts",
"tests/unit/alibaba-free-tier-exhaustion.test.ts",
"tests/unit/anthropic-thinking-signature-recovery.test.ts",
"tests/unit/antigravity-429-quota-tdd.test.ts",
@@ -151,10 +150,8 @@
"tests/unit/codex-failover.test.ts",
"tests/unit/codex-quota-selection-hydration.test.ts",
"tests/unit/codex-responses-to-chat-9161.test.ts",
- "tests/unit/codex-same-account-transport-retry-9708.test.ts",
"tests/unit/codex-session-affinity-reset-aware-5903.test.ts",
"tests/unit/codex-stream-false.test.ts",
- "tests/unit/codex-turn-state.test.ts",
"tests/unit/collect-metrics-module-coverage.test.ts",
"tests/unit/combo-499-abort.test.ts",
"tests/unit/combo-account-allowlist-3266.test.ts",
@@ -297,9 +294,6 @@
"tests/unit/quota-pool-log-route.test.ts",
"tests/unit/quota-streaming-consumption-usd.test.ts",
"tests/unit/qwen-web-content-array-serialization.test.ts",
- "tests/unit/probe-gate-autodisable.test.ts",
- "tests/unit/probe-production-path.test.ts",
- "tests/unit/probe-testall-isolation.test.ts",
"tests/unit/rate-limit-enhanced.test.ts",
"tests/unit/rate-limit-execution-timeout-message-4165.test.ts",
"tests/unit/rate-limit-local-capacity-classification.test.ts",
@@ -313,7 +307,6 @@
"tests/unit/repro-antigravity-404-family-cooldown-hijack.test.ts",
"tests/unit/resilience-connections.test.ts",
"tests/unit/responses-handler.test.ts",
- "tests/unit/responses-passthrough-openai-compatible.test.ts",
"tests/unit/rotation-config-omniroute.test.ts",
"tests/unit/route-explainability.test.ts",
"tests/unit/route-guard-acp-agents-local-only.test.ts",
@@ -342,7 +335,6 @@
"tests/unit/skip-provider-breaker-consumer-2743.test.ts",
"tests/unit/sse-auth-antigravity-credits.test.ts",
"tests/unit/sse-auth-codex-account-pool.test.ts",
- "tests/unit/sse-auth-exclusive-leases.test.ts",
"tests/unit/sse-auth-resource-404.test.ts",
"tests/unit/sse-auth.test.ts",
"tests/unit/db/stats-dbstat-optional.test.ts",
diff --git a/tests/unit/check-env-doc-sync.test.ts b/tests/unit/check-env-doc-sync.test.ts
index 3975e58361..2db6a62c87 100644
--- a/tests/unit/check-env-doc-sync.test.ts
+++ b/tests/unit/check-env-doc-sync.test.ts
@@ -179,32 +179,6 @@ test("runEnvDocSync: ignore set skips a code-referenced var", () => {
assert.equal(result.ok, true);
});
-test("runEnvDocSync: shipped allowlist ignores ad-hoc BOT_TOKEN and BOT_URL", () => {
- const envExampleText = `JWT_SECRET=secret\n`;
- const envDocText = "| `JWT_SECRET` | _(none)_ | required |";
- const codeVars = new Set(["JWT_SECRET", "BOT_TOKEN", "BOT_URL"]);
-
- const unignored = runEnvDocSync({
- envExampleText,
- envDocText,
- codeVars,
- ignore: new Set(),
- docOnlyAllowlist: new Set(),
- envOnlyAllowlist: new Set(),
- });
- assert.equal(unignored.ok, false);
- assert.deepEqual(unignored.problems.codeMissingEnv, ["BOT_TOKEN", "BOT_URL"]);
-
- // Omit `ignore` so the checker uses IGNORE_FROM_CODE from check-env-doc-sync.mjs.
- const shipped = runEnvDocSync({
- envExampleText,
- envDocText,
- codeVars,
- });
- assert.equal(shipped.ok, true);
- assert.deepEqual(shipped.problems.codeMissingEnv, []);
-});
-
test("repository contract is in sync (live data)", () => {
// Uses the real .env.example, docs/ENVIRONMENT.md, and the bundled
// allowlists. This is the same check that runs in pre-commit / CI.
diff --git a/tests/unit/combo-context-overflow-compression-probe.test.ts b/tests/unit/combo-context-overflow-compression-probe.test.ts
index fd602564c9..f482cba352 100644
--- a/tests/unit/combo-context-overflow-compression-probe.test.ts
+++ b/tests/unit/combo-context-overflow-compression-probe.test.ts
@@ -32,7 +32,9 @@ process.env.DATA_DIR = TEST_DATA_DIR;
const core = await import("../../src/lib/db/core.ts");
const { saveModelsDevCapabilities, clearModelsDevCapabilities } =
await import("../../src/lib/modelsDevSync.ts");
-const { handleComboChat } = await import("../../open-sse/services/combo.ts");
+const { getKnownContextOverflow, handleComboChat } = await import(
+ "../../open-sse/services/combo.ts"
+);
const { updateCompressionSettings } = await import("../../src/lib/db/compression.ts");
const { handleChatCore } = await import("../../open-sse/handlers/chatCore.ts");
@@ -72,6 +74,20 @@ function capabilityEntry(limitContext: number | null) {
};
}
+function target(modelStr: string) {
+ return {
+ kind: "model" as const,
+ stepId: modelStr,
+ executionKey: modelStr,
+ modelStr,
+ provider: modelStr.includes("/") ? modelStr.split("/")[0] : modelStr,
+ providerId: null,
+ connectionId: null,
+ weight: 1,
+ label: null,
+ };
+}
+
// A generic Responses-API body whose estimate lands near `tokens` tokens (4 chars/token).
// Uses `input:` (not `messages:`) to mirror the OpenCode/Codex Responses surface.
function bigResponsesBody(tokens: number) {
@@ -80,6 +96,32 @@ function bigResponsesBody(tokens: number) {
const noopLog = { info() {}, warn() {}, error() {}, debug() {} };
+test("#10225 getKnownContextOverflow defers the hard overflow when compression is available", () => {
+ saveModelsDevCapabilities({ codex: { "gpt-5.6-terra": capabilityEntry(272_000) } });
+ const body = bigResponsesBody(275_000);
+
+ // Compression enabled + target can compress -> defer (null).
+ assert.equal(
+ getKnownContextOverflow([target("codex/gpt-5.6-terra")], body, {
+ deferContextOverflowWhenCompressible: true,
+ }),
+ null,
+ "compressible request must defer so chatCore compression can run (#10225)"
+ );
+
+ // Compression disabled -> the existing hard overflow is preserved (never lose #7177).
+ const hard = getKnownContextOverflow([target("codex/gpt-5.6-terra")], body);
+ assert.ok(hard);
+ assert.ok(hard.requiredContextTokens > hard.maxKnownContextTokens);
+
+ // Compression enabled but EVERY target is excluded from compression -> keep the hard gate.
+ const excluded = getKnownContextOverflow([target("codex/gpt-5.6-terra")], body, {
+ deferContextOverflowWhenCompressible: true,
+ compressionExclusions: ["gpt-5.6-terra"],
+ });
+ assert.ok(excluded, "fully-excluded targets must retain the hard preflight");
+});
+
test("#10225 combo does not early-400 a compressible over-limit request when deferral is on", async () => {
saveModelsDevCapabilities({ codex: { "gpt-5.6-terra": capabilityEntry(272_000) } });
let dispatches = 0;
@@ -105,7 +147,7 @@ test("#10225 combo does not early-400 a compressible over-limit request when def
assert.equal(dispatches, 1, "must dispatch so chatCore compaction runs first");
});
-test("#10225 combo does not hard-400 an over-limit request when compression is disabled", async () => {
+test("#10225 combo keeps the fast 400 when compression is disabled", async () => {
saveModelsDevCapabilities({ codex: { "gpt-5.6-terra": capabilityEntry(272_000) } });
let dispatches = 0;
@@ -126,10 +168,10 @@ test("#10225 combo does not hard-400 an over-limit request when compression is d
log: noopLog,
});
- // #10162: gateway chars/4 estimates are advisory. Compression off is not a
- // pre-dispatch 400; chatCore / upstream remain the context gate.
- assert.notEqual(response.status, 400, "advisory estimates must not hard-400 before dispatch (#10162)");
- assert.equal(dispatches, 1, "must dispatch when local overflow estimates are advisory");
+ assert.equal(response.status, 400);
+ assert.equal(dispatches, 0, "#7177 anti-exhaustion guard must survive when compression is off");
+ const body = await response.json();
+ assert.equal(body.error.code, "context_length_exceeded");
});
// #10501-sweep #10503 — the deferral above is NOT target-aware by default: it only
@@ -151,7 +193,47 @@ test("#10225 combo does not hard-400 an over-limit request when compression is d
// combo member over `/v1/responses` in openai-responses format still hits chatCore's
// compression bypass — exactly the gap `sourceFormat`/`endpointPath` (not the looser
// `clientManagedResponsesContext` flag) now closes.
-test("#10503 handleComboChat: native-codex-passthrough pool still dispatches oversized requests", async () => {
+test("#10503 getKnownContextOverflow REFUSES to defer when the only target is native Codex Responses passthrough", () => {
+ saveModelsDevCapabilities({ codex: { "gpt-5.6-terra": capabilityEntry(272_000) } });
+ const body = bigResponsesBody(275_000);
+
+ const overflow = getKnownContextOverflow([target("codex/gpt-5.6-terra")], body, {
+ deferContextOverflowWhenCompressible: true,
+ sourceFormat: "openai-responses",
+ endpointPath: "/v1/responses",
+ });
+
+ assert.ok(
+ overflow,
+ "a native-codex-passthrough target must never be treated as compressible — the " +
+ "hard preflight must stay active (chatCore disables compression for it entirely)"
+ );
+});
+
+test("#10503 getKnownContextOverflow still defers when a genuinely compressible sibling target is present", () => {
+ saveModelsDevCapabilities({
+ codex: { "gpt-5.6-terra": capabilityEntry(272_000) },
+ openai: { "gpt-5.6-terra": capabilityEntry(272_000) },
+ });
+ const body = bigResponsesBody(275_000);
+
+ // A heterogeneous pool where at least ONE target (openai) genuinely runs
+ // compression must still defer — deferral is a per-request decision, and other
+ // targets in the pool are unaffected by the codex-specific compression bypass.
+ const overflow = getKnownContextOverflow(
+ [target("codex/gpt-5.6-terra"), target("openai/gpt-5.6-terra")],
+ body,
+ {
+ deferContextOverflowWhenCompressible: true,
+ sourceFormat: "openai-responses",
+ endpointPath: "/v1/responses",
+ }
+ );
+
+ assert.equal(overflow, null, "a genuinely compressible sibling target must still defer");
+});
+
+test("#10503 handleComboChat: native-codex-passthrough pool fails FAST locally, zero upstream dispatches", async () => {
saveModelsDevCapabilities({ codex: { "gpt-5.6-terra": capabilityEntry(272_000) } });
let dispatches = 0;
@@ -173,14 +255,14 @@ test("#10503 handleComboChat: native-codex-passthrough pool still dispatches ove
log: noopLog,
});
- // #10162 removed the chars/4 pre-dispatch 400. Native Codex passthrough still
- // reaches the target; chatCore / upstream enforce the real context limit.
- assert.notEqual(
+ assert.equal(
response.status,
400,
- "must not fail fast locally on an advisory overflow estimate (#10162)"
+ "must fail fast locally instead of dispatching an oversized, uncompressible request"
);
- assert.equal(dispatches, 1, "advisory estimates must not skip upstream dispatch");
+ assert.equal(dispatches, 0, "no wasted upstream call for a target that can never compress");
+ const responseBody = await response.json();
+ assert.equal(responseBody.error.code, "context_length_exceeded");
});
// #10503 item 2 — drive the REAL chatCore compression pipeline end-to-end (not just the
diff --git a/tests/unit/db-driver-bundling-externals.test.ts b/tests/unit/db-driver-bundling-externals.test.ts
index c7dcc0d06c..b1d920dd0e 100644
--- a/tests/unit/db-driver-bundling-externals.test.ts
+++ b/tests/unit/db-driver-bundling-externals.test.ts
@@ -36,10 +36,7 @@ test("sync driver cascade requires each SQLite module by literal specifier", ()
// The production loader must be the literal-specifier wrapper, never `_require`
// itself — passing `_require` through the `load` parameter is exactly what makes
// webpack substitute its missing-module stub.
- assert.match(
- driverFactory,
- /^const openSyncDriver = createSyncDriverFactory\(\w+(?:,[\s\S]*?)?\);$/m
- );
+ assert.match(driverFactory, /^const openSyncDriver = createSyncDriverFactory\(\w+\);$/m);
assert.match(driverFactory, /^export function tryOpenSync\($/m);
assert.doesNotMatch(driverFactory, /createSyncDriverFactory\(\s*_require\s*\)/);
diff --git a/tests/unit/hard-session-lease-bypass-inventory.test.ts b/tests/unit/hard-session-lease-bypass-inventory.test.ts
index 24507e00c8..428b75bdcf 100644
--- a/tests/unit/hard-session-lease-bypass-inventory.test.ts
+++ b/tests/unit/hard-session-lease-bypass-inventory.test.ts
@@ -15,16 +15,12 @@ const EXPECTED: Record> = {
credential: {
"open-sse/handlers/chatCore.ts": 1,
"open-sse/services/imageCombo.ts": 1,
- "open-sse/services/speechCombo.ts": 1,
- "open-sse/services/videoCombo.ts": 2,
"src/app/api/compression/compare/verify/route.ts": 1,
"src/app/api/internal/codex-responses-ws/route.ts": 1,
"src/app/api/search/providers/route.ts": 3,
- "src/app/api/v1/_shared/videoModelResolution.ts": 1,
"src/app/api/v1/audio/speech/route.ts": 1,
- "src/app/api/v1/audio/transcriptions/route.ts": 2,
+ "src/app/api/v1/audio/transcriptions/route.ts": 1,
"src/app/api/v1/audio/translations/route.ts": 1,
- "src/app/api/v1/classify/route.ts": 1,
"src/app/api/v1/images/edits/route.ts": 5,
"src/app/api/v1/images/generations/route.ts": 3,
"src/app/api/v1/images/upscale/route.ts": 1,
@@ -36,9 +32,8 @@ const EXPECTED: Record> = {
"src/app/api/v1/providers/[provider]/images/generations/route.ts": 1,
"src/app/api/v1/rerank/route.ts": 2,
"src/app/api/v1/search/route.ts": 2,
- "src/app/api/v1/segment/route.ts": 1,
"src/app/api/v1/session-leases/route.ts": 1,
- "src/app/api/v1/videos/generations/route.ts": 2,
+ "src/app/api/v1/videos/generations/route.ts": 3,
"src/app/api/v1/web/fetch/route.ts": 1,
"src/lib/embeddings/service.ts": 2,
"src/lib/memory/embedding/index.ts": 1,
@@ -54,7 +49,6 @@ const EXPECTED: Record> = {
"open-sse/handlers/chatCore/cliproxyapiCredentials.ts": 1,
"open-sse/handlers/imageGeneration.ts": 1,
"open-sse/handlers/imageGeneration/providers/chatgptWeb.ts": 1,
- "open-sse/handlers/imageGeneration/providers/geminiWeb.ts": 1,
"open-sse/handlers/videoGeneration.ts": 1,
"open-sse/services/compression/eval/executorModelClient.ts": 1,
"src/lib/compression/judgeModelClient.ts": 1,
@@ -155,7 +149,6 @@ const CLASSIFICATION: Record> = {
"open-sse/handlers/chatCore/cliproxyapiCredentials.ts": "A",
"open-sse/handlers/imageGeneration.ts": "B",
"open-sse/handlers/imageGeneration/providers/chatgptWeb.ts": "B",
- "open-sse/handlers/imageGeneration/providers/geminiWeb.ts": "B",
"open-sse/handlers/videoGeneration.ts": "B",
"open-sse/services/compression/eval/executorModelClient.ts": "B",
"src/lib/compression/judgeModelClient.ts": "B",
diff --git a/tests/unit/sse-heartbeat.test.ts b/tests/unit/sse-heartbeat.test.ts
index 94f39cfebc..57ecbd9450 100644
--- a/tests/unit/sse-heartbeat.test.ts
+++ b/tests/unit/sse-heartbeat.test.ts
@@ -1,11 +1,6 @@
import test from "node:test";
import assert from "node:assert/strict";
-// #10524 default is comment-heartbeats off. This file asserts heartbeat payloads,
-// so opt in for the suite (restored in process teardown is unnecessary: node:test
-// worker is dedicated).
-process.env.OMNIROUTE_SSE_COMMENTS = "on";
-
const { createSseHeartbeatTransform } = await import("../../open-sse/utils/sseHeartbeat.ts");
function withFakeIntervals(fn) {