@ai-sdk/mistral 3.0.61 → 3.0.63

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/dist/index.mjs CHANGED
@@ -21,9 +21,30 @@ import {
21
21
  parseProviderOptions,
22
22
  postJsonToApi
23
23
  } from "@ai-sdk/provider-utils";
24
- import { z as z3 } from "zod/v4";
24
+ import { z as z4 } from "zod/v4";
25
25
 
26
26
  // src/convert-mistral-usage.ts
27
+ import { z } from "zod/v4";
28
+ var mistralPromptTokensDetailsSchema = z.object({
29
+ messages: z.array(z.json()).nullish(),
30
+ cached_tokens: z.number().nullish(),
31
+ audio_tokens: z.number().nullish()
32
+ }).catchall(z.json());
33
+ var mistralCompletionTokensDetailsSchema = z.object({
34
+ reasoning_tokens: z.number().nullish()
35
+ }).catchall(z.json());
36
+ var mistralUsageSchema = z.object({
37
+ prompt_tokens: z.number(),
38
+ completion_tokens: z.number(),
39
+ total_tokens: z.number(),
40
+ prompt_audio_seconds: z.number().nullish(),
41
+ request_count: z.number().nullish(),
42
+ service_tier: z.string().nullish(),
43
+ num_cached_tokens: z.number().nullish(),
44
+ prompt_tokens_details: mistralPromptTokensDetailsSchema.nullish(),
45
+ prompt_token_details: mistralPromptTokensDetailsSchema.nullish(),
46
+ completion_tokens_details: mistralCompletionTokensDetailsSchema.nullish()
47
+ }).catchall(z.json());
27
48
  function convertMistralUsage(usage) {
28
49
  var _a, _b, _c, _d, _e;
29
50
  if (usage == null) {
@@ -232,53 +253,53 @@ function mapMistralFinishReason(finishReason) {
232
253
  }
233
254
 
234
255
  // src/mistral-chat-options.ts
235
- import { z } from "zod/v4";
236
- var mistralLanguageModelOptions = z.object({
256
+ import { z as z2 } from "zod/v4";
257
+ var mistralLanguageModelOptions = z2.object({
237
258
  /**
238
259
  * Whether to inject a safety prompt before all conversations.
239
260
  *
240
261
  * Defaults to `false`.
241
262
  */
242
- safePrompt: z.boolean().optional(),
243
- documentImageLimit: z.number().optional(),
244
- documentPageLimit: z.number().optional(),
263
+ safePrompt: z2.boolean().optional(),
264
+ documentImageLimit: z2.number().optional(),
265
+ documentPageLimit: z2.number().optional(),
245
266
  /**
246
267
  * Whether to use structured outputs.
247
268
  *
248
269
  * @default true
249
270
  */
250
- structuredOutputs: z.boolean().optional(),
271
+ structuredOutputs: z2.boolean().optional(),
251
272
  /**
252
273
  * Whether to use strict JSON schema validation.
253
274
  *
254
275
  * @default false
255
276
  */
256
- strictJsonSchema: z.boolean().optional(),
277
+ strictJsonSchema: z2.boolean().optional(),
257
278
  /**
258
279
  * Whether to enable parallel function calling during tool use.
259
280
  * When set to false, the model will use at most one tool per response.
260
281
  *
261
282
  * @default true
262
283
  */
263
- parallelToolCalls: z.boolean().optional(),
284
+ parallelToolCalls: z2.boolean().optional(),
264
285
  /**
265
286
  * Controls the reasoning effort for models that support adjustable reasoning.
266
287
  *
267
288
  * - `'high'`: Enable reasoning
268
289
  * - `'none'`: Disable reasoning
269
290
  */
270
- reasoningEffort: z.enum(["high", "none"]).optional()
291
+ reasoningEffort: z2.enum(["high", "none"]).optional()
271
292
  });
272
293
 
273
294
  // src/mistral-error.ts
274
295
  import { createJsonErrorResponseHandler } from "@ai-sdk/provider-utils";
275
- import { z as z2 } from "zod/v4";
276
- var mistralErrorDataSchema = z2.object({
277
- object: z2.literal("error"),
278
- message: z2.string(),
279
- type: z2.string(),
280
- param: z2.string().nullable(),
281
- code: z2.string().nullable()
296
+ import { z as z3 } from "zod/v4";
297
+ var mistralErrorDataSchema = z3.object({
298
+ object: z3.literal("error"),
299
+ message: z3.string(),
300
+ type: z3.string(),
301
+ param: z3.string().nullable(),
302
+ code: z3.string().nullable()
282
303
  });
283
304
  var mistralFailedResponseHandler = createJsonErrorResponseHandler({
284
305
  errorSchema: mistralErrorDataSchema,
@@ -729,93 +750,85 @@ function extractTextContent(content) {
729
750
  }
730
751
  return textContent.length ? textContent.join("") : void 0;
731
752
  }
732
- var mistralContentSchema = z3.union([
733
- z3.string(),
734
- z3.array(
735
- z3.discriminatedUnion("type", [
736
- z3.object({
737
- type: z3.literal("text"),
738
- text: z3.string()
753
+ var mistralContentSchema = z4.union([
754
+ z4.string(),
755
+ z4.array(
756
+ z4.discriminatedUnion("type", [
757
+ z4.object({
758
+ type: z4.literal("text"),
759
+ text: z4.string()
739
760
  }),
740
- z3.object({
741
- type: z3.literal("image_url"),
742
- image_url: z3.union([
743
- z3.string(),
744
- z3.object({
745
- url: z3.string(),
746
- detail: z3.string().nullable()
761
+ z4.object({
762
+ type: z4.literal("image_url"),
763
+ image_url: z4.union([
764
+ z4.string(),
765
+ z4.object({
766
+ url: z4.string(),
767
+ detail: z4.string().nullable()
747
768
  })
748
769
  ])
749
770
  }),
750
- z3.object({
751
- type: z3.literal("reference"),
752
- reference_ids: z3.array(z3.union([z3.string(), z3.number()]))
771
+ z4.object({
772
+ type: z4.literal("reference"),
773
+ reference_ids: z4.array(z4.union([z4.string(), z4.number()]))
753
774
  }),
754
- z3.object({
755
- type: z3.literal("thinking"),
756
- thinking: z3.array(
757
- z3.object({
758
- type: z3.literal("text"),
759
- text: z3.string()
775
+ z4.object({
776
+ type: z4.literal("thinking"),
777
+ thinking: z4.array(
778
+ z4.object({
779
+ type: z4.literal("text"),
780
+ text: z4.string()
760
781
  })
761
782
  )
762
783
  })
763
784
  ])
764
785
  )
765
786
  ]).nullish();
766
- var mistralUsageSchema = z3.object({
767
- prompt_tokens: z3.number(),
768
- completion_tokens: z3.number(),
769
- total_tokens: z3.number(),
770
- num_cached_tokens: z3.number().nullish(),
771
- prompt_tokens_details: z3.object({ cached_tokens: z3.number().nullish() }).nullish(),
772
- prompt_token_details: z3.object({ cached_tokens: z3.number().nullish() }).nullish()
773
- });
774
- var mistralChatResponseSchema = z3.object({
775
- id: z3.string().nullish(),
776
- created: z3.number().nullish(),
777
- model: z3.string().nullish(),
778
- choices: z3.array(
779
- z3.object({
780
- message: z3.object({
781
- role: z3.literal("assistant"),
787
+ var mistralChatResponseSchema = z4.object({
788
+ id: z4.string().nullish(),
789
+ created: z4.number().nullish(),
790
+ model: z4.string().nullish(),
791
+ choices: z4.array(
792
+ z4.object({
793
+ message: z4.object({
794
+ role: z4.literal("assistant"),
782
795
  content: mistralContentSchema,
783
- tool_calls: z3.array(
784
- z3.object({
785
- id: z3.string(),
786
- function: z3.object({ name: z3.string(), arguments: z3.string() })
796
+ tool_calls: z4.array(
797
+ z4.object({
798
+ id: z4.string(),
799
+ function: z4.object({ name: z4.string(), arguments: z4.string() })
787
800
  })
788
801
  ).nullish()
789
802
  }),
790
- index: z3.number(),
791
- finish_reason: z3.string().nullish()
803
+ index: z4.number(),
804
+ finish_reason: z4.string().nullish()
792
805
  })
793
806
  ),
794
- object: z3.literal("chat.completion"),
807
+ object: z4.literal("chat.completion"),
795
808
  usage: mistralUsageSchema
796
809
  });
797
- var mistralChatChunkSchema = z3.object({
798
- id: z3.string().nullish(),
799
- created: z3.number().nullish(),
800
- model: z3.string().nullish(),
801
- choices: z3.array(
802
- z3.object({
803
- delta: z3.object({
804
- role: z3.enum(["assistant"]).optional(),
810
+ var mistralChatChunkSchema = z4.object({
811
+ id: z4.string().nullish(),
812
+ created: z4.number().nullish(),
813
+ model: z4.string().nullish(),
814
+ choices: z4.array(
815
+ z4.object({
816
+ delta: z4.object({
817
+ role: z4.enum(["assistant"]).optional(),
805
818
  content: mistralContentSchema,
806
- tool_calls: z3.array(
807
- z3.object({
808
- index: z3.number().nullish(),
809
- id: z3.string().nullish(),
810
- function: z3.object({
811
- name: z3.string().nullish(),
812
- arguments: z3.string().nullish()
819
+ tool_calls: z4.array(
820
+ z4.object({
821
+ index: z4.number().nullish(),
822
+ id: z4.string().nullish(),
823
+ function: z4.object({
824
+ name: z4.string().nullish(),
825
+ arguments: z4.string().nullish()
813
826
  })
814
827
  })
815
828
  ).nullish()
816
829
  }),
817
- finish_reason: z3.string().nullish(),
818
- index: z3.number()
830
+ finish_reason: z4.string().nullish(),
831
+ index: z4.number()
819
832
  })
820
833
  ),
821
834
  usage: mistralUsageSchema.nullish()
@@ -830,7 +843,7 @@ import {
830
843
  createJsonResponseHandler as createJsonResponseHandler2,
831
844
  postJsonToApi as postJsonToApi2
832
845
  } from "@ai-sdk/provider-utils";
833
- import { z as z4 } from "zod/v4";
846
+ import { z as z5 } from "zod/v4";
834
847
  var MistralEmbeddingModel = class {
835
848
  constructor(modelId, config) {
836
849
  this.specificationVersion = "v3";
@@ -882,9 +895,9 @@ var MistralEmbeddingModel = class {
882
895
  };
883
896
  }
884
897
  };
885
- var MistralTextEmbeddingResponseSchema = z4.object({
886
- data: z4.array(z4.object({ embedding: z4.array(z4.number()) })),
887
- usage: z4.object({ prompt_tokens: z4.number() }).nullish()
898
+ var MistralTextEmbeddingResponseSchema = z5.object({
899
+ data: z5.array(z5.object({ embedding: z5.array(z5.number()) })),
900
+ usage: z5.object({ prompt_tokens: z5.number() }).nullish()
888
901
  });
889
902
 
890
903
  // src/mistral-speech-model.ts
@@ -894,17 +907,17 @@ import {
894
907
  parseProviderOptions as parseProviderOptions2,
895
908
  postToApi
896
909
  } from "@ai-sdk/provider-utils";
897
- import { z as z6 } from "zod/v4";
910
+ import { z as z7 } from "zod/v4";
898
911
 
899
912
  // src/mistral-speech-model-options.ts
900
- import { z as z5 } from "zod/v4";
901
- var mistralSpeechModelOptions = z5.object({
913
+ import { z as z6 } from "zod/v4";
914
+ var mistralSpeechModelOptions = z6.object({
902
915
  /**
903
916
  * Base64-encoded reference audio for one-off voice cloning.
904
917
  *
905
918
  * When provided, this takes precedence over the standard `voice` option.
906
919
  */
907
- refAudio: z5.string().min(1).optional()
920
+ refAudio: z6.string().min(1).optional()
908
921
  });
909
922
 
910
923
  // src/mistral-speech-model.ts
@@ -1019,12 +1032,12 @@ var MistralSpeechModel = class {
1019
1032
  };
1020
1033
  }
1021
1034
  };
1022
- var mistralSpeechResponseSchema = z6.object({
1023
- audio_data: z6.string()
1035
+ var mistralSpeechResponseSchema = z7.object({
1036
+ audio_data: z7.string()
1024
1037
  });
1025
1038
 
1026
1039
  // src/version.ts
1027
- var VERSION = true ? "3.0.61" : "0.0.0-test";
1040
+ var VERSION = true ? "3.0.63" : "0.0.0-test";
1028
1041
 
1029
1042
  // src/mistral-provider.ts
1030
1043
  function createMistral(options = {}) {