mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-03 22:02:08 +03:00
feat(providers): add SumoPod and X5Lab OpenAI-compatible providers (#5963)
* feat(providers): add SumoPod and X5Lab OpenAI-compatible providers Both are OpenAI-compatible BYOK aggregator gateways, wired via the default executor with bearer API-key auth. Neither ships a hardcoded model list — both use passthroughModels with an empty seed list and a live /v1/models fetcher, so the catalog always reflects what each gateway actually serves instead of speculative model IDs. - SumoPod: https://ai.sumopod.com/v1/chat/completions (sk- keys) - X5Lab: https://api.x5lab.dev/v1/chat/completions (x5- keys) Regression guard: tests/unit/sumopod-x5lab-provider.test.ts. Co-authored-by: Rigel Ramadhani Waloni <rigel8911@gmail.com> Inspired-by: https://github.com/decolua/9router/pull/1288 * chore(changelog): restore release entries + add sumopod/x5lab bullet * test(golden): regenerate translate-path for sumopod + x5lab providers * test(providers): bump APIKEY count 164→166 for sumopod + x5lab --------- Co-authored-by: Rigel Ramadhani Waloni <rigel8911@gmail.com>
This commit is contained in:
committed by
GitHub
parent
7658a7da1e
commit
f984bef4ec
@@ -20,6 +20,8 @@ export const PROVIDER_ENDPOINTS = {
|
||||
openadapter: "https://api.openadapter.in/v1/chat/completions",
|
||||
dit: "https://api.dit.ai/v1/chat/completions",
|
||||
tokenrouter: "https://api.tokenrouter.com/v1/chat/completions",
|
||||
sumopod: "https://ai.sumopod.com/v1/chat/completions",
|
||||
x5lab: "https://api.x5lab.dev/v1/chat/completions",
|
||||
openai: "https://api.openai.com/v1/chat/completions",
|
||||
anthropic: "https://api.anthropic.com/v1/messages",
|
||||
gemini: "https://generativelanguage.googleapis.com/v1beta/models",
|
||||
|
||||
@@ -602,4 +602,32 @@ export const APIKEY_PROVIDERS_GATEWAYS = {
|
||||
apiHint:
|
||||
"TokenRouter exposes an OpenAI-compatible chat completions endpoint at https://api.tokenrouter.com/v1/chat/completions, plus a working /v1/models catalog. OmniRoute uses the OpenAI protocol.",
|
||||
},
|
||||
sumopod: {
|
||||
id: "sumopod",
|
||||
alias: "sumopod",
|
||||
name: "SumoPod",
|
||||
icon: "router",
|
||||
color: "#2563EB",
|
||||
textIcon: "SP",
|
||||
passthroughModels: true,
|
||||
website: "https://ai.sumopod.com",
|
||||
authHint:
|
||||
"Use your SumoPod API key (sk-...) in Authorization: Bearer <key>. Fully OpenAI-compatible. API base URL: https://ai.sumopod.com/v1.",
|
||||
apiHint:
|
||||
"SumoPod exposes an OpenAI-compatible chat completions endpoint at https://ai.sumopod.com/v1/chat/completions, plus a live /v1/models catalog. OmniRoute uses the OpenAI protocol and lists models via passthrough.",
|
||||
},
|
||||
x5lab: {
|
||||
id: "x5lab",
|
||||
alias: "x5lab",
|
||||
name: "X5Lab",
|
||||
icon: "router",
|
||||
color: "#7C3AED",
|
||||
textIcon: "X5",
|
||||
passthroughModels: true,
|
||||
website: "https://x5lab.dev",
|
||||
authHint:
|
||||
"Use your X5Lab API key (x5-...) in Authorization: Bearer <key>. Fully OpenAI-compatible. API base URL: https://api.x5lab.dev/v1.",
|
||||
apiHint:
|
||||
"X5Lab exposes an OpenAI-compatible chat completions endpoint at https://api.x5lab.dev/v1/chat/completions, plus a live /v1/models catalog. OmniRoute uses the OpenAI protocol and lists models via passthrough.",
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user