Batch 3 (last) of the locale-expansion plan: ha, yo, ig, am, uz, ka, hy on every surface â dashboard catalog, docs mirror (22-file core + llm.txt + CHANGELOG), CLI catalog, README flag block, locale tables and đ language bars. Also closes the key gap the batch-1 (43 keys) and batch-2 (10 keys) catalogs carried since their base merges, fixes the Igbo "Model" copy and allowlists the Uzbek cognate. Translation-ratio baseline covers 65 locales. â ď¸ base-red inherited: #12732
106 KiB
CODEBASE_DOCUMENTATION (ááááá)
đ Languages: đşđ¸ English ¡ đŞđš am ¡ đ¸đŚ ar ¡ đŚđż az ¡ đ§đŹ bg ¡ đ§đŠ bn ¡ đ¨đż cs ¡ đŠđ° da ¡ đŠđŞ de ¡ đŹđˇ el ¡ đŞđ¸ es ¡ đŞđŞ et ¡ đŽđˇ fa ¡ đŤđŽ fi ¡ đŤđˇ fr ¡ đŽđŞ ga ¡ đŽđł gu ¡ đłđŹ ha ¡ đŽđą he ¡ đŽđł hi ¡ đđˇ hr ¡ đđş hu ¡ đŚđ˛ hy ¡ đŽđŠ id ¡ đłđŹ ig ¡ đŽđš it ¡ đŻđľ ja ¡ đŹđŞ ka ¡ đŽđł kn ¡ đ°đˇ ko ¡ đąđš lt ¡ đąđť lv ¡ đŽđł ml ¡ đŽđł mr ¡ đ˛đž ms ¡ đ˛đš mt ¡ đ˛đ˛ my ¡ đłđľ ne ¡ đłđą nl ¡ đłđ´ no ¡ đŽđł or ¡ đŽđł pa ¡ đľđ phi ¡ đľđą pl ¡ đľđš pt ¡ đ§đˇ pt-BR ¡ đˇđ´ ro ¡ đˇđş ru ¡ đąđ° si ¡ đ¸đ° sk ¡ đ¸đŽ sl ¡ đˇđ¸ sr ¡ đ¸đŞ sv ¡ đ°đŞ sw ¡ đŽđł ta ¡ đŽđł te ¡ đšđ th ¡ đšđˇ tr ¡ đşđŚ uk-UA ¡ đľđ° ur ¡ đşđż uz ¡ đťđł vi ¡ đłđŹ yo ¡ đ¨đł zh-CN ¡ đšđź zh-TW
title: "áŻáááśáááźáááááśáááźá OmniRoute" version: 3.8.40 lastUpdated: 2026-06-28
áŻáááśáááźáááááśáááźá OmniRoute
áááá: v3.8.51 ááśááááážáá áá áťááááááááśáá áťáááááá: 2026-06-28 á˘áááá˘áśáááááá : ááˇááááááááá áźááá˝áá˘ááˇáááá OmniRoute áŹááááážáááśááá˝ááááá áźááá áážááśá
áááááśááááááśááááśáááááśáááááááááááááˇáááááá ááˇáá áááťáááá áá¸ááááááááááááááááá¸áá˝áá ááźáá˘áśá ARCHITECTURE.mdá áááááśááááśáááˇááááśááá¸ááááá á˘ááá¸áááááááááááá¸áá˝áá (Auto Combo, MCP server, A2A server, Skills, Memory, Cloud Agents, Resilience, Compression ááśáážá) ááźááážááŻáááśáááśá áááááĄáááááááá˝áááśáá ááááťááá
docs/áááá
áŻáááśááááááˇáááááśá˘ááḠá˘ááá¸áááááśááá ááááťáááááśááááźáááśááááá áá áťáááááá áážáááá¸áąááááˇááááááááḠá˘áśá ááááááááá˘ááá¸áá ááśáááááááááá ááááá¸áááááśááááááááážáááśá ááˇááášááá¸áááááááááááááźáááááááááźá áááááˇáá áśáááśá áááááážááááźááťááááá¸á
1. ááááá áá ááááˇááááś
| áááááááśááááááá | ááááážá |
|---|---|
| ááááááááááá | Next.js 16 (App Router, áááááá standalone, ááááśá middleware ááá) |
| ááśááś | TypeScript 6.0+ â ááááá
ES2022, module: esnext, moduleResolution: bundler, strict: false |
| áááˇááááśááááážáááśá | Node.js >=22.22.2 <23 Ꮰ>=24.0.0 <27 (ááááźáááśáá˘ááťááááááśáááá engines + SUPPORTED_NODE_RANGE) |
| ááźáááááśáááˇáááááá | SQLite ááśáááá better-sqlite3 (singleton, ááśááááááááśááá WAL) |
| ááááááť | Electron 41 + electron-builder 26.10 (workspace ááśá
áááááĄáááá
electron/) |
| ááśááááážááááá | ááááááˇáá¸áááážáááśáááááááážááááá Node (unit/integration), Vitest (MCP, autoCombo, cache), Playwright (e2e + protocols-e2e) |
| ááśáááááážá | Next.js standalone ááśáááá scripts/build/build-next-isolated.mjs |
| ááśááááá˝áááˇááˇááá/áááááááááśá | ááśáááááááá
ááśáááááááá ESLint flat + Prettier (lint-staged ááśáááá Husky pre-commit) |
| áááááááááááźááťá | ESM ááááááá¸áááááá ("type": "module") |
| Workspaces | npm workspace â open-sse ááşááś workspace áááááá˝áááá |
ááááááááááááśááááááźá (tsconfig.json):
@/*âsrc/*@omniroute/open-sseâopen-sse/index.ts@omniroute/open-sse/*âopen-sse/*
á
ááá HTTP ááááśááážáá 20128 (API ááˇá dashboard áááážáááážáááśááááá˝á)á ááááˇáááááá
ááşááśá˘ááááááˇááááśá DATA_DIR áááááśáááááśááážáááááááá
~/.omniroute/á
2. áá ááśááááááááááááśááááźá
OmniRoute/
âââ src/ ááááááˇáḠNext.js (App Router, áááááśááá, domain, server, ááśááťáááážáá˝á)
âââ open-sse/ workspace áááśááá¸á streaming (@omniroute/open-sse)
âââ electron/ áááááśááááááááť (Electron 41 main + preload)
âââ bin/ á
áááťá
á
áźá CLI (omniroute, reset-password)
âââ tests/ Unit, integration, e2e, protocols-e2e, translator, security, fixtures
âââ scripts/ áááááá¸ááááá˝ááááááśáá build, sync, check, migration ááˇá runtime
âââ docs/ áŻáááśáááśááśááá (ááááá)
âââ public/ áááááááááááááˇááˇáááá, PWA manifest, service worker
âââ config/ ááááźááśáááááááá
ááśáááááááá runtime
âââ images/ ááááááááááááá¸ááááśá/ááźáááá˘áááááá
âââ _ideia/, _references/, _mono_repo/, _tasks/ áŻáááśáááááśá / áááááśáááááááááťá (ááˇáááááźáááśáá
ááá
áśá)
âââ CLAUDE.md á
áááśááááááśááááźááááááśáá Claude Code
âââ AGENTS.md áŻáááśááááááááśááááááááááá¸ááááá
áááááśááááááśááááśá
âââ package.json v3.8.51, áŤá workspace
âââ tsconfig.json ááááááááááááśááááááźá + ááááážáá
áááááááá compiler
3. src/ â ááááááˇáḠNext.js
src/
âââ app/ ááááá App Router + ááááźá API
âââ lib/ áááááśáááááááźá (DB, ááśááááááááááśááá˘ááááááááśá, OAuth, ááááśá, á˘áááá
áá
áśá, âŚ)
âââ domain/ áááááśáááááááťááá (áááááśááá, ááááážááááááťá, á
áááśá, ááśáá
áśáááá, âŚ)
âââ server/ áááźááťááááááśáááááááśááá¸ááá (authz, cors, auth)
âââ shared/ áááááá, áááááááá, ááťáááááá, ááˇá
áá
áááááś, á§ááááááááážááááśáá (ááśáááťáááááˇááśááááááśááááááááááááá)
âââ mitm/ ááááááˇáá¸áááá˝áááááźáááḠMan-in-the-middle áááááśááááśááá˝ááááá
áźá CLI
âââ models/ ááˇááááááááááśáááźáááááźáááááśá / ááśááááááááááááááááááááśá
âââ sse/ ááááááˇáá¸áááááááśá SSE á
áśáááááááá
ááááááˇáááááá src/ (ááˇáááá open-sse/)
âââ store/ ááááśááááááśáááśáááśááááśááá¸áááááá
âââ middleware/ á§ááááááááážááááśáá middleware áááááˇáááááźá (ááˇáááá middleware ááááááá Next.js)
âââ scripts/ áááááá¸áááááťááááááśááááá˘áśá
ááśáá
áźááááááźáááááááˇáá¸
âââ types/ áááááá TS áááˇáá ááˇááá˝á
âââ i18n/ áááááťáááśááśááááá
âââ instrumentation.ts hook áááááśáá instrumentation áááá Next.js
âââ instrumentation-node.ts
âââ proxy.ts ááááááˇáá¸áááá˝áá
áśáááááážáááááźáááá¸áááááˇáááááźá
3.1 src/app/ â App Router
App Router áááááááśáá UI ááááśááááááááááá ááˇá HTTP API ááśááśááá/áááááśááááśááááááááááá ááˇáááśá middleware ááááá â ááśáááááśááá áśááááááźáááśááááážáĄážáááśáááááźááá¸áá˝ááá
ááááááááááˇáááááźáááááá src/app/á
| ááááźá | ááááááá |
|---|---|
api/ |
ááááźá HTTP API ááśááá˘áá (ááźááážáááśááááá ááááśáááááá) |
a2a/ |
á
áááťá
á
áťá JSON-RPC 2.0 áááá A2A (POST /a2a) |
.well-known/agent.json/ |
áŻáááśáááááááá A2A Agent Card |
(dashboard)/ |
UI ááááśááááááááááá (ááááťáááááźá ááááśáááťááááá URL) |
auth/, login/, forgot-password/, callback/ |
ááá áźááááááááááśááá˘ááááááááśá |
landing/ |
ááááááá¸ááááśá/áááááá áťáá á |
docs/ |
ááááááˇáá¸áážááŻáááśá API áááááśááááááá |
status/, maintenance/, offline/ |
ááááááááááˇáááááˇááśá |
privacy/, terms/ |
áááááááááźáá áááśáá |
400/, 401/, 403/, 408/, 429/, 500/, 502/, 503/ |
áááááááá áťáááˇááˇáááá |
error.tsx, global-error.tsx, not-found.tsx, forbidden/, loading.tsx |
áááááááááá áťá/ááśáááááťááááá framework |
layout.tsx, page.tsx, globals.css, manifest.ts |
ááááŤá |
3.1.1 src/app/(dashboard)/dashboard/ â ááááá UI
agents, analytics, api-manager, audit, auto-combo, batch, cache,
changelog, cli-tools, cloud-agents, combos, compression, context,
costs, endpoint, health, limits, logs, memory, onboarding,
playground, providers, search-tools, settings, skills, system,
translator, usage, webhooks, áá˝áááśáá page.tsx, HomePageClient.tsx,
BootstrapBanner.tsx áá
ááááśáááŤáá
3.1.2 src/app/api/ â ááááťá API áááááˇáááááźá
src/app/api/
âââ a2a/{status, tasks}
âââ acp/
âââ admin/
âââ analytics/
âââ assess/
âââ auth/
âââ batches/
âââ cache/
âââ cli-tools/
âââ cloud/{codex-responses-ws}
âââ combos/
âââ compliance/
âââ compression/
âââ context/
âââ db/, db-backups/
âââ evals/
âââ fallback/
âââ files/
âââ health/
âââ init/
âââ internal/{concurrency}
âââ keys/
âââ logs/
âââ mcp/{audit, sse, status, stream, tools}
âââ memory/{health, [id]/, route.ts}
âââ model-combo-mappings/
âââ models/
âââ monitoring/
âââ oauth/
âââ openapi/
âââ policies/
âââ pricing/
âââ provider-metrics/, provider-models/, provider-nodes/
âââ providers/
âââ rate-limit/, rate-limits/
âââ resilience/
âââ restart/, shutdown/
âââ search/
âââ sessions/
âââ settings/
âââ skills/{executions, [id], install, marketplace, route.ts, skillssh}
âââ storage/
âââ sync/, synced-available-models/
âââ system/
âââ tags/
âââ telemetry/
âââ token-health/
âââ translator/
âââ tunnels/
âââ services/ ááśááááááááááááááśáááááááááśááááááá (9router, cliproxy) â LOCAL_ONLY
âââ upstream-proxy/
âââ usage/
âââ v1/ API ááśááśááááááááááááśááśáá˝á OpenAI
âââ v1beta/ ááśáááááááśááśáááá Gemini
âââ version-manager/
âââ webhooks/
3.1.2a src/app/api/services/ â ááśááááááááááááááśáááááááááśááááááá
ááááźááááááśáááááĄážá á
áśáááááážá áááááá ááˇááááá˝áááˇááˇááá 9Router ááˇá CLIProxyAPIá
ááááźáááśááá˘ááááááźáááśáá
áśááááááśááááś LOCAL_ONLY (áááááśáááá loopback, ááˇááśááášáááášá #17) áá¸ááááááá˝áááś
á˘áśá
á á
npm install ááˇáááááážááááážáááśáááá
src/app/api/services/
âââ 9router/
â âââ _lib.ts ááťáááśááááá˝á getOrInitSupervisor()
â âââ install/route.ts POST â npm install ááśáááá execFile
â âââ start/route.ts POST â supervisor.start()
â âââ stop/route.ts POST â supervisor.stop()
â âââ restart/route.ts POST â supervisor.restart()
â âââ update/route.ts POST â npm install áááááááá¸ááśá
â âââ rotate-key/route.ts POST â ááááážá API key áááḠ+ á
áśáááááážááĄážáááˇá
â âââ status/route.ts GET â ááááśáááśáááááśáá + ááááśáááśá DB + ááˇááááááááááśáááááááá
â âââ auto-start/route.ts POST â ááˇá/áážáááá auto_start
âââ cliproxy/
â âââ _lib.ts ááťáááśááááá˝á getOrInitSupervisor()
â âââ install/route.ts POST â npm install
â âââ start/route.ts POST â supervisor.start()
â âââ stop/route.ts POST â supervisor.stop()
â âââ restart/route.ts POST â supervisor.restart()
â âââ update/route.ts POST â npm install áááááááá¸ááśá
â âââ status/route.ts GET â ááááśáááśáááááśáá + ááááśáááśá DB + ááˇááááááááááśáááááááá
â âââ auto-start/route.ts POST â ááˇá/áážáááá auto_start
âââ [name]/
âââ logs/route.ts GET â áááááťááááááá áááť SSE (áááážáá˝áááááśáááááááśááááááśááá˘áá)
UI ááááśááááááááááááááááááźáááááśá
src/app/(dashboard)/dashboard/providers/services/ â ááááááááááśáááááśáááá¸á (CLIProxyAPI + 9Router)á
ááááźáááá¸áááá
áááśááááááśáá UI áááááśááááááááááá 9Routerá
src/app/(dashboard)/dashboard/providers/services/[name]/embed/[[...path]]/route.ts
ááśáááááááááá¸ááááá
á docs/frameworks/EMBEDDED-SERVICES.md
3.1.3 src/app/api/v1/ â API ááśááśááááááááááááśááśáá˝á OpenAI
v1/
âââ accounts/[id]/ ááááááááááá¸
âââ agents/tasks/[id]/, agents/tasks/ á
áááťá
áááá
ááááˇá
áá
ááśáááá A2A
âââ api/ ááťáááśááááá˝á API ááśáááááťáááááááá áśáááááá v1/api
âââ audio/{speech, transcriptions}/ TTS + STT
âââ batches/[id]/{cancel}, batches/ OpenAI Batches API
âââ chat/completions/ Chat Completions (á
áááťá
áááá
ááá
áááá)
âââ completions/ ááśááááááá˘ááááááááá
áśáá
âââ embeddings/ ááśááááááá
âââ files/[id]/, files/ Files API
âââ _helpers/ ááťáááśááááá˝á route ááááááážáá˝áááááś (ááááśá URL ááśááśááá)
âââ images/{edits, generations}/ ááááážá + ááááááá˝áááźáááśá
âââ issues/ á
áááťá
áááá
áááááá˝ááááááśááááśáá
áśááááááśáááááá áś
âââ management/{proxies}/ route ááˇááśáááśáááááááááááá
ááááťá v1
âââ messages/{count_tokens}/ ááśáááááááśááááśáááá Anthropic
âââ models/ ááááá¸áááźááá (`route.ts`, `catalog.ts`)
âââ moderations/ ááśááááá˝áááˇááˇáááááśááˇááś
âââ music/ ááááážáááááááá¸
âââ providers/[provider]/ áááááˇáááááˇááśáááśá provider áá¸áá˝áá
âââ quotas/{check} ááśááááááááźááś
âââ registered-keys/ ááśáááááááááá key áááááśáá
áťáááááá
âââ rerank/ ááśááááá
áááśááááááśáááĄážáááˇá
âââ responses/[...path]/ OpenAI Responses API (á
áśááááááśááá˘áá)
âââ search/ ááááááááážáááááśá
âââ videos/ ááááážááá¸ááá˘áź
âââ ws/ ááááśá WebSocket
âââ route.ts ááááááˇáá¸áááááááśáááˇááˇáááá
áŻáááśá route áá¸áá˝ááá˘ááťááááááśáááááśáááźá ááááśá
Route â ááśááááá˝áááˇááˇáááááśááťá CORS â ááśááááááááááśáá body ááá Zod â ááśááááááááááśááá˘ááááááááśáááśááááážá
â ááśáá˘ááťáááááááááśááá API key â ááśááááááááśááááááááśááá
handler (open-sse)
v1beta/ ááşááśááááááśáááááááśááá Gemini (áááááśááááťááááážááá˝ááááááááááá
áźááá
ááááťá
áááááááážáááśá open-sse/handlers/ ááźá
ááááś)á
3.2 src/lib/ â áááááśáááááááźá
ááááźáááááśáá áźáááˇáááááá ááśááááážááááśááááá OAuth ááááśá á˘áááá áá áśá ááśáážá ááśáááááááźááťáááśáááááááśááˇá áá á ááśááśáááá ááśááááśááááťáááźáááááśááááááá ááˇááŻáááśááááááˇáááááźáááááá˝ááąááááááááááśááá
| áááźááťá | ááááááá |
|---|---|
a2a/ |
áááśááá¸áááááˇáá¸ááśá A2Aá taskManager.ts, streaming.ts, taskExecution.ts, routingLogger.ts, skills/ (ááááśá 6á ááśáááˇááśáááááá
áááśá áááśáááśáááááááśáááśá ááśááááááááá˘ááááááááááááś ááśááááááááááááźááś ááśááááááááááźáááááśááá ááˇáááśáááśááááááááśá) |
acp/ |
ááˇáá¸ááśááááááááááááááśááááśáá index.ts, manager.ts, registry.ts |
api/ |
á§ááááááááá˝á API ááśáááááťáá requireManagementAuth.ts, requireCliToolsAuth.ts, errorResponse.ts |
auth/ |
managementPassword.ts (ááśááááááááśááááááááśáááĄážáááˇá / ááśáááááž hashing) |
batches/ |
ááááś OpenAI Batches API (service.ts) |
catalog/ |
ááśááááážááááśáááááááśááśáĄáťá OpenRouter (openrouterCatalog.ts) |
cloudAgent/ |
ááááá¸áááááááááśááááśá cloudá api.ts, baseAgent.ts, db.ts, index.ts, registry.ts, types.ts, agents/{codex, devin, jules}.ts |
combos/ |
á§ááááááááá˝ááááááśáááááááááśáááááá |
compliance/ |
ááááááá + áááááááá˘ááááááááááááśá index.ts, providerAudit.ts |
config/ |
ááźááááááśááááśáááááááá ááśááááááááááááááážáááśá |
db/ |
áááźááťáááá SQLite (ááźááážá §3.2.1) |
display/ |
á§ááááááááá˝á UI/ááśááááá áśá ááááááážáááááśááááážááá API |
embeddings/ |
ááááá¸áááááááááś embedding |
env/ |
ááśáááááťá Env + ááśááááá˝áááˇááˇáááááśáááááťá |
evals/ |
áááˇááááśááááážáááśá eval |
guardrails/ |
piiMasker.ts, promptInjection.ts, visionBridge.ts, visionBridgeHelpers.ts, registry.ts, base.ts |
jobs/ |
ááˇá
áá
ááśáááááááśáááááá (autoUpdate.ts, âŚ) |
memory/ |
á˘áááá
áá
áśáá˘á
áˇááááááááá store.ts, cache.ts, retrieval.ts, summarization.ts, extraction.ts, injection.ts, qdrant.ts, settings.ts, verify.ts, schemas.ts, types.ts |
monitoring/ |
observability.ts |
oauth/ |
áááźááťá OAuth/ááśáá
áźáá˘ááááááááááááś (22)á agy, antigravity, claude, cline, codebuddy-cn, codex, cursor, devin-desktop, ghe-copilot, github, gitlab-duo, grok-cli-oauth, grok-cli, kilocode, kimi-coding, kiro, openference, qoder, trae, xai-oauth, zed-hosted, zed ááááááśáá services/, utils/ ááˇá constants/oauth.ts |
plugins/ |
ááááááˇáá¸ááááťá plugin (index.ts) |
promptCache/ |
prefixAnalyzer.ts, index.ts |
providerModels/ |
áááááá¸ááˇááááźááááááááśááááááááááá modelDiscovery.ts, managedModelImport.ts, managedAvailableModels.ts, cursorAgent.ts |
providers/ |
á§ááááááááá˝áá˘ááááááááááááśá catalog.ts, validation.ts, imageValidation.ts, claudeExtraUsage.ts, codexConnectionDefaults.ts, codexFastTier.ts, webCookieAuth.ts, managedAvailableModels.ts, requestDefaults.ts |
resilience/ |
settings.ts â ááśáááááááááááśáá circuit breaker, cooldown ááˇá lockout |
runtime/ |
ááśááááážáááťáááśáááááááážáááśá |
search/ |
executeWebSearch.ts |
services/ |
ááááááááááááśááááááá ServiceSupervisor.ts (ááááááˇáá¸ááááááááááááážáááśáááááźáá
áááááśááááááááˇáááááˇááśá ring buffer ááˇáááááááˇáá¸áááá˝áááˇááˇáááááááśáááśá), bootstrap.ts (ááśáá
áťáááááá¸áááááˇááááážáááśá ááˇáááśáá
áśáááááážáááááááááááááááááˇ), registry.ts (ááááá¸á§ááááá â ááááááˇáá¸ááááááááá), apiKey.ts (ááááśáááááááśááťááá AES-256-GCM), modelSync.ts (ááśááááážááááśááááááááźáááááśáááá
áśá), ringBuffer.ts (áááˇááááááá˘áśáááááááááá áááťááˇáááťáááá á 5 MB), healthCheck.ts (ááśááááááááˇááˇáááááááśáááśá HTTP), types.ts, embedWsProxy.ts (ááááźáááḠWebSocket), installers/{ninerouter,cliproxy}.tsá ááźááážá docs/frameworks/EMBEDDED-SERVICES.md |
agentSkills/ |
ááśááśáĄáťá + ááááááˇáá¸ááááážá Agent Skillsá catalog.ts (getCatalog/getSkillById/filterCatalog/computeCoverage), generator.ts (generateAgentSkills â ááááááá
skills/{id}/SKILL.md), openapiParser.ts (ááááá endpoint REST áá¸áááááááá
áá
ááááá OpenAPI), cliRegistryParser.ts (áááááááśááááááááśáá CLI áḠbin/cli-registry), schemas.ts (Zodá AgentSkillSchema, SkillCoverageSchema, ListQuerySchema, GenerateBodySchema), types.ts (AgentSkill, SkillCoverage, SkillMarkdown, GeneratorReport)á ááááźáááśááááážááááśáááááááááźá REST (/api/agent-skills/*), á§ááááá MCP (omniroute_agent_skills_*) ááˇáááááśá A2A list-capabilitiesá ááźááážá AGENT-SKILLS.mdá |
skills/ |
ááááááááááááśáá registry.ts, executor.ts, interception.ts, injection.ts, sandbox.ts, custom.ts, hybrid.ts, builtins.ts, a2a.ts, providerSettings.ts, schemas.ts, skillssh.ts, types.ts ááááááśáá builtin/browser.ts |
spend/ |
batchWriter.ts (áááˇááááááá˘áśáááá write-behind) |
sync/ |
bundle.ts, tokens.ts (Cloud Sync) |
system/ |
á§ááááááááá˝ááááááˇááááááááá |
translator/ |
ááźááááááśááááááááˇáá¸áááááááááááˇáááááźá (áááááááśáááˇá
áá
áá
open-sse/translator/) |
usage/ |
áááááááááśááááážááááśááá costCalculator.ts, tokenAccounting.ts, usageHistory.ts, aggregateHistory.ts, usageStats.ts, callLogs.ts, callLogArtifacts.ts, fetcher.ts, providerLimits.ts, migrations.ts |
versionManager/ |
ááśááááážáá áá áťááááááááśááááááááááááááááᡠ+ ááááá¸ááááááśááááá |
ws/ |
ááááśá WebSocket |
zed-oauth/ |
ááá áźá OAuth ááááááááááˇáá¸ááááááá˝á Zed |
áŻáááśáááááśááááááźááá
ááááťá src/lib/á
- Barrel á
áśáá
localDb.tsááááźáááśáááťáá áá â á˘ááááááážááááśáá import áááźááťásrc/lib/db/*ááśááááśáááááááááśááá proxyHealth.ts,proxyLogger.ts,tokenHealthCheck.ts,localHealthCheck.tsapiBridgeServer.ts,cacheLayer.ts,semanticCache.ts,settingsCache.tscloudSync.ts,initCloudSync.tscloudflaredTunnel.ts,ngrokTunnel.ts,tailscaleTunnel.tsconsoleInterceptor.ts,container.ts,gracefulShutdown.ts,idempotencyLayer.tsipUtils.ts,logEnv.ts,logPayloads.ts,logRotation.tsmodelAliasSeed.ts,modelCapabilities.ts,modelMetadataRegistry.ts,modelsDevSync.tspiiSanitizer.ts,pricingSync.tsapiKeyExposure.ts,cacheControlSettings.ts,dataPaths.ts,toolPolicy.tstranslatorEvents.ts,usageDb.ts,usageAnalytics.ts,webhookDispatcher.ts
3.2.1 src/lib/db/
ááźáááááśáááˇáááááá SQLite ááá Singleton (getDbInstance() áá
ááááťá core.ts, ááśááááááááś journal ááśá WAL)á
ááťáááááá SQL áá
áá
ááááťá routes Ꮰhandlers áąááááá â ááááźááááážáááźááťáááśáááááá
áááááá diagrams/db-schema-overview.mmd
áááźááťáááśá domain (áááźááťááá¸áá˝áááááááááááááśááśááá˝á áŹá
ááážá)á apiKeys.ts, backup.ts,
batches.ts, cleanup.ts, cliToolState.ts, combos.ts,
commandCodeAuth.ts, compression.ts, compressionAnalytics.ts,
compressionCacheStats.ts, compressionCombos.ts, compressionScheduler.ts,
contextHandoffs.ts, core.ts, creditBalance.ts, databaseSettings.ts,
detailedLogs.ts, domainState.ts, encryption.ts, evals.ts, files.ts,
healthCheck.ts, jsonMigration.ts, migrationRunner.ts,
modelComboMappings.ts, models.ts, oneproxy.ts, prompts.ts,
providers.ts, providerLimits.ts, proxies.ts, quotaSnapshots.ts,
readCache.ts, reasoningCache.ts, registeredKeys.ts, secrets.ts,
sessionAccountAffinity.ts, settings.ts, stateReset.ts, stats.ts,
syncTokens.ts, tierConfig.ts, upstreamProxy.ts, versionManager.ts,
webhooks.tsá
migrations/ ááááťááŻáááśá .sql áááááśááááááááááá
ááá˝á 168 (á˘áśá
áááááˇáááááˇááááá ážáááááááááááááááśááááááááśáááááááá ááˇáááśááááááá transactional) á ážáááááźáááśá
áááááˇáááááˇááá migrationRunner.ts áá
áááá
áśáááááážáááááááááá
ááśááśááááááááźáááśáááááážáááááááśáá migrations ááśááá˘áá (áááťá 123)á
a, account_key_limits, api_keys, batches, call_logs,
combo_adaptation_state, combos, command_code_auth_sessions,
compression_analytics, compression_cache_stats,
compression_combo_assignments, compression_combos, context_handoffs,
daily_usage_summary, db_meta, domain_budgets, domain_circuit_breakers,
domain_cost_history, domain_fallback_chains, domain_lockout_state,
eval_cases, eval_runs, eval_suites, files, hourly_usage_summary,
key_value, mcp_tool_audit, memories, model_combo_mappings,
provider_connections, provider_key_limits, provider_nodes,
proxy_assignments, proxy_logs, proxy_registry, quota_snapshots,
reasoning_cache, registered_keys, request_detail_logs,
routing_decisions, semantic_cache, session_account_affinity,
skill_executions, skills, sync_tokens, tier_assignments,
tier_config, upstream_proxy_config, usage_history, version_manager,
webhooks (áá˝áááśááááśááśáááˇááááˇá FTS5 áááááśááááśáááááááá memory)á
3.3 src/domain/ â áááááśáá Domain
ááááááˇááááśá˘áśáá¸áááááááťáááááśá áááááááśá I/Oá ááááźáááśá import ááá routes ááˇá handlersá
| áŻáááśá | ááááááá |
|---|---|
policyEngine.ts |
ááááááˇáá¸áááááááśá policy ááááśááááááźá |
fallbackPolicy.ts |
áááááśááááááá á áˇááá fallback |
costRules.ts |
á áááśááááááśááááá áááśá |
lockoutPolicy.ts |
ááśááááááá á áˇááá lockout áááá model |
tagRouter.ts |
ááśááááááááááźááááááá˘ááááž tag |
comboResolver.ts |
ááśááááááááśá combo áḠrequest â ááááá¸ááááá |
connectionModelRules.ts |
ááááá model áááááśáá connection áá¸áá˝áá |
modelAvailability.ts |
ááśááááá˝áááˇááˇáááááśáá˘áśá áááážááśááááá model |
degradation.ts |
ááśáááááśááááááźááá ááśáá degraded-mode |
providerExpiration.ts |
ááśááááážá account/key áááááťáááááá |
quotaCache.ts |
ááśááááááá á áˇáááááž quota áááááśá cache |
responses.ts, omnirouteResponseMeta.ts |
á§ááááááááá˝ááááááśáááááááá response |
configAudit.ts |
ááśááááážááááááááážááśáááááśááááááźá config |
assessment/ |
ááśáááśáááááá model (ááśá RFC, ááśáá˘ááťáááááá˝áááááá) |
types.ts |
áááááá domain ááááááážáá˝áááááś |
3.4 src/server/ â áááááśáá Server áááááťááááá
ááˇáá˘áśá import áḠclient components ááśáááá
server/
âââ auth/loginGuard.ts
âââ authz/
â âââ classify.ts á
áśááááááśáá routes ááśááś public Ꮰmanagement
â âââ assertAuth.ts á§ááááááááá˝ááááááśáá assertion
â âââ context.ts context áá authz áááááśáá request áá¸áá˝áá
â âââ headers.ts
â âââ pipeline.ts pipeline áááá authz
â âââ policies/ policies ááśááááśáá
â âââ types.ts
âââ cors/origins.ts ááááá¸á˘ááťááááśá origin áááá CORS
3.5 src/shared/ â ááśáááťáááááˇááśááááááśááááśááááážáá˝áááááś
ááááźáááśááááá ááááśáááááááááááááážááťáááśáááśááááśááá
constants/âproviders.ts(ááśááśáĄáťáá˘ááááááááááááśáááááśááááááááááśááááá Zod),models.ts,modelSpecs.ts,modelCompat.ts,pricing.ts,cliTools.ts,cliCompatProviders.ts,routingStrategies.ts,comboConfigMode.ts,headers.ts,upstreamHeaders.ts(ááááá¸á áśáááśáá),mcpScopes.ts,errorCodes.ts,publicApiRoutes.ts,batch.ts,batchEndpoints.ts,bodySize.ts,colors.ts,appConfig.ts,config.ts,sidebarVisibility.ts,visionBridgeDefaults.tsávalidation/âschemas.ts(áááááááśááá Zod áááá áá 80),compressionConfigSchemas.ts,providerSchema.ts,settingsSchemas.ts,helpers.tsácontracts/â ááˇá áá áááááś API ááśááśááááááá ááááááśááá npmátypes/â áááááá TS ááááááážáá˝áááááśáutils/âcircuitBreaker.ts,apiAuth.ts,apiKey.ts,apiKeyPolicy.ts,api.ts,classify429.ts,cliCompat.ts,clipboard.ts,cloud.ts,cn.ts,cors.ts,featureFlags.ts,fetchTimeout.ts,formatting.ts,inputSanitizer.ts,logger.ts,machine.ts,machineId.ts,maskEmail.ts,modelCatalogSearch.ts,nodeRuntimeSupport.ts,parseApiKeys.ts,providerHints.ts,providerModelAliases.ts,rateLimiter.ts,releaseNotes.ts,a11yAudit.tsááááááśáá hooks/components áá dashboard áá áááááservices/,network/,middleware/,schemas/,hooks/,components/á
4. open-sse/ â áááááááśáááśááááááááśááá¸ááááááá¸á
áááááááśáááśá npm ááśá
áááááĄáá áááááááźáááśááááááťáááááś @omniroute/open-sseá ááśáááááááááááśááááážáááśáááááž ááááááˇáá¸áááááˇááááᡠá˘ááááááááá ááááśáááá ááááááˇáá¸áááááá ááˇááááśááá¸ááá MCPá
open-sse/
âââ index.ts ááśáááśáá
ááááśááśááá
âââ package.json ááááá¸ááááááá
ááśáááááááááááááááśáááśá
âââ tsconfig.json
âââ types.d.ts
âââ config/ ááááá¸á˘ááááááááááááś ááááááááááááś á˘ááááááááśá âŚ
âââ handlers/ ááááááˇáá¸áááááááśáááááž (áááá embeddings á˘áźáá¸áááź ááźáááśá âŚ)
âââ executors/ ááááááˇáá¸áááááˇááááᡠHTTP ááśááááśááááśáá˘ááááááááááááśá
ááá˝á 108
âââ translator/ ááśááááááááááááá (OpenAI â Claude â Gemini â Cursor â Kiro)
âââ transformer/ ááááááˇáá¸áááááááááááá¸á Responses API â Chat Completions
âââ services/ áááźááťáááááśááááááśá 80 (ááááá ááááážááááááťá ááźááś á˘ááááááááśá âŚ)
âââ utils/ á§ááááááááá˝ááááááśáááááááá¸á áááśááá¸áááááá TLS AWS SigV4 ááśáááśáááááśáááááźáááḠâŚ
âââ mcp-server/ áááśááá¸ááá MCP (áááááááśááášááááááźá 3 ááˇááśáááśá 33 á§ááááá 110)
4.1 open-sse/handlers/
| ááááááˇáá¸áááááááśá | ááááááá |
|---|---|
chatCore.ts |
ááááááááážáááśáááááá áááá (ááááśáááááááśáá áááááˇáá˘ááááś ááśááááááááááźáááááá ááśááááááźááá ááááááˇáá¸áááááˇáááááˇ) |
responsesHandler.ts |
á áááťá á áźá OpenAI Responses API |
embeddings.ts |
Embeddings |
imageGeneration.ts |
ááśáááááážáááźáááśá |
audioSpeech.ts |
ááśáááááááá˘ááááááá ááśáááĄáá |
audioTranscription.ts |
ááśááááááááááĄáááá ááśá˘ááááá |
videoGeneration.ts |
ááśáááááážááá¸ááá˘áź |
musicGeneration.ts |
ááśáááááážáááááááḠ|
rerank.ts |
ááśááááá áááśááááááśáááĄážáááˇá |
moderations.ts |
ááśááááá˝áááˇááˇááááááášáááśá |
search.ts |
ááśáááááááááážáááááśá |
sseParser.ts |
ááááááˇáá¸ááááááášááááˇááśááá SSE |
usageExtractor.ts |
ááśáá ááá˝á token á áááá¸áááááá¸áááśáááž |
responseSanitizer.ts |
ááááśáááááśáááśááááśááááááá˘ááááááááááááśá áá |
responseTranslator.ts |
áááááśáááááááśáááááśáá áááážáááááá˘ááááááááááááś ááˇááááááśááá˘ááááááááá |
4.2 open-sse/executors/
ááááááˇáá¸áááááˇáááááˇááááá˘ááááááááááááśá
ááá˝á 108 áááááááááˇáá¸áá¸áá˝ááááááá¸ááḠBaseExecutor (base.ts)á
antigravity, azure-openai, blackbox-web, cliproxyapi,
chatgpt-web-codex, cloudflare-ai, codex, commandCode, cursor, default, devin-cli,
muse-spark-web, nlpcloud, opencode, perplexity-web, petals,
pollinations, qoder, vertex, devin-desktop áá˝áááśáá claudeIdentity.ts
(á§ááááááááá˝áá˘ááááááááśááá˝á) ááˇá index.ts (ááááá¸á
áťáááááá)á
á áááśáá á˘ááááááááááááśáááááˇáááśáááśáááááá¸áá áá¸ááá ááááźáááśáááááážááá
default.tsááááááážááááááˇáá¸áááááˇáááááˇááźáá áááááááźáááááśááśáá˝á OpenAIá ááśááśáĄáťáá˘ááááááááááááśáááááá (á˘ááááááááááááśá ááá˝á 355) ááááˇááá ááááťásrc/shared/constants/providers.tsá
4.3 open-sse/translator/
ááśáááááááááśáááááźááááááááá ááˇáááśááś (OpenAI ááśááááááááá)á
- á˘ááááááááááááážá
ááá˝á 9 (
translator/request/)áantigravity-to-openai,claude-to-gemini,claude-to-openai,gemini-to-openai,openai-responses,openai-to-claude,openai-to-cursor,openai-to-gemini,openai-to-kiroá - á˘áááááááááá
áááážáá
ááá˝á 9 (
translator/response/)áclaude-to-openai,cursor-to-openai,gemini-to-claude,gemini-to-openai,kiro-to-openai,openai-responses,openai-to-antigravity,openai-to-claudeá - á§ááááááááá˝áá
ááá˝á 9 (
translator/helpers/)áclaudeHelper,geminiHelper,geminiToolsSanitizer,maxTokensHelper,openaiHelper,responsesApiHelper,schemaCoercion,toolCallHelperááááááśáá ááśááááážáááááá§ááááááááá˝áá - á§ááááááááá˝áááźáááśá (
translator/image/sizeMapper.ts)á - áááááˇáááááźáá
bootstrap.ts,formats.ts,registry.ts,index.tsá
4.4 open-sse/transformer/
responsesTransformer.tsâ ááááááˇáá¸áááááá Responses API â Chat Completions áááááá˘áááážTransformStream(áááážáááááááźáááááááááśáresponses/)á
4.5 open-sse/services/
áááááááááśááá (ááááá¸ááááááááááˇááá
ááááá open-sse/services/)á
| á áááťá áá˝áááá áˇáááááťáááśáá | áŻáááśá |
|---|---|
| ááśááááááááááźá Combo | combo.ts (19 ááťáááááśááááá), comboConfig.ts, comboMetrics.ts, comboManifestMetrics.ts, comboAgentMiddleware.ts |
| áááśááá¸á Auto Combo | autoCombo/ â engine.ts, scoring.ts, taskFitness.ts, virtualFactory.ts, modePacks.ts, autoPrefix.ts, persistence.ts, providerDiversity.ts, providerRegistryAccessor.ts, routerStrategy.ts, selfHealing.ts, index.ts |
| ááśáááááášááááá áś | accountFallback.ts (áááááááááá
áśá + ááśáá
áśáááá), errorClassifier.ts, emergencyFallback.ts, rateLimitManager.ts, rateLimitSemaphore.ts, accountSemaphore.ts, accountSelector.ts |
| ááźááś | quotaMonitor.ts, quotaPreflight.ts, bailianQuotaFetcher.ts, codexQuotaFetcher.ts, deepseekQuotaFetcher.ts, openrouterQuotaFetcher.ts, openrouterFreeWindow.ts, crofUsageFetcher.ts, antigravityCredits.ts |
| ááśááááááśááťáááááťáááááśáááááááśáá | reasoningCache.ts, searchCache.ts, signatureCache.ts, requestDedup.ts |
| ááśáááááśáááááááťáááśááááááááááźá | intentClassifier.ts, taskAwareRouter.ts, backgroundTaskDetector.ts, volumeDetector.ts, wildcardRouter.ts, workflowFSM.ts, specificityDetector.ts, specificityRules.ts, specificityTypes.ts |
| ááśáááááááááááááźááá | modelCapabilities.ts, modelDeprecation.ts, modelFamilyFallback.ts, modelStrip.ts, model.ts, provider.ts, providerRequestDefaults.ts, providerCostData.ts, payloadRules.ts |
| ááśááááá áśáá | compression/ â ááśááááááśáááááśááá¸ááááá áśáááááááá |
| ááźáášá + áááá | tokenRefresh.ts, sessionManager.ts, apiKeyRotator.ts, contextManager.ts, contextHandoff.ts, systemPrompt.ts, roleNormalizer.ts, responsesInputSanitizer.ts, toolSchemaSanitizer.ts, toolLimitDetector.ts, thinkingBudget.ts |
| áááááˇá / áááśáá¸á áááá | tierResolver.ts, tierConfig.ts, tierDefaults.json, tierTypes.ts, manifestAdapter.ts |
| IP / áááááśá | ipFilter.ts, webSearchFallback.ts |
| áááážáááśáááśááśá á | batchProcessor.ts |
| ááśááááážááááśáá | usage.ts |
4.6 open-sse/mcp-server/
- á§áááááááˇááááá˝áá
ááá˝á 110 ááááźáááśááááááśááááááťá
server.ts(á§ááááááááá ááá˝á 45 ááááťáschemas/tools.ts+ áááźááťáá˘áááá áá áśá ááááśá GitHub-skills áááááťá á áááááá¸á ááá¸ááááˇá ááááááˇáá¸áááá˝á Notion, Obsidian, local-corpus ááˇáááśááááá áśáá â áá ááśáááááźáááśáááśááááácountUniqueMcpTools)á - áááááááśááášááááááźá 3á stdio, HTTP Streamable, SSEá
- ááˇááśáááśáá
ááá˝á 33 ááááźáááśáá˘ááťáááááá
ááááááážáááśá â ááááá¸ááźáááááśáááááˇáááááťá
src/shared/constants/mcpScopes.tsá ážáááááťáááááááááşááśáá ááśáááááˇááśáááśááááááśááááááśáááááááźááťáá§ááááááá¸áá˝ááá - ááśááśááááááááá
mcp_tool_audit(áááá áźáááˇáááááááááaudit.ts)á - áŻáááśáá
server.ts,index.ts,httpTransport.ts,audit.ts,scopeEnforcement.ts,runtimeHeartbeat.ts,descriptionCompressor.ts,schemas/{tools, a2a, audit, index}.ts,tools/{advancedTools, compressionTools, memoryTools, skillTools}.ts, ááááááśááááááááá ááááá__tests__/á - ááźááážá MCP-SERVER.md áááááśááááśááśáĄáťáá§áááááááááááá
4.7 open-sse/config/
ááááá¸á
áťááááááá˘ááááááááááááś (providerRegistry.ts, providerModels.ts,
providerHeaderProfiles.ts), ááááá¸á
áťáááááááááźáááááśááááááááááśááá¸áá˝áá (audioRegistry.ts,
embeddingRegistry.ts, imageRegistry.ts, moderationRegistry.ts,
musicRegistry.ts, rerankRegistry.ts, searchRegistry.ts, videoRegistry.ts),
ááťáááśááááá˝áá˘ááááááááśá (codexIdentity.ts, codexInstructions.ts,
anthropicHeaders.ts, antigravityUpstream.ts, antigravityModelAliases.ts,
cliFingerprints.ts, toolCloaking.ts, defaultThinkingSignature.ts),
ááťáááśááááá˝áááááááśááááááśáá (credentialLoader.ts, codexClient.ts) ááˇáá˘áśááśááááá
ááááá (azureAi.ts, bedrock.ts, datarobot.ts, glmProvider.ts,
maritalk.ts, oci.ts, petals.ts, runway.ts, sap.ts, watsonx.ts,
ollamaModels.ts, errorConfig.ts, constants.ts, registryUtils.ts)á
4.8 open-sse/utils/
Primitive áááááśáá streaming ááˇá helper áááá providerá stream.ts, streamHandler.ts,
streamHelpers.ts, streamPayloadCollector.ts, streamReadiness.ts,
sseHeartbeat.ts, proxyFetch.ts, proxyDispatcher.ts, tlsClient.ts,
networkProxy.ts, awsSigV4.ts, cacheControlPolicy.ts,
cursorChecksum.ts, cursorAgentProtobuf.ts, cursorVersionDetector.ts,
comfyuiClient.ts, kieTask.ts, bypassHandler.ts, aiSdkCompat.ts,
thinkTagParser.ts, urlSanitize.ts, usageTracking.ts, requestLogger.ts,
progressTracker.ts, cors.ts, error.ts, logger.ts, sleep.ts,
ollamaTransform.ts.
5. electron/ â ááááááˇáá¸ááááááááááśáá Desktop
electron/
âââ main.js áááážáááśááááááá Electron
âââ preload.js ááááśá Preload (ááśááážá contextIsolation)
âââ types.d.ts
âââ package.json ááśáááááááá
ááśáááááááá electron-builder, áááá 3.8.51
âââ README.md
âââ assets/ ááááśááááááśáá Build (ááźáááááśá, entitlements, âŚ)
âââ node_modules/ node_modules ááśá
áááááĄáá (better-sqlite3, electron-updater)
âââ dist-electron/ áááááá Build (ááˇáááśá commit)
ááśááááááá¸á npm á
ááá˝áááááśááá
root áááá workspaceá electron:dev, electron:build,
electron:build:{win,mac,linux}, electron:smoke:packagedá ááśááááážáá
áá
áťááááááááśáááááááááááááááááˇáááážáĄážáááśáááá
electron-updater áááá
ááá˘áťááá
ááśáá feed áá release áááá GitHubá
6. bin/ â CLI
bin/
âââ omniroute.mjs á
áááťá
á
áźá CLI áá (Node ESM)
âââ reset-password.mjs áááááááśááááááááśááááááááááááĄážáááˇááḠCLI
âââ mcp-server.mjs ááááááˇáá¸áážááááážáááśá MCP server (stdio)
âââ nodeRuntimeSupport.mjs á§ááááááááá˝áááˇááˇááááááá Node
âââ cli/
âââ program.mjs ááááááˇáá¸ááááážá Commander program
âââ runtime.mjs helper withRuntime (server-first/db-fallback)
âââ output.mjs ááááááˇáá¸ááááááááááááááśááááááá (json/jsonl/table/csv)
âââ i18n.mjs helper t() ááśáá˝á locales
âââ api.mjs helper áááááśáá API fetch
âââ data-dir.mjs
âââ encryption.mjs
âââ sqlite.mjs
âââ commands/
âââ registry.mjs ááśáá
áťáááááá command
âââ setup.mjs
âââ doctor.mjs
âââ providers.mjs
âââ ... (áá˝ááŻáááśáááááťááá˝á command/group)
Binary á
ááá˝ááá¸áááááźáááśááááá áśááá
ááááťá package.json â biná
omnirouteâbin/omniroute.mjsomniroute-reset-passwordâbin/reset-password.mjs
7. tests/
| áá | áááááá |
|---|---|
tests/unit/ |
ááśááááážááááá Unit ááśááááááááááˇáá¸áááážáááśáááááááážááááá Node (1821 áŻáááśá áá˝áááśáááááá api/, auth/, authz/) |
tests/integration/ |
ááśááááážááááááááááááźááťá + ááááśáááśá DB |
tests/e2e/ |
ááśááááážááááá UI ááá Playwright |
tests/e2e/protocol-clients.test.ts |
ááśááááážááááá e2e áááááśááááˇáá¸ááśá MCP/A2A |
tests/translator/ |
ááśááááážáááááááśááááśáááááááśááááááááˇáá¸áááááá |
tests/security/ |
ááśááááážááááááááá áśááááááááááááááťáááááˇááśá |
tests/load/ |
ááśááááážááááááááááťá / áááááśá |
tests/golden-set/ |
ááááááááááááááśáááááá áśáááááááááááááááááˇáá¸áááááá |
tests/helpers/, tests/fixtures/, tests/manual/ |
ááśáááśáááá |
Command ááááááážááśááźáá á
| Command | á˘ááá¸áááááśáááážáááśá |
|---|---|
npm run test:unit |
ááśáá tests/unit/*.test.ts ááśááááááááááˇáá¸áááážáááśáááááááááá Node (concurrency 10) |
npm run test:vitest |
ááááťáááááá Vitest (MCP, autoCombo, cache) |
npm run test:e2e |
ááááťáááááá UI áááá Playwright |
npm run test:protocols:e2e |
ááśááááážááááá e2e áááááśááááˇáá¸ááśá MCP + A2A |
npm run test:coverage |
áááááˇá Coverage (âĽ60% áá lines/statements/functions/branches) |
node --import tsx/esm --test tests/unit/<file>.test.ts |
áááážáááśááŻáááśááááá˝á |
8. scripts/
ááááźáááśááááá áááś 6 ááááááśááááááááá
scripts/build/âbuild-next-isolated.mjs,prepublish.ts,prepare-electron-standalone.mjs,pack-artifact-policy.ts,validate-pack-artifact.ts,postinstall.mjs,postinstallSupport.mjs,uninstall.mjs,bootstrap-env.mjs,runtime-env.mjs,native-binary-compat.mjs.scripts/dev/ârun-next.mjs,run-next-playwright.mjs,run-standalone.mjs,standalone-server-ws.mjs,responses-ws-proxy.mjs,v1-ws-bridge.mjs,smoke-electron-packaged.mjs,run-playwright-tests.mjs,run-ecosystem-tests.mjs,run-protocol-clients-tests.mjs,sync-env.mjs,healthcheck.mjs,system-info.mjs.scripts/check/âcheck-cycles.mjs,check-docs-sync.mjs,check-docs-counts-sync.mjs,check-env-doc-sync.mjs,check-deprecated-versions.mjs,check-route-validation.mjs,check-t11-any-budget.mjs,check-pr-test-policy.mjs,check-supported-node-runtime.ts,test-report-summary.mjs.scripts/docs/âgenerate-docs-index.mjs,gen-provider-reference.ts.scripts/i18n/âgenerate-multilang.mjs,run-visual-qa.mjs,generate-qa-checklist.mjs,apply-priority-overrides.mjs,validate_translation.py,check_translations.py,i18n_autotranslate.py,untranslatable-keys.json.scripts/ad-hoc/âcursor-tap.cjs,sync-cursor-models.mjs,migrate-env.mjs,dbsetup.js.
9. ááááááááážáááśáááááž (ááá áááá¸áááááá)
áááááá diagrams/request-pipeline.mmd
áááážáááááááśááá¸áááááá
â /v1/chat/completions (route.ts)
ááśááááá˝áááˇááˇááá CORS preflight
ááśááááááááááśáá Zod (chatCompletionsSchema áá
ááááťá shared/validation/schemas.ts)
ááśááááááááááśááá˘ááááááááśá (extractApiKey + isValidApiKey ᏠrequireManagementAuth)
áááśááá¸ááááááśááá (src/server/authz/pipeline.ts)
áááśááááśáááśá (á§áááááááˇáááśáá PII, ááśááááá
áźá prompt, ááááśá vision)
â handleChatCore() (open-sse/handlers/chatCore.ts)
ááśááááá˝áááˇááˇáááááááśáááááááśáá (ááááśáááááááśáá semantic + read)
ááááááááá˘ááááś (rateLimitManager, accountSemaphore)
ááśááááááááááźá combo (áááááˇááážáááźáááááááźáááśááááááááśááá
ááś combo)
comboResolver â áááááˇáááťáááśáááááá
áá¸áá˝áá â handleSingleModel()
translateRequest() (open-sse/translator/request/*)
getExecutor(providerId).execute() (open-sse/executors/*)
ááśááááḠupstream â ááááśááśáááááááá/áááááśáááááááááááááśáááá accountFallback
translateResponse() (open-sse/translator/response/*)
áááááá¸á SSE áŹááśááááážááá JSON
áááááˇááážááś Responses APIá TransformStream ááśáááá open-sse/transformer/responsesTransformer.ts
â áááááááá˘ááťáááááśá (src/lib/compliance/)
â ááśááááážááááá
áááśááá¸áááááá
ááááśáááśá runtime áááááśááááśáááá (ááááááśááá¸)
| ááááááśá | ááˇááśáááśá | áá¸ááśáá |
|---|---|---|
| á§áááááááááśá ááááááá¸á˘ááááááááááááś | á˘ááááááááááááśááśááááźá | src/shared/utils/circuitBreaker.ts, áááááśááťáááááťá domain_circuit_breakers |
| áááááááááá áśáááááśááááááśáá | áááá¸/áááá˝á | markAccountUnavailable() ááááťá src/sse/services/auth.ts; áááážááááśááááá accountFallback.checkFallbackError() |
| ááśáá áśáááááááźááá | á˘ááááááááááááś + ááśááááááśáá + áááźááá | open-sse/services/accountFallback.ts, áááááśááťáááááťá domain_lockout_state |
ááźááážá RESILIENCE_GUIDE.md ááˇááááááááˇááááá ááááťá CLAUDE.mdá
10. ááááá áźááá˝áá áááá
ááááááá˘ááááááááááááśáááá¸
- á
áťááááááááááťá
src/shared/constants/providers.ts(ááááźáááśááááááááááśááááá Zod áá áááááááťá)á - áááááá executor áá˝áááááťá
open-sse/executors/áááááˇááážááááźáááśáááááááˇááááśááááśáááááá˝á (ááááá¸áBaseExecutor)á - áááááá translator áá˝áááááťá
open-sse/translator/áááááˇááážááśááˇááááážáááááá OpenAIá - áááááˇááážááá˘ááááž OAuth ááźáááááááááśáááááááá
ááśááááááááááááá
src/lib/oauth/providers/ááˇásrc/lib/oauth/services/á - á
áťáááááááááźáááááááťá
open-sse/config/providerRegistry.ts(Ꮰregistry áááááśááááááááááśááááśáá áááááopen-sse/config/)á - áááááááśááááážáááááááááá
tests/unit/á
áááááá API route áááá¸
- ááááážá
src/app/api/your-route/route.tsá - á˘ááťááááááśáááááśáá CORS â ááśááááááááááśáá body ááá Zod â ááśááááááááááśááá˘ááááááááśá â ááśáááááááááśáááśááá handlerá
- áááááˇááážááśááááááá request áááá¸á áááááá Zod schema ááááťá
src/shared/validation/schemas.tsá - áááááˇááážáááááśááááááśááááááááááá áááááá path áá
src/shared/constants/publicApiRoutes.ts(denylist áááááśáááááá API ááśááśááá)á - ááááááááśááááážáááááááááá
tests/unit/á - áááážáá
áá
áťááááááááśá
docs/reference/API_REFERENCE.mdááˇádocs/openapi.yamlá
áááááááááźááťá DB áááá¸
- ááááážá
src/lib/db/yourModule.tsá ážá importgetDbInstance()áá¸./core.tsá - Export á˘ááťáááá CRUD áááááśáááááááááá˘áááá
- áááááˇááážááśáááśááśááááá¸á áááááá migration áá˝áááááá
src/lib/db/migrations/áááááśááááá ááśáááááśáá á˘áśá áááážáááśáááááá ážáááááááááááááááśááááááááśáá ááˇáááááˇáááááťá transactioná - á˘ááá import ááááźáááááž direct imports áá¸
@/lib/db/yourModule(ááááśá barrel â áááááśáá re-export á áśáálocalDb.tsááááźáááśáááá ááá ážá)á - ááááááááśááááážáááááááááá
tests/unit/á
ááááááá§ááááá MCP áááá¸
- ááááááááˇáááááá§áááááááááá
open-sse/mcp-server/tools/(áŹááááá¸áopen-sse/mcp-server/schemas/tools.ts)á - ááááá scope áááááááááááááťá
src/shared/constants/mcpScopes.tsá - á
áťááááááá§áááááááááťá
open-sse/mcp-server/server.tsá - ááááááááśááááážáááááááááá
open-sse/mcp-server/__tests__/á - áááážáá áá áťááááááááśá MCP-SERVER.mdá
ááááááááááśá A2A áááá¸
ááźááážá A2A-SERVER.md § ááśáááááááááááśááááá¸á ááááśáááááˇááá
ááááťá
src/lib/a2a/skills/ á ážáááááźáááśáá
áťááááááááśááááááááááˇáá¸áááááááááááˇá
áá
ááśá A2Aá
11. á˘ááťáááááś
- áá
ááśáááááááźáá á
áźááááááśááááá 2 space, ááááž double quotes, ááášá 100 áá˝á˘áááá, ááááž semicolons,
ááˇá
es5trailing commas â ááááźáááśáá˘ááťááááááá Prettier ááśáááálint-stagedá - Importsá ááśááááá
â ááśáááááťá (
@/,@omniroute/open-sse) â relativeá - ááśáááśáááááááá áŻáááśáááááž
camelCaseáŹkebab-case, components áááážPascalCase, constants áááážUPPER_SNAKEá - ESLintá
no-eval,no-implied-eval,no-new-func=errorááááááá¸áááááá;no-explicit-any=warnááááťáopen-sse/ááˇátests/, ááś error áá áááááááááááá - TypeScriptá
strict: false(ááá ááážáááá¸ááśááááááááááááá áśáá)á áá˝áááááž types ááááááááśááá áááśááááśáááááá˝á inference áááááśááááááááááááááááźááťáá - ááźáááááśáááˇááááááá ááˇáááááźáááááá SQL áážáááááťá routes Ꮰhandlers áĄážá â ááááźáááááááśáá
áááźááťá
src/lib/db/ááśááˇá áá á ááˇáááááźá barrel-import áĄážá â áááážáááźááťásrc/lib/db/*ááśááááśáááááááááśááá - ááśáááááá type áááááśáá DB-entity (#3512)á á˘ááťáááááááááááá áŹá˘áśááááááá row
ááááááśááśá DB áá˝áááá˝á/ááááĄáá TS interface áááááśáááááá ááˇáááááťááááá
áśáá columns
ááááááśááśááááááááťááááśááśááá 1:1 ááˇáááá
anyᏠinline anonymous type áá call site ááá ááśáá interface áá áááááá˘ááťáááá (á§.export interface UsageEntryááááťásrc/lib/usage/usageHistory.tsáá ááśááážsaveRequestUsage) áááááś fields áá¸áá˝áááąááááś optional/nullable áá ááá writers áááááááááá áźáááˇáááááááá ááááťá row ááśáááááááááśáá á ážááá˝ááááážunknownáááá˝áanyáááááśáá field áááááááááááááááś áááááááá˝áááśá callers (ááááźááááááááśáá ááž field á§.UsageEntry.tokensááá˝áááááśáá usage áááááśááááááááážááááá provider ááˇááááááááááááśááááážáąáááááááááśá)á áá áááá ááá˝áanyáááááŻáááśááá˝ááááááááźáááááśáááˇáá¸ááá ááźáááááááááśáá ááááťá allowlistcheck:any-budget:t11(scripts/check/check-t11-any-budget.mjs,maxAny: 0) áážáááá¸ááťááąááááśááááĄáááááááááá áááááśá˘ááťáááááśáááááśáááááááááááźá â ááśááááá˘áśá "ááááśá anonymousany" ááźááááźááśáááśáááá ááááźáááśáá˘ááťááááááśáááááááááśáááážáááááááááá ááááá codebaseá - ááá áťáá ááááž try/catch ááśáá˝á error types ááśááááśáá á ážááááááááś log ááśáá˝á pino contextá ááˇáááááźá ááśááááá áťáááááááááááááśááááááťá SSE streams áĄážá; ááááž abort signals áááááśááááśááááá˘áśáá
- ááťáááááˇááśáá ááˇáááááźáááááž
eval()/new Function()/ implied eval áĄážáá áááááááááśáá inputs ááśááá˘ááááá Zodá á˘ááˇááááá¸á credentials ááááááááśááťá (AES-256-GCM)á áááááś denylistsrc/shared/constants/upstreamHeaders.tsáąááááááááááśááśáá˝ááááááśáá sanitize/validationá - Commitsá Conventional Commits â
feat(scope): subjectá scopes áááá˘ááťááááśáádb,sse,oauth,dashboard,api,cli,docker,ci,mcp,a2a,memory,skillsá - Branchesá prefixes
feat/,fix/,refactor/,docs/,test/,chore/á ááˇáááááźá commit áááááááśáááámaináĄážáá - Huskyá pre-commit áááážáááśá
lint-staged+check:docs-sync+check:any-budget:t11; pre-push áááážáááśácheck:any-budget:t11+check:tracked-artifacts(ááśááááá˝áááˇááˇááááá áá; ááˇáááśáááááá áźátest:unit)á
12. á áááśáááášáááášá (áḠCLAUDE.md)
- ááťá commit ááááááśááááááśáá áŹááááááśááááááśááá˘ááááááááśáááśááśá áááśáá
- ááťáááááž barrel-import ááśááśá
áááśá â ááááźááááážáááźááťá
src/lib/db/*ááśááááśáááááááááśááá - ááťáááááž
eval()/new Function()/ eval áááááááááááśááśá áááśáá - ááťá commit áááááááśáááá
mainááśááśá áááśáá - ááťáááááá SQL áážááá
ááááťá routes ááśááśá
áááśá â ááááźáááááááśáááááźááťá
src/lib/db/ááśááˇá áá á - ááťáááˇáá˘ážáážá ááááááá áťáááááááááááááśáááá ááááťá SSE streams ááśááśá áááśáá
- ááááźááááááááááśáá inputs ááśáá˝á Zod schemas ááśááˇá áá á
- ááááźááááá áźá tests ááśááˇá áá áá áááááááśááááááźá production codeá
- Coverage ááááźááááááśáąáááá ⼠60% (statements, lines, functions, branches)á
13. ááźááážáááááá
- ARCHITECTURE.md â ááááśáááááááááááááˇáááááá ááˇáááśáááá˝áááťáááááźááááááááźááťáá
- API_REFERENCE.md â áŻáááśáááá public + management APIá
- FEATURES.md â ááśááśáááááááááˇááá ááˇáá áááťá ááááśáááááśáááááá
- RESILIENCE_GUIDE.md â ááśáááááááááá¸ááááá á˘ááḠcircuit breaker, cooldown ááˇá lockoutá
- AUTO-COMBO.md â ááśáááśááááˇááááť ááˇáááťáááááśááááá Auto Comboá
- MCP-SERVER.md â ááśááśáĄáťáá§ááááá MCP áááááá + transportsá
- A2A-SERVER.md â ááááśá ááˇáááśááááááááááááááˇáá¸ááśá A2Aá
- COMPRESSION_GUIDE.md â ááśááááá áśáá RTK + Cavemaná
- CLI-TOOLS.md â ááśááá˝ááááá áźá CLIá
- ELECTRON_GUIDE.md (áááááˇááážááśá), DOCKER_GUIDE.md, FLY_IO_DEPLOYMENT_GUIDE.md, VM_DEPLOYMENT_GUIDE.md, TERMUX_GUIDE.md, PWA_GUIDE.md â ááááá ááśáááąáááááážáááśáá
- TROUBLESHOOTING.md â áááá áśáááááˇáááááˇááśáááźáá á
- CONTRIBUTING.md â ááá áźáááśáááśáááááá˘ááááá˝áá ááááá
- CLAUDE.md â á áááśáá repo áááááśáá Claude Code (áááááááˇáááááśáá áááááśááá˘ááťáááááśááśá ááážáááśáááž)á
- AGENTS.md â áŻáááśááááááááśááááááááááśááááááá¸ááááá áááááááźáááśááááážááá agentsá