@ai-sdk/mistral
Advanced tools
Comparing version 0.0.40 to 0.0.41
@@ -30,10 +30,10 @@ "use strict"; | ||
// src/mistral-facade.ts | ||
var import_provider_utils3 = require("@ai-sdk/provider-utils"); | ||
var import_provider_utils4 = require("@ai-sdk/provider-utils"); | ||
// src/mistral-chat-language-model.ts | ||
var import_provider_utils2 = require("@ai-sdk/provider-utils"); | ||
var import_provider_utils3 = require("@ai-sdk/provider-utils"); | ||
var import_zod2 = require("zod"); | ||
// src/convert-to-mistral-chat-messages.ts | ||
var import_provider = require("@ai-sdk/provider"); | ||
var import_provider_utils = require("@ai-sdk/provider-utils"); | ||
function convertToMistralChatMessages(prompt) { | ||
@@ -51,13 +51,15 @@ const messages = []; | ||
content: content.map((part) => { | ||
var _a; | ||
switch (part.type) { | ||
case "text": { | ||
return part.text; | ||
return { type: "text", text: part.text }; | ||
} | ||
case "image": { | ||
throw new import_provider.UnsupportedFunctionalityError({ | ||
functionality: "image-part" | ||
}); | ||
return { | ||
type: "image_url", | ||
image_url: part.image instanceof URL ? part.image.toString() : `data:${(_a = part.mimeType) != null ? _a : "image/jpeg"};base64,${(0, import_provider_utils.convertUint8ArrayToBase64)(part.image)}` | ||
}; | ||
} | ||
} | ||
}).join("") | ||
}) | ||
}); | ||
@@ -135,3 +137,3 @@ break; | ||
// src/mistral-error.ts | ||
var import_provider_utils = require("@ai-sdk/provider-utils"); | ||
var import_provider_utils2 = require("@ai-sdk/provider-utils"); | ||
var import_zod = require("zod"); | ||
@@ -145,3 +147,3 @@ var mistralErrorDataSchema = import_zod.z.object({ | ||
}); | ||
var mistralFailedResponseHandler = (0, import_provider_utils.createJsonErrorResponseHandler)({ | ||
var mistralFailedResponseHandler = (0, import_provider_utils2.createJsonErrorResponseHandler)({ | ||
errorSchema: mistralErrorDataSchema, | ||
@@ -169,2 +171,3 @@ errorToMessage: (data) => data.message | ||
this.defaultObjectGenerationMode = "json"; | ||
this.supportsImageUrls = false; | ||
this.modelId = modelId; | ||
@@ -273,8 +276,8 @@ this.settings = settings; | ||
const { args, warnings } = this.getArgs(options); | ||
const { responseHeaders, value: response } = await (0, import_provider_utils2.postJsonToApi)({ | ||
const { responseHeaders, value: response } = await (0, import_provider_utils3.postJsonToApi)({ | ||
url: `${this.config.baseURL}/chat/completions`, | ||
headers: (0, import_provider_utils2.combineHeaders)(this.config.headers(), options.headers), | ||
headers: (0, import_provider_utils3.combineHeaders)(this.config.headers(), options.headers), | ||
body: args, | ||
failedResponseHandler: mistralFailedResponseHandler, | ||
successfulResponseHandler: (0, import_provider_utils2.createJsonResponseHandler)( | ||
successfulResponseHandler: (0, import_provider_utils3.createJsonResponseHandler)( | ||
mistralChatResponseSchema | ||
@@ -308,8 +311,8 @@ ), | ||
const { args, warnings } = this.getArgs(options); | ||
const { responseHeaders, value: response } = await (0, import_provider_utils2.postJsonToApi)({ | ||
const { responseHeaders, value: response } = await (0, import_provider_utils3.postJsonToApi)({ | ||
url: `${this.config.baseURL}/chat/completions`, | ||
headers: (0, import_provider_utils2.combineHeaders)(this.config.headers(), options.headers), | ||
headers: (0, import_provider_utils3.combineHeaders)(this.config.headers(), options.headers), | ||
body: { ...args, stream: true }, | ||
failedResponseHandler: mistralFailedResponseHandler, | ||
successfulResponseHandler: (0, import_provider_utils2.createEventSourceResponseHandler)( | ||
successfulResponseHandler: (0, import_provider_utils3.createEventSourceResponseHandler)( | ||
mistralChatChunkSchema | ||
@@ -490,3 +493,3 @@ ), | ||
var _a, _b; | ||
this.baseURL = (_b = (0, import_provider_utils3.withoutTrailingSlash)((_a = options.baseURL) != null ? _a : options.baseUrl)) != null ? _b : "https://api.mistral.ai/v1"; | ||
this.baseURL = (_b = (0, import_provider_utils4.withoutTrailingSlash)((_a = options.baseURL) != null ? _a : options.baseUrl)) != null ? _b : "https://api.mistral.ai/v1"; | ||
this.apiKey = options.apiKey; | ||
@@ -499,3 +502,3 @@ this.headers = options.headers; | ||
headers: () => ({ | ||
Authorization: `Bearer ${(0, import_provider_utils3.loadApiKey)({ | ||
Authorization: `Bearer ${(0, import_provider_utils4.loadApiKey)({ | ||
apiKey: this.apiKey, | ||
@@ -518,7 +521,7 @@ environmentVariableName: "MISTRAL_API_KEY", | ||
// src/mistral-provider.ts | ||
var import_provider_utils5 = require("@ai-sdk/provider-utils"); | ||
var import_provider_utils6 = require("@ai-sdk/provider-utils"); | ||
// src/mistral-embedding-model.ts | ||
var import_provider2 = require("@ai-sdk/provider"); | ||
var import_provider_utils4 = require("@ai-sdk/provider-utils"); | ||
var import_provider = require("@ai-sdk/provider"); | ||
var import_provider_utils5 = require("@ai-sdk/provider-utils"); | ||
var import_zod3 = require("zod"); | ||
@@ -549,3 +552,3 @@ var MistralEmbeddingModel = class { | ||
if (values.length > this.maxEmbeddingsPerCall) { | ||
throw new import_provider2.TooManyEmbeddingValuesForCallError({ | ||
throw new import_provider.TooManyEmbeddingValuesForCallError({ | ||
provider: this.provider, | ||
@@ -557,5 +560,5 @@ modelId: this.modelId, | ||
} | ||
const { responseHeaders, value: response } = await (0, import_provider_utils4.postJsonToApi)({ | ||
const { responseHeaders, value: response } = await (0, import_provider_utils5.postJsonToApi)({ | ||
url: `${this.config.baseURL}/embeddings`, | ||
headers: (0, import_provider_utils4.combineHeaders)(this.config.headers(), headers), | ||
headers: (0, import_provider_utils5.combineHeaders)(this.config.headers(), headers), | ||
body: { | ||
@@ -567,3 +570,3 @@ model: this.modelId, | ||
failedResponseHandler: mistralFailedResponseHandler, | ||
successfulResponseHandler: (0, import_provider_utils4.createJsonResponseHandler)( | ||
successfulResponseHandler: (0, import_provider_utils5.createJsonResponseHandler)( | ||
MistralTextEmbeddingResponseSchema | ||
@@ -589,5 +592,5 @@ ), | ||
var _a, _b; | ||
const baseURL = (_b = (0, import_provider_utils5.withoutTrailingSlash)((_a = options.baseURL) != null ? _a : options.baseUrl)) != null ? _b : "https://api.mistral.ai/v1"; | ||
const baseURL = (_b = (0, import_provider_utils6.withoutTrailingSlash)((_a = options.baseURL) != null ? _a : options.baseUrl)) != null ? _b : "https://api.mistral.ai/v1"; | ||
const getHeaders = () => ({ | ||
Authorization: `Bearer ${(0, import_provider_utils5.loadApiKey)({ | ||
Authorization: `Bearer ${(0, import_provider_utils6.loadApiKey)({ | ||
apiKey: options.apiKey, | ||
@@ -594,0 +597,0 @@ environmentVariableName: "MISTRAL_API_KEY", |
# @ai-sdk/mistral | ||
## 0.0.41 | ||
### Patch Changes | ||
- 518c276: feat (provider/mistral): image support | ||
## 0.0.40 | ||
@@ -4,0 +10,0 @@ |
import { LanguageModelV1, ProviderV1, EmbeddingModelV1 } from '@ai-sdk/provider'; | ||
import { FetchFunction } from '@ai-sdk/provider-utils'; | ||
type MistralChatModelId = 'open-mistral-7b' | 'open-mixtral-8x7b' | 'open-mixtral-8x22b' | 'open-mistral-nemo' | 'mistral-small-latest' | 'mistral-medium-latest' | 'mistral-large-latest' | (string & {}); | ||
type MistralChatModelId = 'open-mistral-7b' | 'open-mixtral-8x7b' | 'open-mixtral-8x22b' | 'open-mistral-nemo' | 'pixtral-12b-2409' | 'mistral-small-latest' | 'mistral-large-latest' | (string & {}); | ||
interface MistralChatSettings { | ||
@@ -23,2 +23,3 @@ /** | ||
readonly defaultObjectGenerationMode = "json"; | ||
readonly supportsImageUrls = false; | ||
readonly modelId: MistralChatModelId; | ||
@@ -25,0 +26,0 @@ readonly settings: MistralChatSettings; |
@@ -30,10 +30,10 @@ "use strict"; | ||
// src/mistral-facade.ts | ||
var import_provider_utils3 = require("@ai-sdk/provider-utils"); | ||
var import_provider_utils4 = require("@ai-sdk/provider-utils"); | ||
// src/mistral-chat-language-model.ts | ||
var import_provider_utils2 = require("@ai-sdk/provider-utils"); | ||
var import_provider_utils3 = require("@ai-sdk/provider-utils"); | ||
var import_zod2 = require("zod"); | ||
// src/convert-to-mistral-chat-messages.ts | ||
var import_provider = require("@ai-sdk/provider"); | ||
var import_provider_utils = require("@ai-sdk/provider-utils"); | ||
function convertToMistralChatMessages(prompt) { | ||
@@ -51,13 +51,15 @@ const messages = []; | ||
content: content.map((part) => { | ||
var _a; | ||
switch (part.type) { | ||
case "text": { | ||
return part.text; | ||
return { type: "text", text: part.text }; | ||
} | ||
case "image": { | ||
throw new import_provider.UnsupportedFunctionalityError({ | ||
functionality: "image-part" | ||
}); | ||
return { | ||
type: "image_url", | ||
image_url: part.image instanceof URL ? part.image.toString() : `data:${(_a = part.mimeType) != null ? _a : "image/jpeg"};base64,${(0, import_provider_utils.convertUint8ArrayToBase64)(part.image)}` | ||
}; | ||
} | ||
} | ||
}).join("") | ||
}) | ||
}); | ||
@@ -135,3 +137,3 @@ break; | ||
// src/mistral-error.ts | ||
var import_provider_utils = require("@ai-sdk/provider-utils"); | ||
var import_provider_utils2 = require("@ai-sdk/provider-utils"); | ||
var import_zod = require("zod"); | ||
@@ -145,3 +147,3 @@ var mistralErrorDataSchema = import_zod.z.object({ | ||
}); | ||
var mistralFailedResponseHandler = (0, import_provider_utils.createJsonErrorResponseHandler)({ | ||
var mistralFailedResponseHandler = (0, import_provider_utils2.createJsonErrorResponseHandler)({ | ||
errorSchema: mistralErrorDataSchema, | ||
@@ -169,2 +171,3 @@ errorToMessage: (data) => data.message | ||
this.defaultObjectGenerationMode = "json"; | ||
this.supportsImageUrls = false; | ||
this.modelId = modelId; | ||
@@ -273,8 +276,8 @@ this.settings = settings; | ||
const { args, warnings } = this.getArgs(options); | ||
const { responseHeaders, value: response } = await (0, import_provider_utils2.postJsonToApi)({ | ||
const { responseHeaders, value: response } = await (0, import_provider_utils3.postJsonToApi)({ | ||
url: `${this.config.baseURL}/chat/completions`, | ||
headers: (0, import_provider_utils2.combineHeaders)(this.config.headers(), options.headers), | ||
headers: (0, import_provider_utils3.combineHeaders)(this.config.headers(), options.headers), | ||
body: args, | ||
failedResponseHandler: mistralFailedResponseHandler, | ||
successfulResponseHandler: (0, import_provider_utils2.createJsonResponseHandler)( | ||
successfulResponseHandler: (0, import_provider_utils3.createJsonResponseHandler)( | ||
mistralChatResponseSchema | ||
@@ -308,8 +311,8 @@ ), | ||
const { args, warnings } = this.getArgs(options); | ||
const { responseHeaders, value: response } = await (0, import_provider_utils2.postJsonToApi)({ | ||
const { responseHeaders, value: response } = await (0, import_provider_utils3.postJsonToApi)({ | ||
url: `${this.config.baseURL}/chat/completions`, | ||
headers: (0, import_provider_utils2.combineHeaders)(this.config.headers(), options.headers), | ||
headers: (0, import_provider_utils3.combineHeaders)(this.config.headers(), options.headers), | ||
body: { ...args, stream: true }, | ||
failedResponseHandler: mistralFailedResponseHandler, | ||
successfulResponseHandler: (0, import_provider_utils2.createEventSourceResponseHandler)( | ||
successfulResponseHandler: (0, import_provider_utils3.createEventSourceResponseHandler)( | ||
mistralChatChunkSchema | ||
@@ -490,3 +493,3 @@ ), | ||
var _a, _b; | ||
this.baseURL = (_b = (0, import_provider_utils3.withoutTrailingSlash)((_a = options.baseURL) != null ? _a : options.baseUrl)) != null ? _b : "https://api.mistral.ai/v1"; | ||
this.baseURL = (_b = (0, import_provider_utils4.withoutTrailingSlash)((_a = options.baseURL) != null ? _a : options.baseUrl)) != null ? _b : "https://api.mistral.ai/v1"; | ||
this.apiKey = options.apiKey; | ||
@@ -499,3 +502,3 @@ this.headers = options.headers; | ||
headers: () => ({ | ||
Authorization: `Bearer ${(0, import_provider_utils3.loadApiKey)({ | ||
Authorization: `Bearer ${(0, import_provider_utils4.loadApiKey)({ | ||
apiKey: this.apiKey, | ||
@@ -518,7 +521,7 @@ environmentVariableName: "MISTRAL_API_KEY", | ||
// src/mistral-provider.ts | ||
var import_provider_utils5 = require("@ai-sdk/provider-utils"); | ||
var import_provider_utils6 = require("@ai-sdk/provider-utils"); | ||
// src/mistral-embedding-model.ts | ||
var import_provider2 = require("@ai-sdk/provider"); | ||
var import_provider_utils4 = require("@ai-sdk/provider-utils"); | ||
var import_provider = require("@ai-sdk/provider"); | ||
var import_provider_utils5 = require("@ai-sdk/provider-utils"); | ||
var import_zod3 = require("zod"); | ||
@@ -549,3 +552,3 @@ var MistralEmbeddingModel = class { | ||
if (values.length > this.maxEmbeddingsPerCall) { | ||
throw new import_provider2.TooManyEmbeddingValuesForCallError({ | ||
throw new import_provider.TooManyEmbeddingValuesForCallError({ | ||
provider: this.provider, | ||
@@ -557,5 +560,5 @@ modelId: this.modelId, | ||
} | ||
const { responseHeaders, value: response } = await (0, import_provider_utils4.postJsonToApi)({ | ||
const { responseHeaders, value: response } = await (0, import_provider_utils5.postJsonToApi)({ | ||
url: `${this.config.baseURL}/embeddings`, | ||
headers: (0, import_provider_utils4.combineHeaders)(this.config.headers(), headers), | ||
headers: (0, import_provider_utils5.combineHeaders)(this.config.headers(), headers), | ||
body: { | ||
@@ -567,3 +570,3 @@ model: this.modelId, | ||
failedResponseHandler: mistralFailedResponseHandler, | ||
successfulResponseHandler: (0, import_provider_utils4.createJsonResponseHandler)( | ||
successfulResponseHandler: (0, import_provider_utils5.createJsonResponseHandler)( | ||
MistralTextEmbeddingResponseSchema | ||
@@ -589,5 +592,5 @@ ), | ||
var _a, _b; | ||
const baseURL = (_b = (0, import_provider_utils5.withoutTrailingSlash)((_a = options.baseURL) != null ? _a : options.baseUrl)) != null ? _b : "https://api.mistral.ai/v1"; | ||
const baseURL = (_b = (0, import_provider_utils6.withoutTrailingSlash)((_a = options.baseURL) != null ? _a : options.baseUrl)) != null ? _b : "https://api.mistral.ai/v1"; | ||
const getHeaders = () => ({ | ||
Authorization: `Bearer ${(0, import_provider_utils5.loadApiKey)({ | ||
Authorization: `Bearer ${(0, import_provider_utils6.loadApiKey)({ | ||
apiKey: options.apiKey, | ||
@@ -594,0 +597,0 @@ environmentVariableName: "MISTRAL_API_KEY", |
{ | ||
"name": "@ai-sdk/mistral", | ||
"version": "0.0.40", | ||
"version": "0.0.41", | ||
"license": "Apache-2.0", | ||
@@ -5,0 +5,0 @@ "sideEffects": false, |
@@ -1,4 +0,4 @@ | ||
# Vercel AI SDK - Mistral Provider | ||
# AI SDK - Mistral Provider | ||
The **[Mistral provider](https://sdk.vercel.ai/providers/ai-sdk-providers/mistral)** for the [Vercel AI SDK](https://sdk.vercel.ai/docs) contains language model support for the Mistral chat API. | ||
The **[Mistral provider](https://sdk.vercel.ai/providers/ai-sdk-providers/mistral)** for the [AI SDK](https://sdk.vercel.ai/docs) contains language model support for the Mistral chat API. | ||
@@ -5,0 +5,0 @@ ## Setup |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
148593
1925