9router/open-sse/providers/registry/mistral.js
decolua bb9e9aa91f refactor(open-sse): registry consolidation + DRY media/oauth/adhoc cleanup
- Single-source registry: oauth clientId/tokenUrl, usage URLs, image/embed
  configs, search defaultModel, codex fixedPort, google token url derive.
- Remove 29 unused OmniRoute providers (registry 100→71); media intact.
- De-adhoc: codex literals → registry format/oauth flags; reasoningInject,
  image/embed openrouter headers + xai bodyFields config-driven.
- Add REGISTRY_TEMPLATE.js + expand PROVIDER_DEFAULTS/schema JSDoc.
- Baselines updated; PROVIDERS 62 + alias 90 byte-for-byte, golden snapshots.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-14 13:15:48 +07:00

43 lines
1.1 KiB
JavaScript

export default {
"id": "mistral",
"alias": "mistral",
display: {
"name": "Mistral",
"icon": "air",
"color": "#FF7000",
"textIcon": "MI",
"website": "https://mistral.ai",
"notice": {
"apiKeyUrl": "https://console.mistral.ai/api-keys"
}
},
category: "apikey",
"transport": {
"baseUrl": "https://api.mistral.ai/v1/chat/completions",
"validateUrl": "https://api.mistral.ai/v1/models",
"quirks": { "dropClientMetadata": true }
},
media: {
serviceKinds: ["llm", "imageToText", "embedding"],
embeddingConfig: { baseUrl: "https://api.mistral.ai/v1/embeddings", authType: "apikey", authHeader: "bearer", models: [{ id: "mistral-embed", name: "Mistral Embed", dimensions: 1024 }] }
},
"models": [
{
"id": "mistral-large-latest",
"name": "Mistral Large 3"
},
{
"id": "codestral-latest",
"name": "Codestral"
},
{
"id": "mistral-medium-latest",
"name": "Mistral Medium 3"
},
{
"id": "mistral-embed",
"name": "Mistral Embed",
"type": "embedding"
}
]
};