@ai-sdk/mistral 2.0.52 → 2.0.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/dist/index.d.mts +15 -15
- package/dist/index.d.ts +15 -15
- package/dist/index.js +157 -124
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +149 -100
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# @ai-sdk/mistral
|
|
2
2
|
|
|
3
|
+
## 2.0.53
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- bb8be51: Defer validation schema construction until first use to reduce provider import time.
|
|
8
|
+
- Updated dependencies [d7b0ffa]
|
|
9
|
+
- Updated dependencies [4146790]
|
|
10
|
+
- @ai-sdk/provider-utils@3.0.42
|
|
11
|
+
|
|
3
12
|
## 2.0.52
|
|
4
13
|
|
|
5
14
|
### Patch Changes
|
package/dist/index.d.mts
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import { ProviderV2, LanguageModelV2, EmbeddingModelV2, SpeechModelV2 } from '@ai-sdk/provider';
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
2
|
+
import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
|
|
3
|
+
import { InferSchema, FetchFunction } from '@ai-sdk/provider-utils';
|
|
4
4
|
|
|
5
5
|
type MistralChatModelId = 'ministral-3b-latest' | 'ministral-8b-latest' | 'mistral-large-latest' | 'mistral-medium-latest' | 'mistral-medium-2508' | 'mistral-medium-2505' | 'mistral-small-latest' | 'pixtral-large-latest' | 'magistral-small-2507' | 'magistral-medium-2507' | 'magistral-small-2506' | 'magistral-medium-2506' | 'pixtral-12b-2409' | 'open-mistral-7b' | 'open-mixtral-8x7b' | 'open-mixtral-8x22b' | (string & {});
|
|
6
|
-
declare const mistralLanguageModelOptions:
|
|
7
|
-
safePrompt
|
|
8
|
-
documentImageLimit
|
|
9
|
-
documentPageLimit
|
|
10
|
-
structuredOutputs
|
|
11
|
-
strictJsonSchema
|
|
12
|
-
parallelToolCalls
|
|
13
|
-
}
|
|
14
|
-
type MistralLanguageModelOptions =
|
|
6
|
+
declare const mistralLanguageModelOptions: _ai_sdk_provider_utils.LazySchema<{
|
|
7
|
+
safePrompt?: boolean | undefined;
|
|
8
|
+
documentImageLimit?: number | undefined;
|
|
9
|
+
documentPageLimit?: number | undefined;
|
|
10
|
+
structuredOutputs?: boolean | undefined;
|
|
11
|
+
strictJsonSchema?: boolean | undefined;
|
|
12
|
+
parallelToolCalls?: boolean | undefined;
|
|
13
|
+
}>;
|
|
14
|
+
type MistralLanguageModelOptions = InferSchema<typeof mistralLanguageModelOptions>;
|
|
15
15
|
|
|
16
16
|
type MistralEmbeddingModelId = 'mistral-embed' | (string & {});
|
|
17
17
|
|
|
18
18
|
type MistralSpeechModelId = 'voxtral-mini-tts-2603' | (string & {});
|
|
19
|
-
declare const mistralSpeechModelOptions:
|
|
20
|
-
refAudio
|
|
21
|
-
}
|
|
22
|
-
type MistralSpeechModelOptions =
|
|
19
|
+
declare const mistralSpeechModelOptions: _ai_sdk_provider_utils.LazySchema<{
|
|
20
|
+
refAudio?: string | undefined;
|
|
21
|
+
}>;
|
|
22
|
+
type MistralSpeechModelOptions = InferSchema<typeof mistralSpeechModelOptions>;
|
|
23
23
|
|
|
24
24
|
interface MistralProvider extends ProviderV2 {
|
|
25
25
|
(modelId: MistralChatModelId): LanguageModelV2;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import { ProviderV2, LanguageModelV2, EmbeddingModelV2, SpeechModelV2 } from '@ai-sdk/provider';
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
2
|
+
import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
|
|
3
|
+
import { InferSchema, FetchFunction } from '@ai-sdk/provider-utils';
|
|
4
4
|
|
|
5
5
|
type MistralChatModelId = 'ministral-3b-latest' | 'ministral-8b-latest' | 'mistral-large-latest' | 'mistral-medium-latest' | 'mistral-medium-2508' | 'mistral-medium-2505' | 'mistral-small-latest' | 'pixtral-large-latest' | 'magistral-small-2507' | 'magistral-medium-2507' | 'magistral-small-2506' | 'magistral-medium-2506' | 'pixtral-12b-2409' | 'open-mistral-7b' | 'open-mixtral-8x7b' | 'open-mixtral-8x22b' | (string & {});
|
|
6
|
-
declare const mistralLanguageModelOptions:
|
|
7
|
-
safePrompt
|
|
8
|
-
documentImageLimit
|
|
9
|
-
documentPageLimit
|
|
10
|
-
structuredOutputs
|
|
11
|
-
strictJsonSchema
|
|
12
|
-
parallelToolCalls
|
|
13
|
-
}
|
|
14
|
-
type MistralLanguageModelOptions =
|
|
6
|
+
declare const mistralLanguageModelOptions: _ai_sdk_provider_utils.LazySchema<{
|
|
7
|
+
safePrompt?: boolean | undefined;
|
|
8
|
+
documentImageLimit?: number | undefined;
|
|
9
|
+
documentPageLimit?: number | undefined;
|
|
10
|
+
structuredOutputs?: boolean | undefined;
|
|
11
|
+
strictJsonSchema?: boolean | undefined;
|
|
12
|
+
parallelToolCalls?: boolean | undefined;
|
|
13
|
+
}>;
|
|
14
|
+
type MistralLanguageModelOptions = InferSchema<typeof mistralLanguageModelOptions>;
|
|
15
15
|
|
|
16
16
|
type MistralEmbeddingModelId = 'mistral-embed' | (string & {});
|
|
17
17
|
|
|
18
18
|
type MistralSpeechModelId = 'voxtral-mini-tts-2603' | (string & {});
|
|
19
|
-
declare const mistralSpeechModelOptions:
|
|
20
|
-
refAudio
|
|
21
|
-
}
|
|
22
|
-
type MistralSpeechModelOptions =
|
|
19
|
+
declare const mistralSpeechModelOptions: _ai_sdk_provider_utils.LazySchema<{
|
|
20
|
+
refAudio?: string | undefined;
|
|
21
|
+
}>;
|
|
22
|
+
type MistralSpeechModelOptions = InferSchema<typeof mistralSpeechModelOptions>;
|
|
23
23
|
|
|
24
24
|
interface MistralProvider extends ProviderV2 {
|
|
25
25
|
(modelId: MistralChatModelId): LanguageModelV2;
|
package/dist/index.js
CHANGED
|
@@ -28,11 +28,11 @@ module.exports = __toCommonJS(index_exports);
|
|
|
28
28
|
|
|
29
29
|
// src/mistral-provider.ts
|
|
30
30
|
var import_provider5 = require("@ai-sdk/provider");
|
|
31
|
-
var
|
|
31
|
+
var import_provider_utils8 = require("@ai-sdk/provider-utils");
|
|
32
32
|
|
|
33
33
|
// src/mistral-chat-language-model.ts
|
|
34
34
|
var import_provider3 = require("@ai-sdk/provider");
|
|
35
|
-
var
|
|
35
|
+
var import_provider_utils4 = require("@ai-sdk/provider-utils");
|
|
36
36
|
var import_v43 = require("zod/v4");
|
|
37
37
|
|
|
38
38
|
// src/convert-to-mistral-chat-messages.ts
|
|
@@ -180,48 +180,57 @@ function mapMistralFinishReason(finishReason) {
|
|
|
180
180
|
}
|
|
181
181
|
|
|
182
182
|
// src/mistral-chat-options.ts
|
|
183
|
+
var import_provider_utils2 = require("@ai-sdk/provider-utils");
|
|
183
184
|
var import_v4 = require("zod/v4");
|
|
184
|
-
var mistralLanguageModelOptions =
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
185
|
+
var mistralLanguageModelOptions = (0, import_provider_utils2.lazySchema)(
|
|
186
|
+
() => (0, import_provider_utils2.zodSchema)(
|
|
187
|
+
import_v4.z.object({
|
|
188
|
+
/**
|
|
189
|
+
Whether to inject a safety prompt before all conversations.
|
|
190
|
+
|
|
191
|
+
Defaults to `false`.
|
|
192
|
+
*/
|
|
193
|
+
safePrompt: import_v4.z.boolean().optional(),
|
|
194
|
+
documentImageLimit: import_v4.z.number().optional(),
|
|
195
|
+
documentPageLimit: import_v4.z.number().optional(),
|
|
196
|
+
/**
|
|
197
|
+
* Whether to use structured outputs.
|
|
198
|
+
*
|
|
199
|
+
* @default true
|
|
200
|
+
*/
|
|
201
|
+
structuredOutputs: import_v4.z.boolean().optional(),
|
|
202
|
+
/**
|
|
203
|
+
* Whether to use strict JSON schema validation.
|
|
204
|
+
*
|
|
205
|
+
* @default false
|
|
206
|
+
*/
|
|
207
|
+
strictJsonSchema: import_v4.z.boolean().optional(),
|
|
208
|
+
/**
|
|
209
|
+
* Whether to enable parallel function calling during tool use.
|
|
210
|
+
* When set to false, the model will use at most one tool per response.
|
|
211
|
+
*
|
|
212
|
+
* @default true
|
|
213
|
+
*/
|
|
214
|
+
parallelToolCalls: import_v4.z.boolean().optional()
|
|
215
|
+
})
|
|
216
|
+
)
|
|
217
|
+
);
|
|
213
218
|
|
|
214
219
|
// src/mistral-error.ts
|
|
215
|
-
var
|
|
220
|
+
var import_provider_utils3 = require("@ai-sdk/provider-utils");
|
|
216
221
|
var import_v42 = require("zod/v4");
|
|
217
|
-
var mistralErrorDataSchema =
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
222
|
+
var mistralErrorDataSchema = (0, import_provider_utils3.lazySchema)(
|
|
223
|
+
() => (0, import_provider_utils3.zodSchema)(
|
|
224
|
+
import_v42.z.object({
|
|
225
|
+
object: import_v42.z.literal("error"),
|
|
226
|
+
message: import_v42.z.string(),
|
|
227
|
+
type: import_v42.z.string(),
|
|
228
|
+
param: import_v42.z.string().nullable(),
|
|
229
|
+
code: import_v42.z.string().nullable()
|
|
230
|
+
})
|
|
231
|
+
)
|
|
232
|
+
);
|
|
233
|
+
var mistralFailedResponseHandler = (0, import_provider_utils3.createJsonErrorResponseHandler)({
|
|
225
234
|
errorSchema: mistralErrorDataSchema,
|
|
226
235
|
errorToMessage: (data) => data.message
|
|
227
236
|
});
|
|
@@ -291,7 +300,7 @@ var MistralChatLanguageModel = class {
|
|
|
291
300
|
var _a;
|
|
292
301
|
this.modelId = modelId;
|
|
293
302
|
this.config = config;
|
|
294
|
-
this.generateId = (_a = config.generateId) != null ? _a :
|
|
303
|
+
this.generateId = (_a = config.generateId) != null ? _a : import_provider_utils4.generateId;
|
|
295
304
|
}
|
|
296
305
|
get provider() {
|
|
297
306
|
return this.config.provider;
|
|
@@ -313,7 +322,7 @@ var MistralChatLanguageModel = class {
|
|
|
313
322
|
}) {
|
|
314
323
|
var _a, _b, _c, _d;
|
|
315
324
|
const warnings = [];
|
|
316
|
-
const options = (_a = await (0,
|
|
325
|
+
const options = (_a = await (0, import_provider_utils4.parseProviderOptions)({
|
|
317
326
|
provider: "mistral",
|
|
318
327
|
providerOptions,
|
|
319
328
|
schema: mistralLanguageModelOptions
|
|
@@ -333,7 +342,7 @@ var MistralChatLanguageModel = class {
|
|
|
333
342
|
const structuredOutputs = (_b = options.structuredOutputs) != null ? _b : true;
|
|
334
343
|
const strictJsonSchema = (_c = options.strictJsonSchema) != null ? _c : false;
|
|
335
344
|
if ((responseFormat == null ? void 0 : responseFormat.type) === "json" && !(responseFormat == null ? void 0 : responseFormat.schema)) {
|
|
336
|
-
prompt = (0,
|
|
345
|
+
prompt = (0, import_provider_utils4.injectJsonInstructionIntoMessages)({
|
|
337
346
|
messages: prompt,
|
|
338
347
|
schema: responseFormat.schema
|
|
339
348
|
});
|
|
@@ -390,12 +399,12 @@ var MistralChatLanguageModel = class {
|
|
|
390
399
|
responseHeaders,
|
|
391
400
|
value: response,
|
|
392
401
|
rawValue: rawResponse
|
|
393
|
-
} = await (0,
|
|
402
|
+
} = await (0, import_provider_utils4.postJsonToApi)({
|
|
394
403
|
url: `${this.config.baseURL}/chat/completions`,
|
|
395
|
-
headers: (0,
|
|
404
|
+
headers: (0, import_provider_utils4.combineHeaders)(this.config.headers(), options.headers),
|
|
396
405
|
body,
|
|
397
406
|
failedResponseHandler: mistralFailedResponseHandler,
|
|
398
|
-
successfulResponseHandler: (0,
|
|
407
|
+
successfulResponseHandler: (0, import_provider_utils4.createJsonResponseHandler)(
|
|
399
408
|
mistralChatResponseSchema
|
|
400
409
|
),
|
|
401
410
|
abortSignal: options.abortSignal,
|
|
@@ -452,12 +461,12 @@ var MistralChatLanguageModel = class {
|
|
|
452
461
|
async doStream(options) {
|
|
453
462
|
const { args, warnings } = await this.getArgs(options);
|
|
454
463
|
const body = { ...args, stream: true };
|
|
455
|
-
const { responseHeaders, value: response } = await (0,
|
|
464
|
+
const { responseHeaders, value: response } = await (0, import_provider_utils4.postJsonToApi)({
|
|
456
465
|
url: `${this.config.baseURL}/chat/completions`,
|
|
457
|
-
headers: (0,
|
|
466
|
+
headers: (0, import_provider_utils4.combineHeaders)(this.config.headers(), options.headers),
|
|
458
467
|
body,
|
|
459
468
|
failedResponseHandler: mistralFailedResponseHandler,
|
|
460
|
-
successfulResponseHandler: (0,
|
|
469
|
+
successfulResponseHandler: (0, import_provider_utils4.createEventSourceResponseHandler)(
|
|
461
470
|
mistralChatChunkSchema
|
|
462
471
|
),
|
|
463
472
|
abortSignal: options.abortSignal,
|
|
@@ -671,7 +680,7 @@ function extractTextContent(content) {
|
|
|
671
680
|
}
|
|
672
681
|
return textContent.length ? textContent.join("") : void 0;
|
|
673
682
|
}
|
|
674
|
-
var mistralContentSchema = import_v43.z.union([
|
|
683
|
+
var mistralContentSchema = () => import_v43.z.union([
|
|
675
684
|
import_v43.z.string(),
|
|
676
685
|
import_v43.z.array(
|
|
677
686
|
import_v43.z.discriminatedUnion("type", [
|
|
@@ -705,64 +714,75 @@ var mistralContentSchema = import_v43.z.union([
|
|
|
705
714
|
])
|
|
706
715
|
)
|
|
707
716
|
]).nullish();
|
|
708
|
-
var mistralUsageSchema = import_v43.z.object({
|
|
717
|
+
var mistralUsageSchema = () => import_v43.z.object({
|
|
709
718
|
prompt_tokens: import_v43.z.number(),
|
|
710
719
|
completion_tokens: import_v43.z.number(),
|
|
711
720
|
total_tokens: import_v43.z.number()
|
|
712
721
|
});
|
|
713
|
-
var mistralChatResponseSchema =
|
|
714
|
-
|
|
715
|
-
created: import_v43.z.number().nullish(),
|
|
716
|
-
model: import_v43.z.string().nullish(),
|
|
717
|
-
choices: import_v43.z.array(
|
|
722
|
+
var mistralChatResponseSchema = (0, import_provider_utils4.lazySchema)(
|
|
723
|
+
() => (0, import_provider_utils4.zodSchema)(
|
|
718
724
|
import_v43.z.object({
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
725
|
+
id: import_v43.z.string().nullish(),
|
|
726
|
+
created: import_v43.z.number().nullish(),
|
|
727
|
+
model: import_v43.z.string().nullish(),
|
|
728
|
+
choices: import_v43.z.array(
|
|
729
|
+
import_v43.z.object({
|
|
730
|
+
message: import_v43.z.object({
|
|
731
|
+
role: import_v43.z.literal("assistant"),
|
|
732
|
+
content: mistralContentSchema(),
|
|
733
|
+
tool_calls: import_v43.z.array(
|
|
734
|
+
import_v43.z.object({
|
|
735
|
+
id: import_v43.z.string(),
|
|
736
|
+
function: import_v43.z.object({
|
|
737
|
+
name: import_v43.z.string(),
|
|
738
|
+
arguments: import_v43.z.string()
|
|
739
|
+
})
|
|
740
|
+
})
|
|
741
|
+
).nullish()
|
|
742
|
+
}),
|
|
743
|
+
index: import_v43.z.number(),
|
|
744
|
+
finish_reason: import_v43.z.string().nullish()
|
|
745
|
+
})
|
|
746
|
+
),
|
|
747
|
+
object: import_v43.z.literal("chat.completion"),
|
|
748
|
+
usage: mistralUsageSchema()
|
|
731
749
|
})
|
|
732
|
-
)
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
var mistralChatChunkSchema = import_v43.z.object({
|
|
737
|
-
id: import_v43.z.string().nullish(),
|
|
738
|
-
created: import_v43.z.number().nullish(),
|
|
739
|
-
model: import_v43.z.string().nullish(),
|
|
740
|
-
choices: import_v43.z.array(
|
|
750
|
+
)
|
|
751
|
+
);
|
|
752
|
+
var mistralChatChunkSchema = (0, import_provider_utils4.lazySchema)(
|
|
753
|
+
() => (0, import_provider_utils4.zodSchema)(
|
|
741
754
|
import_v43.z.object({
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
755
|
+
id: import_v43.z.string().nullish(),
|
|
756
|
+
created: import_v43.z.number().nullish(),
|
|
757
|
+
model: import_v43.z.string().nullish(),
|
|
758
|
+
choices: import_v43.z.array(
|
|
759
|
+
import_v43.z.object({
|
|
760
|
+
delta: import_v43.z.object({
|
|
761
|
+
role: import_v43.z.enum(["assistant"]).optional(),
|
|
762
|
+
content: mistralContentSchema(),
|
|
763
|
+
tool_calls: import_v43.z.array(
|
|
764
|
+
import_v43.z.object({
|
|
765
|
+
index: import_v43.z.number().nullish(),
|
|
766
|
+
id: import_v43.z.string().nullish(),
|
|
767
|
+
function: import_v43.z.object({
|
|
768
|
+
name: import_v43.z.string().nullish(),
|
|
769
|
+
arguments: import_v43.z.string().nullish()
|
|
770
|
+
})
|
|
771
|
+
})
|
|
772
|
+
).nullish()
|
|
773
|
+
}),
|
|
774
|
+
finish_reason: import_v43.z.string().nullish(),
|
|
775
|
+
index: import_v43.z.number()
|
|
776
|
+
})
|
|
777
|
+
),
|
|
778
|
+
usage: mistralUsageSchema().nullish()
|
|
758
779
|
})
|
|
759
|
-
)
|
|
760
|
-
|
|
761
|
-
});
|
|
780
|
+
)
|
|
781
|
+
);
|
|
762
782
|
|
|
763
783
|
// src/mistral-embedding-model.ts
|
|
764
784
|
var import_provider4 = require("@ai-sdk/provider");
|
|
765
|
-
var
|
|
785
|
+
var import_provider_utils5 = require("@ai-sdk/provider-utils");
|
|
766
786
|
var import_v44 = require("zod/v4");
|
|
767
787
|
var MistralEmbeddingModel = class {
|
|
768
788
|
constructor(modelId, config) {
|
|
@@ -792,16 +812,16 @@ var MistralEmbeddingModel = class {
|
|
|
792
812
|
responseHeaders,
|
|
793
813
|
value: response,
|
|
794
814
|
rawValue
|
|
795
|
-
} = await (0,
|
|
815
|
+
} = await (0, import_provider_utils5.postJsonToApi)({
|
|
796
816
|
url: `${this.config.baseURL}/embeddings`,
|
|
797
|
-
headers: (0,
|
|
817
|
+
headers: (0, import_provider_utils5.combineHeaders)(this.config.headers(), headers),
|
|
798
818
|
body: {
|
|
799
819
|
model: this.modelId,
|
|
800
820
|
input: values,
|
|
801
821
|
encoding_format: "float"
|
|
802
822
|
},
|
|
803
823
|
failedResponseHandler: mistralFailedResponseHandler,
|
|
804
|
-
successfulResponseHandler: (0,
|
|
824
|
+
successfulResponseHandler: (0, import_provider_utils5.createJsonResponseHandler)(
|
|
805
825
|
MistralTextEmbeddingResponseSchema
|
|
806
826
|
),
|
|
807
827
|
abortSignal,
|
|
@@ -814,25 +834,34 @@ var MistralEmbeddingModel = class {
|
|
|
814
834
|
};
|
|
815
835
|
}
|
|
816
836
|
};
|
|
817
|
-
var MistralTextEmbeddingResponseSchema =
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
})
|
|
837
|
+
var MistralTextEmbeddingResponseSchema = (0, import_provider_utils5.lazySchema)(
|
|
838
|
+
() => (0, import_provider_utils5.zodSchema)(
|
|
839
|
+
import_v44.z.object({
|
|
840
|
+
data: import_v44.z.array(import_v44.z.object({ embedding: import_v44.z.array(import_v44.z.number()) })),
|
|
841
|
+
usage: import_v44.z.object({ prompt_tokens: import_v44.z.number() }).nullish()
|
|
842
|
+
})
|
|
843
|
+
)
|
|
844
|
+
);
|
|
821
845
|
|
|
822
846
|
// src/mistral-speech-model.ts
|
|
823
|
-
var
|
|
847
|
+
var import_provider_utils7 = require("@ai-sdk/provider-utils");
|
|
824
848
|
var import_v46 = require("zod/v4");
|
|
825
849
|
|
|
826
850
|
// src/mistral-speech-model-options.ts
|
|
851
|
+
var import_provider_utils6 = require("@ai-sdk/provider-utils");
|
|
827
852
|
var import_v45 = require("zod/v4");
|
|
828
|
-
var mistralSpeechModelOptions =
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
853
|
+
var mistralSpeechModelOptions = (0, import_provider_utils6.lazySchema)(
|
|
854
|
+
() => (0, import_provider_utils6.zodSchema)(
|
|
855
|
+
import_v45.z.object({
|
|
856
|
+
/**
|
|
857
|
+
* Base64-encoded reference audio for one-off voice cloning.
|
|
858
|
+
*
|
|
859
|
+
* When provided, this takes precedence over the standard `voice` option.
|
|
860
|
+
*/
|
|
861
|
+
refAudio: import_v45.z.string().min(1).optional()
|
|
862
|
+
})
|
|
863
|
+
)
|
|
864
|
+
);
|
|
836
865
|
|
|
837
866
|
// src/mistral-speech-model.ts
|
|
838
867
|
var MistralSpeechModel = class {
|
|
@@ -854,7 +883,7 @@ var MistralSpeechModel = class {
|
|
|
854
883
|
providerOptions
|
|
855
884
|
}) {
|
|
856
885
|
const warnings = [];
|
|
857
|
-
const mistralOptions = await (0,
|
|
886
|
+
const mistralOptions = await (0, import_provider_utils7.parseProviderOptions)({
|
|
858
887
|
provider: "mistral",
|
|
859
888
|
providerOptions,
|
|
860
889
|
schema: mistralSpeechModelOptions
|
|
@@ -913,9 +942,9 @@ var MistralSpeechModel = class {
|
|
|
913
942
|
value: response,
|
|
914
943
|
responseHeaders,
|
|
915
944
|
rawValue: rawResponse
|
|
916
|
-
} = await (0,
|
|
945
|
+
} = await (0, import_provider_utils7.postToApi)({
|
|
917
946
|
url: `${this.config.baseURL}/audio/speech`,
|
|
918
|
-
headers: (0,
|
|
947
|
+
headers: (0, import_provider_utils7.combineHeaders)(
|
|
919
948
|
{ "Content-Type": "application/json" },
|
|
920
949
|
(_e = (_d = this.config).headers) == null ? void 0 : _e.call(_d),
|
|
921
950
|
options.headers
|
|
@@ -925,7 +954,7 @@ var MistralSpeechModel = class {
|
|
|
925
954
|
values: requestBodyValues
|
|
926
955
|
},
|
|
927
956
|
failedResponseHandler: mistralFailedResponseHandler,
|
|
928
|
-
successfulResponseHandler: (0,
|
|
957
|
+
successfulResponseHandler: (0, import_provider_utils7.createJsonResponseHandler)(
|
|
929
958
|
mistralSpeechResponseSchema
|
|
930
959
|
),
|
|
931
960
|
abortSignal: options.abortSignal,
|
|
@@ -946,20 +975,24 @@ var MistralSpeechModel = class {
|
|
|
946
975
|
};
|
|
947
976
|
}
|
|
948
977
|
};
|
|
949
|
-
var mistralSpeechResponseSchema =
|
|
950
|
-
|
|
951
|
-
|
|
978
|
+
var mistralSpeechResponseSchema = (0, import_provider_utils7.lazySchema)(
|
|
979
|
+
() => (0, import_provider_utils7.zodSchema)(
|
|
980
|
+
import_v46.z.object({
|
|
981
|
+
audio_data: import_v46.z.string()
|
|
982
|
+
})
|
|
983
|
+
)
|
|
984
|
+
);
|
|
952
985
|
|
|
953
986
|
// src/version.ts
|
|
954
|
-
var VERSION = true ? "2.0.
|
|
987
|
+
var VERSION = true ? "2.0.53" : "0.0.0-test";
|
|
955
988
|
|
|
956
989
|
// src/mistral-provider.ts
|
|
957
990
|
function createMistral(options = {}) {
|
|
958
991
|
var _a;
|
|
959
|
-
const baseURL = (_a = (0,
|
|
960
|
-
const getHeaders = () => (0,
|
|
992
|
+
const baseURL = (_a = (0, import_provider_utils8.withoutTrailingSlash)(options.baseURL)) != null ? _a : "https://api.mistral.ai/v1";
|
|
993
|
+
const getHeaders = () => (0, import_provider_utils8.withUserAgentSuffix)(
|
|
961
994
|
{
|
|
962
|
-
Authorization: `Bearer ${(0,
|
|
995
|
+
Authorization: `Bearer ${(0, import_provider_utils8.loadApiKey)({
|
|
963
996
|
apiKey: options.apiKey,
|
|
964
997
|
environmentVariableName: "MISTRAL_API_KEY",
|
|
965
998
|
description: "Mistral"
|