@ai-sdk/mistral 2.0.52 → 2.0.54

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 CHANGED
@@ -1,5 +1,21 @@
1
1
  # @ai-sdk/mistral
2
2
 
3
+ ## 2.0.54
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [a1a772f]
8
+ - @ai-sdk/provider-utils@3.0.43
9
+
10
+ ## 2.0.53
11
+
12
+ ### Patch Changes
13
+
14
+ - bb8be51: Defer validation schema construction until first use to reduce provider import time.
15
+ - Updated dependencies [d7b0ffa]
16
+ - Updated dependencies [4146790]
17
+ - @ai-sdk/provider-utils@3.0.42
18
+
3
19
  ## 2.0.52
4
20
 
5
21
  ### 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 { FetchFunction } from '@ai-sdk/provider-utils';
3
- import { z } from 'zod/v4';
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: z.ZodObject<{
7
- safePrompt: z.ZodOptional<z.ZodBoolean>;
8
- documentImageLimit: z.ZodOptional<z.ZodNumber>;
9
- documentPageLimit: z.ZodOptional<z.ZodNumber>;
10
- structuredOutputs: z.ZodOptional<z.ZodBoolean>;
11
- strictJsonSchema: z.ZodOptional<z.ZodBoolean>;
12
- parallelToolCalls: z.ZodOptional<z.ZodBoolean>;
13
- }, z.core.$strip>;
14
- type MistralLanguageModelOptions = z.infer<typeof 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: z.ZodObject<{
20
- refAudio: z.ZodOptional<z.ZodString>;
21
- }, z.core.$strip>;
22
- type MistralSpeechModelOptions = z.infer<typeof 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 { FetchFunction } from '@ai-sdk/provider-utils';
3
- import { z } from 'zod/v4';
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: z.ZodObject<{
7
- safePrompt: z.ZodOptional<z.ZodBoolean>;
8
- documentImageLimit: z.ZodOptional<z.ZodNumber>;
9
- documentPageLimit: z.ZodOptional<z.ZodNumber>;
10
- structuredOutputs: z.ZodOptional<z.ZodBoolean>;
11
- strictJsonSchema: z.ZodOptional<z.ZodBoolean>;
12
- parallelToolCalls: z.ZodOptional<z.ZodBoolean>;
13
- }, z.core.$strip>;
14
- type MistralLanguageModelOptions = z.infer<typeof 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: z.ZodObject<{
20
- refAudio: z.ZodOptional<z.ZodString>;
21
- }, z.core.$strip>;
22
- type MistralSpeechModelOptions = z.infer<typeof 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 import_provider_utils6 = require("@ai-sdk/provider-utils");
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 import_provider_utils3 = require("@ai-sdk/provider-utils");
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 = import_v4.z.object({
185
- /**
186
- Whether to inject a safety prompt before all conversations.
187
-
188
- Defaults to `false`.
189
- */
190
- safePrompt: import_v4.z.boolean().optional(),
191
- documentImageLimit: import_v4.z.number().optional(),
192
- documentPageLimit: import_v4.z.number().optional(),
193
- /**
194
- * Whether to use structured outputs.
195
- *
196
- * @default true
197
- */
198
- structuredOutputs: import_v4.z.boolean().optional(),
199
- /**
200
- * Whether to use strict JSON schema validation.
201
- *
202
- * @default false
203
- */
204
- strictJsonSchema: import_v4.z.boolean().optional(),
205
- /**
206
- * Whether to enable parallel function calling during tool use.
207
- * When set to false, the model will use at most one tool per response.
208
- *
209
- * @default true
210
- */
211
- parallelToolCalls: import_v4.z.boolean().optional()
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 import_provider_utils2 = require("@ai-sdk/provider-utils");
220
+ var import_provider_utils3 = require("@ai-sdk/provider-utils");
216
221
  var import_v42 = require("zod/v4");
217
- var mistralErrorDataSchema = import_v42.z.object({
218
- object: import_v42.z.literal("error"),
219
- message: import_v42.z.string(),
220
- type: import_v42.z.string(),
221
- param: import_v42.z.string().nullable(),
222
- code: import_v42.z.string().nullable()
223
- });
224
- var mistralFailedResponseHandler = (0, import_provider_utils2.createJsonErrorResponseHandler)({
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 : import_provider_utils3.generateId;
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, import_provider_utils3.parseProviderOptions)({
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, import_provider_utils3.injectJsonInstructionIntoMessages)({
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, import_provider_utils3.postJsonToApi)({
402
+ } = await (0, import_provider_utils4.postJsonToApi)({
394
403
  url: `${this.config.baseURL}/chat/completions`,
395
- headers: (0, import_provider_utils3.combineHeaders)(this.config.headers(), options.headers),
404
+ headers: (0, import_provider_utils4.combineHeaders)(this.config.headers(), options.headers),
396
405
  body,
397
406
  failedResponseHandler: mistralFailedResponseHandler,
398
- successfulResponseHandler: (0, import_provider_utils3.createJsonResponseHandler)(
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, import_provider_utils3.postJsonToApi)({
464
+ const { responseHeaders, value: response } = await (0, import_provider_utils4.postJsonToApi)({
456
465
  url: `${this.config.baseURL}/chat/completions`,
457
- headers: (0, import_provider_utils3.combineHeaders)(this.config.headers(), options.headers),
466
+ headers: (0, import_provider_utils4.combineHeaders)(this.config.headers(), options.headers),
458
467
  body,
459
468
  failedResponseHandler: mistralFailedResponseHandler,
460
- successfulResponseHandler: (0, import_provider_utils3.createEventSourceResponseHandler)(
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 = import_v43.z.object({
714
- id: import_v43.z.string().nullish(),
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
- message: import_v43.z.object({
720
- role: import_v43.z.literal("assistant"),
721
- content: mistralContentSchema,
722
- tool_calls: import_v43.z.array(
723
- import_v43.z.object({
724
- id: import_v43.z.string(),
725
- function: import_v43.z.object({ name: import_v43.z.string(), arguments: import_v43.z.string() })
726
- })
727
- ).nullish()
728
- }),
729
- index: import_v43.z.number(),
730
- finish_reason: import_v43.z.string().nullish()
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
- object: import_v43.z.literal("chat.completion"),
734
- usage: mistralUsageSchema
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
- delta: import_v43.z.object({
743
- role: import_v43.z.enum(["assistant"]).optional(),
744
- content: mistralContentSchema,
745
- tool_calls: import_v43.z.array(
746
- import_v43.z.object({
747
- index: import_v43.z.number().nullish(),
748
- id: import_v43.z.string().nullish(),
749
- function: import_v43.z.object({
750
- name: import_v43.z.string().nullish(),
751
- arguments: import_v43.z.string().nullish()
752
- })
753
- })
754
- ).nullish()
755
- }),
756
- finish_reason: import_v43.z.string().nullish(),
757
- index: import_v43.z.number()
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
- usage: mistralUsageSchema.nullish()
761
- });
780
+ )
781
+ );
762
782
 
763
783
  // src/mistral-embedding-model.ts
764
784
  var import_provider4 = require("@ai-sdk/provider");
765
- var import_provider_utils4 = require("@ai-sdk/provider-utils");
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, import_provider_utils4.postJsonToApi)({
815
+ } = await (0, import_provider_utils5.postJsonToApi)({
796
816
  url: `${this.config.baseURL}/embeddings`,
797
- headers: (0, import_provider_utils4.combineHeaders)(this.config.headers(), headers),
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, import_provider_utils4.createJsonResponseHandler)(
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 = import_v44.z.object({
818
- data: import_v44.z.array(import_v44.z.object({ embedding: import_v44.z.array(import_v44.z.number()) })),
819
- usage: import_v44.z.object({ prompt_tokens: import_v44.z.number() }).nullish()
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 import_provider_utils5 = require("@ai-sdk/provider-utils");
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 = import_v45.z.object({
829
- /**
830
- * Base64-encoded reference audio for one-off voice cloning.
831
- *
832
- * When provided, this takes precedence over the standard `voice` option.
833
- */
834
- refAudio: import_v45.z.string().min(1).optional()
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, import_provider_utils5.parseProviderOptions)({
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, import_provider_utils5.postToApi)({
945
+ } = await (0, import_provider_utils7.postToApi)({
917
946
  url: `${this.config.baseURL}/audio/speech`,
918
- headers: (0, import_provider_utils5.combineHeaders)(
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, import_provider_utils5.createJsonResponseHandler)(
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 = import_v46.z.object({
950
- audio_data: import_v46.z.string()
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.52" : "0.0.0-test";
987
+ var VERSION = true ? "2.0.54" : "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, import_provider_utils6.withoutTrailingSlash)(options.baseURL)) != null ? _a : "https://api.mistral.ai/v1";
960
- const getHeaders = () => (0, import_provider_utils6.withUserAgentSuffix)(
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, import_provider_utils6.loadApiKey)({
995
+ Authorization: `Bearer ${(0, import_provider_utils8.loadApiKey)({
963
996
  apiKey: options.apiKey,
964
997
  environmentVariableName: "MISTRAL_API_KEY",
965
998
  description: "Mistral"