refactor(ai): migrate mistral provider to conversations sdk

This commit is contained in:
Abdeslam Yassine Agmar 2026-03-03 11:33:17 +00:00
parent 9a4fe52654
commit eb9f1183ad
No known key found for this signature in database
GPG key ID: 146F5C7179A49F57
17 changed files with 723 additions and 171 deletions

View file

@ -4485,9 +4485,9 @@ export const MODELS = {
"codestral-latest": {
id: "codestral-latest",
name: "Codestral",
api: "openai-completions",
api: "mistral-conversations",
provider: "mistral",
baseUrl: "https://api.mistral.ai/v1",
baseUrl: "https://api.mistral.ai",
reasoning: false,
input: ["text"],
cost: {
@ -4498,13 +4498,13 @@ export const MODELS = {
},
contextWindow: 256000,
maxTokens: 4096,
} satisfies Model<"openai-completions">,
} satisfies Model<"mistral-conversations">,
"devstral-2512": {
id: "devstral-2512",
name: "Devstral 2",
api: "openai-completions",
api: "mistral-conversations",
provider: "mistral",
baseUrl: "https://api.mistral.ai/v1",
baseUrl: "https://api.mistral.ai",
reasoning: false,
input: ["text"],
cost: {
@ -4515,13 +4515,13 @@ export const MODELS = {
},
contextWindow: 262144,
maxTokens: 262144,
} satisfies Model<"openai-completions">,
} satisfies Model<"mistral-conversations">,
"devstral-medium-2507": {
id: "devstral-medium-2507",
name: "Devstral Medium",
api: "openai-completions",
api: "mistral-conversations",
provider: "mistral",
baseUrl: "https://api.mistral.ai/v1",
baseUrl: "https://api.mistral.ai",
reasoning: false,
input: ["text"],
cost: {
@ -4532,13 +4532,13 @@ export const MODELS = {
},
contextWindow: 128000,
maxTokens: 128000,
} satisfies Model<"openai-completions">,
} satisfies Model<"mistral-conversations">,
"devstral-medium-latest": {
id: "devstral-medium-latest",
name: "Devstral 2",
api: "openai-completions",
api: "mistral-conversations",
provider: "mistral",
baseUrl: "https://api.mistral.ai/v1",
baseUrl: "https://api.mistral.ai",
reasoning: false,
input: ["text"],
cost: {
@ -4549,13 +4549,13 @@ export const MODELS = {
},
contextWindow: 262144,
maxTokens: 262144,
} satisfies Model<"openai-completions">,
} satisfies Model<"mistral-conversations">,
"devstral-small-2505": {
id: "devstral-small-2505",
name: "Devstral Small 2505",
api: "openai-completions",
api: "mistral-conversations",
provider: "mistral",
baseUrl: "https://api.mistral.ai/v1",
baseUrl: "https://api.mistral.ai",
reasoning: false,
input: ["text"],
cost: {
@ -4566,13 +4566,13 @@ export const MODELS = {
},
contextWindow: 128000,
maxTokens: 128000,
} satisfies Model<"openai-completions">,
} satisfies Model<"mistral-conversations">,
"devstral-small-2507": {
id: "devstral-small-2507",
name: "Devstral Small",
api: "openai-completions",
api: "mistral-conversations",
provider: "mistral",
baseUrl: "https://api.mistral.ai/v1",
baseUrl: "https://api.mistral.ai",
reasoning: false,
input: ["text"],
cost: {
@ -4583,13 +4583,13 @@ export const MODELS = {
},
contextWindow: 128000,
maxTokens: 128000,
} satisfies Model<"openai-completions">,
} satisfies Model<"mistral-conversations">,
"labs-devstral-small-2512": {
id: "labs-devstral-small-2512",
name: "Devstral Small 2",
api: "openai-completions",
api: "mistral-conversations",
provider: "mistral",
baseUrl: "https://api.mistral.ai/v1",
baseUrl: "https://api.mistral.ai",
reasoning: false,
input: ["text", "image"],
cost: {
@ -4600,13 +4600,13 @@ export const MODELS = {
},
contextWindow: 256000,
maxTokens: 256000,
} satisfies Model<"openai-completions">,
} satisfies Model<"mistral-conversations">,
"magistral-medium-latest": {
id: "magistral-medium-latest",
name: "Magistral Medium",
api: "openai-completions",
api: "mistral-conversations",
provider: "mistral",
baseUrl: "https://api.mistral.ai/v1",
baseUrl: "https://api.mistral.ai",
reasoning: true,
input: ["text"],
cost: {
@ -4617,13 +4617,13 @@ export const MODELS = {
},
contextWindow: 128000,
maxTokens: 16384,
} satisfies Model<"openai-completions">,
} satisfies Model<"mistral-conversations">,
"magistral-small": {
id: "magistral-small",
name: "Magistral Small",
api: "openai-completions",
api: "mistral-conversations",
provider: "mistral",
baseUrl: "https://api.mistral.ai/v1",
baseUrl: "https://api.mistral.ai",
reasoning: true,
input: ["text"],
cost: {
@ -4634,13 +4634,13 @@ export const MODELS = {
},
contextWindow: 128000,
maxTokens: 128000,
} satisfies Model<"openai-completions">,
} satisfies Model<"mistral-conversations">,
"ministral-3b-latest": {
id: "ministral-3b-latest",
name: "Ministral 3B",
api: "openai-completions",
api: "mistral-conversations",
provider: "mistral",
baseUrl: "https://api.mistral.ai/v1",
baseUrl: "https://api.mistral.ai",
reasoning: false,
input: ["text"],
cost: {
@ -4651,13 +4651,13 @@ export const MODELS = {
},
contextWindow: 128000,
maxTokens: 128000,
} satisfies Model<"openai-completions">,
} satisfies Model<"mistral-conversations">,
"ministral-8b-latest": {
id: "ministral-8b-latest",
name: "Ministral 8B",
api: "openai-completions",
api: "mistral-conversations",
provider: "mistral",
baseUrl: "https://api.mistral.ai/v1",
baseUrl: "https://api.mistral.ai",
reasoning: false,
input: ["text"],
cost: {
@ -4668,13 +4668,13 @@ export const MODELS = {
},
contextWindow: 128000,
maxTokens: 128000,
} satisfies Model<"openai-completions">,
} satisfies Model<"mistral-conversations">,
"mistral-large-2411": {
id: "mistral-large-2411",
name: "Mistral Large 2.1",
api: "openai-completions",
api: "mistral-conversations",
provider: "mistral",
baseUrl: "https://api.mistral.ai/v1",
baseUrl: "https://api.mistral.ai",
reasoning: false,
input: ["text"],
cost: {
@ -4685,13 +4685,13 @@ export const MODELS = {
},
contextWindow: 131072,
maxTokens: 16384,
} satisfies Model<"openai-completions">,
} satisfies Model<"mistral-conversations">,
"mistral-large-2512": {
id: "mistral-large-2512",
name: "Mistral Large 3",
api: "openai-completions",
api: "mistral-conversations",
provider: "mistral",
baseUrl: "https://api.mistral.ai/v1",
baseUrl: "https://api.mistral.ai",
reasoning: false,
input: ["text", "image"],
cost: {
@ -4702,13 +4702,13 @@ export const MODELS = {
},
contextWindow: 262144,
maxTokens: 262144,
} satisfies Model<"openai-completions">,
} satisfies Model<"mistral-conversations">,
"mistral-large-latest": {
id: "mistral-large-latest",
name: "Mistral Large",
api: "openai-completions",
api: "mistral-conversations",
provider: "mistral",
baseUrl: "https://api.mistral.ai/v1",
baseUrl: "https://api.mistral.ai",
reasoning: false,
input: ["text", "image"],
cost: {
@ -4719,13 +4719,13 @@ export const MODELS = {
},
contextWindow: 262144,
maxTokens: 262144,
} satisfies Model<"openai-completions">,
} satisfies Model<"mistral-conversations">,
"mistral-medium-2505": {
id: "mistral-medium-2505",
name: "Mistral Medium 3",
api: "openai-completions",
api: "mistral-conversations",
provider: "mistral",
baseUrl: "https://api.mistral.ai/v1",
baseUrl: "https://api.mistral.ai",
reasoning: false,
input: ["text", "image"],
cost: {
@ -4736,13 +4736,13 @@ export const MODELS = {
},
contextWindow: 131072,
maxTokens: 131072,
} satisfies Model<"openai-completions">,
} satisfies Model<"mistral-conversations">,
"mistral-medium-2508": {
id: "mistral-medium-2508",
name: "Mistral Medium 3.1",
api: "openai-completions",
api: "mistral-conversations",
provider: "mistral",
baseUrl: "https://api.mistral.ai/v1",
baseUrl: "https://api.mistral.ai",
reasoning: false,
input: ["text", "image"],
cost: {
@ -4753,13 +4753,13 @@ export const MODELS = {
},
contextWindow: 262144,
maxTokens: 262144,
} satisfies Model<"openai-completions">,
} satisfies Model<"mistral-conversations">,
"mistral-medium-latest": {
id: "mistral-medium-latest",
name: "Mistral Medium",
api: "openai-completions",
api: "mistral-conversations",
provider: "mistral",
baseUrl: "https://api.mistral.ai/v1",
baseUrl: "https://api.mistral.ai",
reasoning: false,
input: ["text", "image"],
cost: {
@ -4770,13 +4770,13 @@ export const MODELS = {
},
contextWindow: 128000,
maxTokens: 16384,
} satisfies Model<"openai-completions">,
} satisfies Model<"mistral-conversations">,
"mistral-nemo": {
id: "mistral-nemo",
name: "Mistral Nemo",
api: "openai-completions",
api: "mistral-conversations",
provider: "mistral",
baseUrl: "https://api.mistral.ai/v1",
baseUrl: "https://api.mistral.ai",
reasoning: false,
input: ["text"],
cost: {
@ -4787,13 +4787,13 @@ export const MODELS = {
},
contextWindow: 128000,
maxTokens: 128000,
} satisfies Model<"openai-completions">,
} satisfies Model<"mistral-conversations">,
"mistral-small-2506": {
id: "mistral-small-2506",
name: "Mistral Small 3.2",
api: "openai-completions",
api: "mistral-conversations",
provider: "mistral",
baseUrl: "https://api.mistral.ai/v1",
baseUrl: "https://api.mistral.ai",
reasoning: false,
input: ["text", "image"],
cost: {
@ -4804,13 +4804,13 @@ export const MODELS = {
},
contextWindow: 128000,
maxTokens: 16384,
} satisfies Model<"openai-completions">,
} satisfies Model<"mistral-conversations">,
"mistral-small-latest": {
id: "mistral-small-latest",
name: "Mistral Small",
api: "openai-completions",
api: "mistral-conversations",
provider: "mistral",
baseUrl: "https://api.mistral.ai/v1",
baseUrl: "https://api.mistral.ai",
reasoning: false,
input: ["text", "image"],
cost: {
@ -4821,13 +4821,13 @@ export const MODELS = {
},
contextWindow: 128000,
maxTokens: 16384,
} satisfies Model<"openai-completions">,
} satisfies Model<"mistral-conversations">,
"open-mistral-7b": {
id: "open-mistral-7b",
name: "Mistral 7B",
api: "openai-completions",
api: "mistral-conversations",
provider: "mistral",
baseUrl: "https://api.mistral.ai/v1",
baseUrl: "https://api.mistral.ai",
reasoning: false,
input: ["text"],
cost: {
@ -4838,13 +4838,13 @@ export const MODELS = {
},
contextWindow: 8000,
maxTokens: 8000,
} satisfies Model<"openai-completions">,
} satisfies Model<"mistral-conversations">,
"open-mixtral-8x22b": {
id: "open-mixtral-8x22b",
name: "Mixtral 8x22B",
api: "openai-completions",
api: "mistral-conversations",
provider: "mistral",
baseUrl: "https://api.mistral.ai/v1",
baseUrl: "https://api.mistral.ai",
reasoning: false,
input: ["text"],
cost: {
@ -4855,13 +4855,13 @@ export const MODELS = {
},
contextWindow: 64000,
maxTokens: 64000,
} satisfies Model<"openai-completions">,
} satisfies Model<"mistral-conversations">,
"open-mixtral-8x7b": {
id: "open-mixtral-8x7b",
name: "Mixtral 8x7B",
api: "openai-completions",
api: "mistral-conversations",
provider: "mistral",
baseUrl: "https://api.mistral.ai/v1",
baseUrl: "https://api.mistral.ai",
reasoning: false,
input: ["text"],
cost: {
@ -4872,13 +4872,13 @@ export const MODELS = {
},
contextWindow: 32000,
maxTokens: 32000,
} satisfies Model<"openai-completions">,
} satisfies Model<"mistral-conversations">,
"pixtral-12b": {
id: "pixtral-12b",
name: "Pixtral 12B",
api: "openai-completions",
api: "mistral-conversations",
provider: "mistral",
baseUrl: "https://api.mistral.ai/v1",
baseUrl: "https://api.mistral.ai",
reasoning: false,
input: ["text", "image"],
cost: {
@ -4889,13 +4889,13 @@ export const MODELS = {
},
contextWindow: 128000,
maxTokens: 128000,
} satisfies Model<"openai-completions">,
} satisfies Model<"mistral-conversations">,
"pixtral-large-latest": {
id: "pixtral-large-latest",
name: "Pixtral Large",
api: "openai-completions",
api: "mistral-conversations",
provider: "mistral",
baseUrl: "https://api.mistral.ai/v1",
baseUrl: "https://api.mistral.ai",
reasoning: false,
input: ["text", "image"],
cost: {
@ -4906,7 +4906,7 @@ export const MODELS = {
},
contextWindow: 128000,
maxTokens: 128000,
} satisfies Model<"openai-completions">,
} satisfies Model<"mistral-conversations">,
},
"openai": {
"codex-mini-latest": {