refactor(registry): B2 migrate to LiteLLM-style schema — unified models[] with kind field

- 71 registry files: flat `media.*Config.models` → `models[]` with `kind` field
- `media` wrapper removed → serviceKinds, *Config fields promoted top-level
- `type` field renamed to `kind` (llm/image/tts/stt/embedding/embedding/video/music)
- providers/index.js: PROVIDER_MEDIA now built from flat top-level media fields
- shared/constants/providers.js: buildProviderEntry reads flat top-level media fields
- route /v1/models: modelKind() uses kind||type; removed subConfig merge block
- models/info route: removed sub-config fallback lookup (all models in PROVIDER_MODELS)
- ttsProviders/index.js: synthesizeViaConfig reads tts models from PROVIDER_MODELS
- test-models route, helpers.js, validate route: kind||type compat
- Baselines: PROVIDERS 62/62 , Alias 90/90 

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
decolua
2026-06-14 14:32:59 +07:00
co-authored by Cursor
parent e53ce79abb
commit dd1e0f9bcc
82 changed files with 2516 additions and 3649 deletions
+46 -79
View File
@@ -1,86 +1,53 @@
export default {
"id": "qoder",
"alias": "qd",
id: "qoder",
alias: "qd",
uiAlias: "qd",
display: {
"name": "Qoder",
"icon": "water_drop",
"color": "#EC4899",
"website": "https://qoder.com",
"notice": {
"signupUrl": "https://qoder.com"
},
"deprecated": true,
"deprecationNotice": "RISK_NOTICE"
name: "Qoder",
icon: "water_drop",
color: "#EC4899",
website: "https://qoder.com",
notice: {
signupUrl: "https://qoder.com",
},
deprecated: true,
deprecationNotice: "RISK_NOTICE",
},
category: "free",
uiAlias: "qd",
"transport": {
"baseUrl": "https://api3.qoder.sh/algo/api/v2/service/pro/sse/agent_chat_generation",
"headers": {},
"timeoutMs": 120000,
"stallTimeoutMs": 120000,
usage: { url: "https://openapi.qoder.sh/api/v2/quota/usage" }
transport: {
baseUrl: "https://api3.qoder.sh/algo/api/v2/service/pro/sse/agent_chat_generation",
headers: {},
timeoutMs: 120000,
stallTimeoutMs: 120000,
usage: {
url: "https://openapi.qoder.sh/api/v2/quota/usage",
},
},
"oauth": {
"openApiBaseUrl": "https://openapi.qoder.sh",
"centerBaseUrl": "https://center.qoder.sh",
"chatBaseUrl": "https://api3.qoder.sh",
"deviceTokenUrl": "https://openapi.qoder.sh/api/v1/deviceToken/poll",
"refreshUrl": "https://center.qoder.sh/algo/api/v3/user/refresh_token",
"userInfoUrl": "https://openapi.qoder.sh/api/v1/userinfo",
"quotaUsageUrl": "https://openapi.qoder.sh/api/v2/quota/usage",
"loginUrl": "https://qoder.com/device/selectAccounts"
},
"models": [
{
"id": "auto",
"name": "Qoder Auto"
},
{
"id": "ultimate",
"name": "Qoder Ultimate"
},
{
"id": "performance",
"name": "Qoder Performance"
},
{
"id": "efficient",
"name": "Qoder Efficient"
},
{
"id": "lite",
"name": "Qoder Lite"
},
{
"id": "qmodel",
"name": "Qwen 3.6 Plus (Qoder)"
},
{
"id": "qmodel_latest",
"name": "Qoder Qwen 3.7 Max"
},
{
"id": "dmodel",
"name": "DeepSeek V4 Pro (Qoder)"
},
{
"id": "dfmodel",
"name": "DeepSeek V4 Flash (Qoder)"
},
{
"id": "gm51model",
"name": "GLM 5.1 (Qoder)"
},
{
"id": "kmodel",
"name": "Kimi K2.6 (Qoder)"
},
{
"id": "mmodel",
"name": "MiniMax M2.7 (Qoder)"
}
models: [
{ id: "auto", name: "Qoder Auto" },
{ id: "ultimate", name: "Qoder Ultimate" },
{ id: "performance", name: "Qoder Performance" },
{ id: "efficient", name: "Qoder Efficient" },
{ id: "lite", name: "Qoder Lite" },
{ id: "qmodel", name: "Qwen 3.6 Plus (Qoder)" },
{ id: "qmodel_latest", name: "Qoder Qwen 3.7 Max" },
{ id: "dmodel", name: "DeepSeek V4 Pro (Qoder)" },
{ id: "dfmodel", name: "DeepSeek V4 Flash (Qoder)" },
{ id: "gm51model", name: "GLM 5.1 (Qoder)" },
{ id: "kmodel", name: "Kimi K2.6 (Qoder)" },
{ id: "mmodel", name: "MiniMax M2.7 (Qoder)" },
],
features: {"usage":true},
oauth: {
openApiBaseUrl: "https://openapi.qoder.sh",
centerBaseUrl: "https://center.qoder.sh",
chatBaseUrl: "https://api3.qoder.sh",
deviceTokenUrl: "https://openapi.qoder.sh/api/v1/deviceToken/poll",
refreshUrl: "https://center.qoder.sh/algo/api/v3/user/refresh_token",
userInfoUrl: "https://openapi.qoder.sh/api/v1/userinfo",
quotaUsageUrl: "https://openapi.qoder.sh/api/v2/quota/usage",
loginUrl: "https://qoder.com/device/selectAccounts",
},
features: {
usage: true,
},
};