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:
@@ -1,100 +1,57 @@
|
||||
|
||||
export default {
|
||||
"id": "cursor",
|
||||
"alias": "cu",
|
||||
id: "cursor",
|
||||
alias: "cu",
|
||||
uiAlias: "cu",
|
||||
display: {
|
||||
"name": "Cursor IDE",
|
||||
"icon": "edit_note",
|
||||
"color": "#00D4AA",
|
||||
"website": "https://cursor.com",
|
||||
"notice": {
|
||||
"signupUrl": "https://cursor.com"
|
||||
}
|
||||
name: "Cursor IDE",
|
||||
icon: "edit_note",
|
||||
color: "#00D4AA",
|
||||
website: "https://cursor.com",
|
||||
notice: {
|
||||
signupUrl: "https://cursor.com",
|
||||
},
|
||||
},
|
||||
category: "oauth",
|
||||
uiAlias: "cu",
|
||||
"transport": {
|
||||
"baseUrl": "https://api2.cursor.sh",
|
||||
"chatPath": "/aiserver.v1.ChatService/StreamUnifiedChatWithTools",
|
||||
"format": "cursor",
|
||||
"headers": {
|
||||
transport: {
|
||||
baseUrl: "https://api2.cursor.sh",
|
||||
chatPath: "/aiserver.v1.ChatService/StreamUnifiedChatWithTools",
|
||||
format: "cursor",
|
||||
headers: {
|
||||
"connect-accept-encoding": "gzip",
|
||||
"connect-protocol-version": "1",
|
||||
"Content-Type": "application/connect+proto",
|
||||
"User-Agent": "connect-es/1.6.1"
|
||||
"User-Agent": "connect-es/1.6.1",
|
||||
},
|
||||
"clientVersion": "3.1.0"
|
||||
clientVersion: "3.1.0",
|
||||
},
|
||||
"oauth": {
|
||||
"apiEndpoint": "https://api2.cursor.sh",
|
||||
"chatEndpoint": "/aiserver.v1.ChatService/StreamUnifiedChatWithTools",
|
||||
"modelsEndpoint": "/aiserver.v1.AiService/GetDefaultModelNudgeData",
|
||||
"api3Endpoint": "https://api3.cursor.sh",
|
||||
"agentEndpoint": "https://agent.api5.cursor.sh",
|
||||
"agentNonPrivacyEndpoint": "https://agentn.api5.cursor.sh",
|
||||
"clientVersion": "3.1.0",
|
||||
"clientType": "ide",
|
||||
"dbKeys": {
|
||||
"accessToken": "cursorAuth/accessToken",
|
||||
"machineId": "storage.serviceMachineId"
|
||||
}
|
||||
models: [
|
||||
{ id: "default", name: "Auto (Server Picks)" },
|
||||
{ id: "claude-4.5-opus-high-thinking", name: "Claude 4.5 Opus High Thinking" },
|
||||
{ id: "claude-4.5-opus-high", name: "Claude 4.5 Opus High" },
|
||||
{ id: "claude-4.5-sonnet-thinking", name: "Claude 4.5 Sonnet Thinking" },
|
||||
{ id: "claude-4.5-sonnet", name: "Claude 4.5 Sonnet" },
|
||||
{ id: "claude-4.5-haiku", name: "Claude 4.5 Haiku" },
|
||||
{ id: "claude-4.5-opus", name: "Claude 4.5 Opus" },
|
||||
{ id: "gpt-5.2-codex", name: "GPT 5.2 Codex" },
|
||||
{ id: "claude-4.6-opus-max", name: "Claude 4.6 Opus Max" },
|
||||
{ id: "claude-4.6-sonnet-medium-thinking", name: "Claude 4.6 Sonnet Medium Thinking" },
|
||||
{ id: "kimi-k2.5", name: "Kimi K2.5" },
|
||||
{ id: "gemini-3-flash-preview", name: "Gemini 3 Flash Preview" },
|
||||
{ id: "gpt-5.2", name: "GPT 5.2" },
|
||||
{ id: "gpt-5.3-codex", name: "GPT 5.3 Codex" },
|
||||
],
|
||||
oauth: {
|
||||
apiEndpoint: "https://api2.cursor.sh",
|
||||
chatEndpoint: "/aiserver.v1.ChatService/StreamUnifiedChatWithTools",
|
||||
modelsEndpoint: "/aiserver.v1.AiService/GetDefaultModelNudgeData",
|
||||
api3Endpoint: "https://api3.cursor.sh",
|
||||
agentEndpoint: "https://agent.api5.cursor.sh",
|
||||
agentNonPrivacyEndpoint: "https://agentn.api5.cursor.sh",
|
||||
clientVersion: "3.1.0",
|
||||
clientType: "ide",
|
||||
dbKeys: {
|
||||
accessToken: "cursorAuth/accessToken",
|
||||
machineId: "storage.serviceMachineId",
|
||||
},
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "default",
|
||||
"name": "Auto (Server Picks)"
|
||||
},
|
||||
{
|
||||
"id": "claude-4.5-opus-high-thinking",
|
||||
"name": "Claude 4.5 Opus High Thinking"
|
||||
},
|
||||
{
|
||||
"id": "claude-4.5-opus-high",
|
||||
"name": "Claude 4.5 Opus High"
|
||||
},
|
||||
{
|
||||
"id": "claude-4.5-sonnet-thinking",
|
||||
"name": "Claude 4.5 Sonnet Thinking"
|
||||
},
|
||||
{
|
||||
"id": "claude-4.5-sonnet",
|
||||
"name": "Claude 4.5 Sonnet"
|
||||
},
|
||||
{
|
||||
"id": "claude-4.5-haiku",
|
||||
"name": "Claude 4.5 Haiku"
|
||||
},
|
||||
{
|
||||
"id": "claude-4.5-opus",
|
||||
"name": "Claude 4.5 Opus"
|
||||
},
|
||||
{
|
||||
"id": "gpt-5.2-codex",
|
||||
"name": "GPT 5.2 Codex"
|
||||
},
|
||||
{
|
||||
"id": "claude-4.6-opus-max",
|
||||
"name": "Claude 4.6 Opus Max"
|
||||
},
|
||||
{
|
||||
"id": "claude-4.6-sonnet-medium-thinking",
|
||||
"name": "Claude 4.6 Sonnet Medium Thinking"
|
||||
},
|
||||
{
|
||||
"id": "kimi-k2.5",
|
||||
"name": "Kimi K2.5"
|
||||
},
|
||||
{
|
||||
"id": "gemini-3-flash-preview",
|
||||
"name": "Gemini 3 Flash Preview"
|
||||
},
|
||||
{
|
||||
"id": "gpt-5.2",
|
||||
"name": "GPT 5.2"
|
||||
},
|
||||
{
|
||||
"id": "gpt-5.3-codex",
|
||||
"name": "GPT 5.3 Codex"
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user