mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-09-14 10:52:17 +03:00
Restores ChatGPT Web on a clean-room browser transport, merged on the operator's explicit decision. Worth stating precisely, because this touches a provenance decision: the PR does not revert #11754. It narrows RETIRED_COMMON_CHATGPT_WEB_PROVIDER_IDS to the single GPL-derived alias cgpt-web and registers chatgpt-web as a separate clean-room id. The old implementation stays retired and blocked; the retirement machinery, its error code and its 410 contract are untouched. All four retirement suites agree with that distinction and pass unchanged. The 44 protected agent-instruction surfaces this PR touches (AGENTS.md, llm.txt and its 42 mirrors, README) were verified rather than trusted: masking digits and comparing the removed and added line sets gives 264 lines on each side, identical — every change is a provider-count substitution, with no sentence added, removed or reworded. Reconciled on merge: clean against the tip, with the two chat chokepoints this PR grows (src/sse/handlers/chat.ts +40, open-sse/handlers/chatCore.ts +30) recorded in the file-size baseline under an annotation. Verified that exactly those two caps move and nothing else, so the #12411 ratchet holds. The rebaseline is carried on this branch rather than left in a validation worktree — the propagation mistake that put the 2026-09-02 merge waves base-red in #12434. Verified: 504/504 across the PR's 44 test files plus all four chatgpt-web retirement suites, check:provider-consistency OK (272 REGISTRY entries, 355 canonical providers), check-file-size OK, and every changed TypeScript file parses. Thanks @backryun — separating the clean-room id from the retired alias, instead of reopening the old one, is what made this reviewable.
🌐 Multilingual Documentation — OmniRoute
Translations of documentation into 42 languages; together with the English source, the UI supports 43 locales. Code blocks remain in English.
- 🇸🇦 العربية (
ar): Docs Root - 🇦🇿 Azərbaycan dili (
az): Docs Root - 🇧🇬 Български (
bg): Docs Root - 🇧🇩 বাংলা (
bn): Docs Root - 🇨🇿 Čeština (
cs): Docs Root - 🇩🇰 Dansk (
da): Docs Root - 🇩🇪 Deutsch (
de): Docs Root - 🇪🇸 Español (
es): Docs Root - 🇮🇷 فارسی (
fa): Docs Root - 🇫🇮 Suomi (
fi): Docs Root - 🇫🇷 Français (
fr): Docs Root - 🇮🇳 ગુજરાતી (
gu): Docs Root - 🇮🇱 עברית (
he): Docs Root - 🇮🇳 हिन्दी (
hi): Docs Root - 🇭🇺 Magyar (
hu): Docs Root - 🇮🇩 Bahasa Indonesia (
id): Docs Root - 🇮🇹 Italiano (
it): Docs Root - 🇯🇵 日本語 (
ja): Docs Root - 🇰🇷 한국어 (
ko): Docs Root - 🇮🇳 मराठी (
mr): Docs Root - 🇲🇾 Bahasa Melayu (
ms): Docs Root - 🇳🇱 Nederlands (
nl): Docs Root - 🇳🇴 Norsk (
no): Docs Root - 🇵🇭 Filipino (
phi): Docs Root - 🇵🇱 Polski (
pl): Docs Root - 🇵🇹 Português (Portugal) (
pt): Docs Root - 🇧🇷 Português (Brasil) (
pt-BR): Docs Root - 🇷🇴 Română (
ro): Docs Root - 🇷🇺 Русский (
ru): Docs Root - 🇸🇰 Slovenčina (
sk): Docs Root - 🇸🇪 Svenska (
sv): Docs Root - 🇰🇪 Kiswahili (
sw): Docs Root - 🇮🇳 தமிழ் (
ta): Docs Root - 🇮🇳 తెలుగు (
te): Docs Root - 🇹🇭 ไทย (
th): Docs Root - 🇹🇷 Türkçe (
tr): Docs Root - 🇺🇦 Українська (
uk-UA): Docs Root - 🇵🇰 اردو (
ur): Docs Root - 🇻🇳 Tiếng Việt (
vi): Docs Root - 🇹🇼 中文 (繁體) (
zh-TW): Docs Root - 🇨🇳 中文 (简体) (
zh-CN): Docs Root