mistralai 1.10.1__py3-none-any.whl → 1.11.1__py3-none-any.whl

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.
Files changed (233) hide show
  1. mistralai/_version.py +3 -3
  2. mistralai/accesses.py +22 -12
  3. mistralai/agents.py +88 -44
  4. mistralai/basesdk.py +6 -0
  5. mistralai/chat.py +96 -40
  6. mistralai/classifiers.py +35 -22
  7. mistralai/conversations.py +186 -64
  8. mistralai/documents.py +72 -26
  9. mistralai/embeddings.py +17 -8
  10. mistralai/files.py +58 -24
  11. mistralai/fim.py +20 -12
  12. mistralai/httpclient.py +0 -1
  13. mistralai/jobs.py +65 -26
  14. mistralai/libraries.py +20 -10
  15. mistralai/mistral_agents.py +438 -30
  16. mistralai/mistral_jobs.py +33 -14
  17. mistralai/models/__init__.py +16 -0
  18. mistralai/models/agent.py +1 -1
  19. mistralai/models/agentconversation.py +1 -1
  20. mistralai/models/agenthandoffdoneevent.py +1 -1
  21. mistralai/models/agenthandoffentry.py +3 -2
  22. mistralai/models/agenthandoffstartedevent.py +1 -1
  23. mistralai/models/agents_api_v1_agents_get_versionop.py +21 -0
  24. mistralai/models/agents_api_v1_agents_list_versionsop.py +33 -0
  25. mistralai/models/agents_api_v1_agents_listop.py +4 -0
  26. mistralai/models/agentscompletionrequest.py +2 -5
  27. mistralai/models/agentscompletionstreamrequest.py +2 -5
  28. mistralai/models/archiveftmodelout.py +1 -1
  29. mistralai/models/assistantmessage.py +1 -1
  30. mistralai/models/audiochunk.py +1 -1
  31. mistralai/models/audioencoding.py +6 -1
  32. mistralai/models/audioformat.py +2 -4
  33. mistralai/models/basemodelcard.py +1 -1
  34. mistralai/models/batchjobin.py +2 -4
  35. mistralai/models/batchjobout.py +1 -1
  36. mistralai/models/batchjobsout.py +1 -1
  37. mistralai/models/chatcompletionchoice.py +10 -5
  38. mistralai/models/chatcompletionrequest.py +2 -5
  39. mistralai/models/chatcompletionstreamrequest.py +2 -5
  40. mistralai/models/classifierdetailedjobout.py +4 -2
  41. mistralai/models/classifierftmodelout.py +3 -2
  42. mistralai/models/classifierjobout.py +4 -2
  43. mistralai/models/codeinterpretertool.py +1 -1
  44. mistralai/models/completiondetailedjobout.py +5 -2
  45. mistralai/models/completionftmodelout.py +3 -2
  46. mistralai/models/completionjobout.py +5 -2
  47. mistralai/models/completionresponsestreamchoice.py +9 -8
  48. mistralai/models/conversationappendrequest.py +4 -1
  49. mistralai/models/conversationappendstreamrequest.py +4 -1
  50. mistralai/models/conversationhistory.py +2 -1
  51. mistralai/models/conversationmessages.py +1 -1
  52. mistralai/models/conversationrequest.py +5 -1
  53. mistralai/models/conversationresponse.py +2 -1
  54. mistralai/models/conversationrestartrequest.py +4 -1
  55. mistralai/models/conversationrestartstreamrequest.py +4 -1
  56. mistralai/models/conversationstreamrequest.py +5 -1
  57. mistralai/models/documentlibrarytool.py +1 -1
  58. mistralai/models/documenturlchunk.py +1 -1
  59. mistralai/models/embeddingdtype.py +7 -1
  60. mistralai/models/encodingformat.py +4 -1
  61. mistralai/models/entitytype.py +8 -1
  62. mistralai/models/filepurpose.py +8 -1
  63. mistralai/models/files_api_routes_list_filesop.py +4 -11
  64. mistralai/models/files_api_routes_upload_fileop.py +2 -6
  65. mistralai/models/fileschema.py +3 -5
  66. mistralai/models/finetuneablemodeltype.py +4 -1
  67. mistralai/models/ftclassifierlossfunction.py +4 -1
  68. mistralai/models/ftmodelcard.py +1 -1
  69. mistralai/models/functioncallentry.py +3 -2
  70. mistralai/models/functioncallevent.py +1 -1
  71. mistralai/models/functionresultentry.py +3 -2
  72. mistralai/models/functiontool.py +1 -1
  73. mistralai/models/githubrepositoryin.py +1 -1
  74. mistralai/models/githubrepositoryout.py +1 -1
  75. mistralai/models/httpvalidationerror.py +4 -2
  76. mistralai/models/imagegenerationtool.py +1 -1
  77. mistralai/models/imageurlchunk.py +1 -1
  78. mistralai/models/jobsout.py +1 -1
  79. mistralai/models/legacyjobmetadataout.py +1 -1
  80. mistralai/models/messageinputentry.py +9 -3
  81. mistralai/models/messageoutputentry.py +6 -3
  82. mistralai/models/messageoutputevent.py +4 -2
  83. mistralai/models/mistralerror.py +11 -7
  84. mistralai/models/mistralpromptmode.py +1 -1
  85. mistralai/models/modelconversation.py +1 -1
  86. mistralai/models/no_response_error.py +5 -1
  87. mistralai/models/ocrrequest.py +11 -1
  88. mistralai/models/ocrtableobject.py +4 -1
  89. mistralai/models/referencechunk.py +1 -1
  90. mistralai/models/requestsource.py +5 -1
  91. mistralai/models/responsedoneevent.py +1 -1
  92. mistralai/models/responseerrorevent.py +1 -1
  93. mistralai/models/responseformats.py +5 -1
  94. mistralai/models/responsestartedevent.py +1 -1
  95. mistralai/models/responsevalidationerror.py +2 -0
  96. mistralai/models/retrievefileout.py +3 -5
  97. mistralai/models/sampletype.py +7 -1
  98. mistralai/models/sdkerror.py +2 -0
  99. mistralai/models/shareenum.py +7 -1
  100. mistralai/models/sharingdelete.py +2 -4
  101. mistralai/models/sharingin.py +3 -5
  102. mistralai/models/source.py +8 -1
  103. mistralai/models/systemmessage.py +1 -1
  104. mistralai/models/textchunk.py +1 -1
  105. mistralai/models/thinkchunk.py +1 -1
  106. mistralai/models/timestampgranularity.py +1 -1
  107. mistralai/models/tool.py +2 -6
  108. mistralai/models/toolcall.py +2 -6
  109. mistralai/models/toolchoice.py +2 -6
  110. mistralai/models/toolchoiceenum.py +6 -1
  111. mistralai/models/toolexecutiondeltaevent.py +2 -1
  112. mistralai/models/toolexecutiondoneevent.py +2 -1
  113. mistralai/models/toolexecutionentry.py +4 -2
  114. mistralai/models/toolexecutionstartedevent.py +2 -1
  115. mistralai/models/toolfilechunk.py +2 -1
  116. mistralai/models/toolmessage.py +1 -1
  117. mistralai/models/toolreferencechunk.py +2 -1
  118. mistralai/models/tooltypes.py +1 -1
  119. mistralai/models/transcriptionsegmentchunk.py +1 -1
  120. mistralai/models/transcriptionstreamdone.py +1 -1
  121. mistralai/models/transcriptionstreamlanguage.py +1 -1
  122. mistralai/models/transcriptionstreamsegmentdelta.py +1 -1
  123. mistralai/models/transcriptionstreamtextdelta.py +1 -1
  124. mistralai/models/unarchiveftmodelout.py +1 -1
  125. mistralai/models/uploadfileout.py +3 -5
  126. mistralai/models/usermessage.py +1 -1
  127. mistralai/models/wandbintegration.py +1 -1
  128. mistralai/models/wandbintegrationout.py +1 -1
  129. mistralai/models/websearchpremiumtool.py +1 -1
  130. mistralai/models/websearchtool.py +1 -1
  131. mistralai/models_.py +24 -12
  132. mistralai/ocr.py +38 -10
  133. mistralai/sdk.py +2 -2
  134. mistralai/transcriptions.py +28 -12
  135. mistralai/types/basemodel.py +41 -3
  136. mistralai/utils/__init__.py +0 -3
  137. mistralai/utils/annotations.py +32 -8
  138. mistralai/utils/enums.py +60 -0
  139. mistralai/utils/forms.py +21 -10
  140. mistralai/utils/queryparams.py +14 -2
  141. mistralai/utils/requestbodies.py +3 -3
  142. mistralai/utils/retries.py +69 -5
  143. mistralai/utils/serializers.py +0 -20
  144. mistralai/utils/unmarshal_json_response.py +15 -1
  145. {mistralai-1.10.1.dist-info → mistralai-1.11.1.dist-info}/METADATA +24 -31
  146. {mistralai-1.10.1.dist-info → mistralai-1.11.1.dist-info}/RECORD +233 -230
  147. mistralai_azure/_version.py +3 -3
  148. mistralai_azure/basesdk.py +6 -0
  149. mistralai_azure/chat.py +27 -15
  150. mistralai_azure/httpclient.py +0 -1
  151. mistralai_azure/models/__init__.py +16 -1
  152. mistralai_azure/models/assistantmessage.py +1 -1
  153. mistralai_azure/models/chatcompletionchoice.py +10 -7
  154. mistralai_azure/models/chatcompletionrequest.py +8 -6
  155. mistralai_azure/models/chatcompletionstreamrequest.py +8 -6
  156. mistralai_azure/models/completionresponsestreamchoice.py +11 -7
  157. mistralai_azure/models/documenturlchunk.py +1 -1
  158. mistralai_azure/models/httpvalidationerror.py +4 -2
  159. mistralai_azure/models/imageurlchunk.py +1 -1
  160. mistralai_azure/models/mistralazureerror.py +11 -7
  161. mistralai_azure/models/mistralpromptmode.py +1 -1
  162. mistralai_azure/models/no_response_error.py +5 -1
  163. mistralai_azure/models/ocrpageobject.py +32 -5
  164. mistralai_azure/models/ocrrequest.py +20 -1
  165. mistralai_azure/models/ocrtableobject.py +34 -0
  166. mistralai_azure/models/referencechunk.py +1 -1
  167. mistralai_azure/models/responseformats.py +5 -1
  168. mistralai_azure/models/responsevalidationerror.py +2 -0
  169. mistralai_azure/models/sdkerror.py +2 -0
  170. mistralai_azure/models/systemmessage.py +1 -1
  171. mistralai_azure/models/textchunk.py +1 -1
  172. mistralai_azure/models/thinkchunk.py +1 -1
  173. mistralai_azure/models/tool.py +2 -6
  174. mistralai_azure/models/toolcall.py +2 -6
  175. mistralai_azure/models/toolchoice.py +2 -6
  176. mistralai_azure/models/toolchoiceenum.py +6 -1
  177. mistralai_azure/models/toolmessage.py +1 -1
  178. mistralai_azure/models/tooltypes.py +1 -1
  179. mistralai_azure/models/usermessage.py +1 -1
  180. mistralai_azure/ocr.py +26 -6
  181. mistralai_azure/types/basemodel.py +41 -3
  182. mistralai_azure/utils/__init__.py +0 -3
  183. mistralai_azure/utils/annotations.py +32 -8
  184. mistralai_azure/utils/enums.py +60 -0
  185. mistralai_azure/utils/forms.py +21 -10
  186. mistralai_azure/utils/queryparams.py +14 -2
  187. mistralai_azure/utils/requestbodies.py +3 -3
  188. mistralai_azure/utils/retries.py +69 -5
  189. mistralai_azure/utils/serializers.py +0 -20
  190. mistralai_azure/utils/unmarshal_json_response.py +15 -1
  191. mistralai_gcp/_version.py +3 -3
  192. mistralai_gcp/basesdk.py +6 -0
  193. mistralai_gcp/chat.py +27 -15
  194. mistralai_gcp/fim.py +27 -15
  195. mistralai_gcp/httpclient.py +0 -1
  196. mistralai_gcp/models/assistantmessage.py +1 -1
  197. mistralai_gcp/models/chatcompletionchoice.py +10 -7
  198. mistralai_gcp/models/chatcompletionrequest.py +8 -6
  199. mistralai_gcp/models/chatcompletionstreamrequest.py +8 -6
  200. mistralai_gcp/models/completionresponsestreamchoice.py +11 -7
  201. mistralai_gcp/models/fimcompletionrequest.py +6 -1
  202. mistralai_gcp/models/fimcompletionstreamrequest.py +6 -1
  203. mistralai_gcp/models/httpvalidationerror.py +4 -2
  204. mistralai_gcp/models/imageurlchunk.py +1 -1
  205. mistralai_gcp/models/mistralgcperror.py +11 -7
  206. mistralai_gcp/models/mistralpromptmode.py +1 -1
  207. mistralai_gcp/models/no_response_error.py +5 -1
  208. mistralai_gcp/models/referencechunk.py +1 -1
  209. mistralai_gcp/models/responseformats.py +5 -1
  210. mistralai_gcp/models/responsevalidationerror.py +2 -0
  211. mistralai_gcp/models/sdkerror.py +2 -0
  212. mistralai_gcp/models/systemmessage.py +1 -1
  213. mistralai_gcp/models/textchunk.py +1 -1
  214. mistralai_gcp/models/thinkchunk.py +1 -1
  215. mistralai_gcp/models/tool.py +2 -6
  216. mistralai_gcp/models/toolcall.py +2 -6
  217. mistralai_gcp/models/toolchoice.py +2 -6
  218. mistralai_gcp/models/toolchoiceenum.py +6 -1
  219. mistralai_gcp/models/toolmessage.py +1 -1
  220. mistralai_gcp/models/tooltypes.py +1 -1
  221. mistralai_gcp/models/usermessage.py +1 -1
  222. mistralai_gcp/types/basemodel.py +41 -3
  223. mistralai_gcp/utils/__init__.py +0 -3
  224. mistralai_gcp/utils/annotations.py +32 -8
  225. mistralai_gcp/utils/enums.py +60 -0
  226. mistralai_gcp/utils/forms.py +21 -10
  227. mistralai_gcp/utils/queryparams.py +14 -2
  228. mistralai_gcp/utils/requestbodies.py +3 -3
  229. mistralai_gcp/utils/retries.py +69 -5
  230. mistralai_gcp/utils/serializers.py +0 -20
  231. mistralai_gcp/utils/unmarshal_json_response.py +15 -1
  232. {mistralai-1.10.1.dist-info → mistralai-1.11.1.dist-info}/WHEEL +0 -0
  233. {mistralai-1.10.1.dist-info → mistralai-1.11.1.dist-info}/licenses/LICENSE +0 -0
@@ -5,4 +5,4 @@ from mistralai.types import UnrecognizedStr
5
5
  from typing import Literal, Union
6
6
 
7
7
 
8
- MistralPromptMode = Union[Literal["reasoning"], UnrecognizedStr]
8
+ MistralPromptMode = Union[Literal["reasoning",], UnrecognizedStr]
@@ -42,7 +42,7 @@ ModelConversationTools = Annotated[
42
42
  ]
43
43
 
44
44
 
45
- ModelConversationObject = Literal["conversation"]
45
+ ModelConversationObject = Literal["conversation",]
46
46
 
47
47
 
48
48
  class ModelConversationTypedDict(TypedDict):
@@ -1,12 +1,16 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
+ from dataclasses import dataclass
4
+
5
+
6
+ @dataclass(unsafe_hash=True)
3
7
  class NoResponseError(Exception):
4
8
  """Error raised when no HTTP response is received from the server."""
5
9
 
6
10
  message: str
7
11
 
8
12
  def __init__(self, message: str = "No response received"):
9
- self.message = message
13
+ object.__setattr__(self, "message", message)
10
14
  super().__init__(message)
11
15
 
12
16
  def __str__(self):
@@ -22,7 +22,10 @@ Document = TypeAliasType("Document", Union[FileChunk, ImageURLChunk, DocumentURL
22
22
  r"""Document to run OCR on"""
23
23
 
24
24
 
25
- TableFormat = Literal["markdown", "html"]
25
+ TableFormat = Literal[
26
+ "markdown",
27
+ "html",
28
+ ]
26
29
 
27
30
 
28
31
  class OCRRequestTypedDict(TypedDict):
@@ -42,6 +45,8 @@ class OCRRequestTypedDict(TypedDict):
42
45
  r"""Structured output class for extracting useful information from each extracted bounding box / image from document. Only json_schema is valid for this field"""
43
46
  document_annotation_format: NotRequired[Nullable[ResponseFormatTypedDict]]
44
47
  r"""Structured output class for extracting useful information from the entire document. Only json_schema is valid for this field"""
48
+ document_annotation_prompt: NotRequired[Nullable[str]]
49
+ r"""Optional prompt to guide the model in extracting structured output from the entire document. A document_annotation_format must be provided."""
45
50
  table_format: NotRequired[Nullable[TableFormat]]
46
51
  extract_header: NotRequired[bool]
47
52
  extract_footer: NotRequired[bool]
@@ -73,6 +78,9 @@ class OCRRequest(BaseModel):
73
78
  document_annotation_format: OptionalNullable[ResponseFormat] = UNSET
74
79
  r"""Structured output class for extracting useful information from the entire document. Only json_schema is valid for this field"""
75
80
 
81
+ document_annotation_prompt: OptionalNullable[str] = UNSET
82
+ r"""Optional prompt to guide the model in extracting structured output from the entire document. A document_annotation_format must be provided."""
83
+
76
84
  table_format: OptionalNullable[TableFormat] = UNSET
77
85
 
78
86
  extract_header: Optional[bool] = None
@@ -89,6 +97,7 @@ class OCRRequest(BaseModel):
89
97
  "image_min_size",
90
98
  "bbox_annotation_format",
91
99
  "document_annotation_format",
100
+ "document_annotation_prompt",
92
101
  "table_format",
93
102
  "extract_header",
94
103
  "extract_footer",
@@ -101,6 +110,7 @@ class OCRRequest(BaseModel):
101
110
  "image_min_size",
102
111
  "bbox_annotation_format",
103
112
  "document_annotation_format",
113
+ "document_annotation_prompt",
104
114
  "table_format",
105
115
  ]
106
116
  null_default_fields = []
@@ -7,7 +7,10 @@ from typing import Literal
7
7
  from typing_extensions import Annotated, TypedDict
8
8
 
9
9
 
10
- Format = Literal["markdown", "html"]
10
+ Format = Literal[
11
+ "markdown",
12
+ "html",
13
+ ]
11
14
  r"""Format of the table"""
12
15
 
13
16
 
@@ -6,7 +6,7 @@ from typing import List, Literal, Optional
6
6
  from typing_extensions import NotRequired, TypedDict
7
7
 
8
8
 
9
- ReferenceChunkType = Literal["reference"]
9
+ ReferenceChunkType = Literal["reference",]
10
10
 
11
11
 
12
12
  class ReferenceChunkTypedDict(TypedDict):
@@ -4,4 +4,8 @@ from __future__ import annotations
4
4
  from typing import Literal
5
5
 
6
6
 
7
- RequestSource = Literal["api", "playground", "agent_builder_v1"]
7
+ RequestSource = Literal[
8
+ "api",
9
+ "playground",
10
+ "agent_builder_v1",
11
+ ]
@@ -8,7 +8,7 @@ from typing import Literal, Optional
8
8
  from typing_extensions import NotRequired, TypedDict
9
9
 
10
10
 
11
- ResponseDoneEventType = Literal["conversation.response.done"]
11
+ ResponseDoneEventType = Literal["conversation.response.done",]
12
12
 
13
13
 
14
14
  class ResponseDoneEventTypedDict(TypedDict):
@@ -7,7 +7,7 @@ from typing import Literal, Optional
7
7
  from typing_extensions import NotRequired, TypedDict
8
8
 
9
9
 
10
- ResponseErrorEventType = Literal["conversation.response.error"]
10
+ ResponseErrorEventType = Literal["conversation.response.error",]
11
11
 
12
12
 
13
13
  class ResponseErrorEventTypedDict(TypedDict):
@@ -4,4 +4,8 @@ from __future__ import annotations
4
4
  from typing import Literal
5
5
 
6
6
 
7
- ResponseFormats = Literal["text", "json_object", "json_schema"]
7
+ ResponseFormats = Literal[
8
+ "text",
9
+ "json_object",
10
+ "json_schema",
11
+ ]
@@ -7,7 +7,7 @@ from typing import Literal, Optional
7
7
  from typing_extensions import NotRequired, TypedDict
8
8
 
9
9
 
10
- ResponseStartedEventType = Literal["conversation.response.started"]
10
+ ResponseStartedEventType = Literal["conversation.response.started",]
11
11
 
12
12
 
13
13
  class ResponseStartedEventTypedDict(TypedDict):
@@ -2,10 +2,12 @@
2
2
 
3
3
  import httpx
4
4
  from typing import Optional
5
+ from dataclasses import dataclass
5
6
 
6
7
  from mistralai.models import MistralError
7
8
 
8
9
 
10
+ @dataclass(unsafe_hash=True)
9
11
  class ResponseValidationError(MistralError):
10
12
  """Error raised when there is a type mismatch between the response data and the expected Pydantic model."""
11
13
 
@@ -5,10 +5,8 @@ from .filepurpose import FilePurpose
5
5
  from .sampletype import SampleType
6
6
  from .source import Source
7
7
  from mistralai.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
8
- from mistralai.utils import validate_open_enum
9
8
  import pydantic
10
9
  from pydantic import model_serializer
11
- from pydantic.functional_validators import PlainValidator
12
10
  from typing_extensions import Annotated, NotRequired, TypedDict
13
11
 
14
12
 
@@ -48,11 +46,11 @@ class RetrieveFileOut(BaseModel):
48
46
  filename: str
49
47
  r"""The name of the uploaded file."""
50
48
 
51
- purpose: Annotated[FilePurpose, PlainValidator(validate_open_enum(False))]
49
+ purpose: FilePurpose
52
50
 
53
- sample_type: Annotated[SampleType, PlainValidator(validate_open_enum(False))]
51
+ sample_type: SampleType
54
52
 
55
- source: Annotated[Source, PlainValidator(validate_open_enum(False))]
53
+ source: Source
56
54
 
57
55
  deleted: bool
58
56
 
@@ -6,6 +6,12 @@ from typing import Literal, Union
6
6
 
7
7
 
8
8
  SampleType = Union[
9
- Literal["pretrain", "instruct", "batch_request", "batch_result", "batch_error"],
9
+ Literal[
10
+ "pretrain",
11
+ "instruct",
12
+ "batch_request",
13
+ "batch_result",
14
+ "batch_error",
15
+ ],
10
16
  UnrecognizedStr,
11
17
  ]
@@ -2,12 +2,14 @@
2
2
 
3
3
  import httpx
4
4
  from typing import Optional
5
+ from dataclasses import dataclass
5
6
 
6
7
  from mistralai.models import MistralError
7
8
 
8
9
  MAX_MESSAGE_LEN = 10_000
9
10
 
10
11
 
12
+ @dataclass(unsafe_hash=True)
11
13
  class SDKError(MistralError):
12
14
  """The fallback error class if no more specific error class is matched."""
13
15
 
@@ -5,4 +5,10 @@ from mistralai.types import UnrecognizedStr
5
5
  from typing import Literal, Union
6
6
 
7
7
 
8
- ShareEnum = Union[Literal["Viewer", "Editor"], UnrecognizedStr]
8
+ ShareEnum = Union[
9
+ Literal[
10
+ "Viewer",
11
+ "Editor",
12
+ ],
13
+ UnrecognizedStr,
14
+ ]
@@ -3,10 +3,8 @@
3
3
  from __future__ import annotations
4
4
  from .entitytype import EntityType
5
5
  from mistralai.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
6
- from mistralai.utils import validate_open_enum
7
6
  from pydantic import model_serializer
8
- from pydantic.functional_validators import PlainValidator
9
- from typing_extensions import Annotated, NotRequired, TypedDict
7
+ from typing_extensions import NotRequired, TypedDict
10
8
 
11
9
 
12
10
  class SharingDeleteTypedDict(TypedDict):
@@ -21,7 +19,7 @@ class SharingDelete(BaseModel):
21
19
  share_with_uuid: str
22
20
  r"""The id of the entity (user, workspace or organization) to share with"""
23
21
 
24
- share_with_type: Annotated[EntityType, PlainValidator(validate_open_enum(False))]
22
+ share_with_type: EntityType
25
23
  r"""The type of entity, used to share a library."""
26
24
 
27
25
  org_id: OptionalNullable[str] = UNSET
@@ -4,10 +4,8 @@ from __future__ import annotations
4
4
  from .entitytype import EntityType
5
5
  from .shareenum import ShareEnum
6
6
  from mistralai.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
7
- from mistralai.utils import validate_open_enum
8
7
  from pydantic import model_serializer
9
- from pydantic.functional_validators import PlainValidator
10
- from typing_extensions import Annotated, NotRequired, TypedDict
8
+ from typing_extensions import NotRequired, TypedDict
11
9
 
12
10
 
13
11
  class SharingInTypedDict(TypedDict):
@@ -20,12 +18,12 @@ class SharingInTypedDict(TypedDict):
20
18
 
21
19
 
22
20
  class SharingIn(BaseModel):
23
- level: Annotated[ShareEnum, PlainValidator(validate_open_enum(False))]
21
+ level: ShareEnum
24
22
 
25
23
  share_with_uuid: str
26
24
  r"""The id of the entity (user, workspace or organization) to share with"""
27
25
 
28
- share_with_type: Annotated[EntityType, PlainValidator(validate_open_enum(False))]
26
+ share_with_type: EntityType
29
27
  r"""The type of entity, used to share a library."""
30
28
 
31
29
  org_id: OptionalNullable[str] = UNSET
@@ -5,4 +5,11 @@ from mistralai.types import UnrecognizedStr
5
5
  from typing import Literal, Union
6
6
 
7
7
 
8
- Source = Union[Literal["upload", "repository", "mistral"], UnrecognizedStr]
8
+ Source = Union[
9
+ Literal[
10
+ "upload",
11
+ "repository",
12
+ "mistral",
13
+ ],
14
+ UnrecognizedStr,
15
+ ]
@@ -21,7 +21,7 @@ SystemMessageContent = TypeAliasType(
21
21
  )
22
22
 
23
23
 
24
- Role = Literal["system"]
24
+ Role = Literal["system",]
25
25
 
26
26
 
27
27
  class SystemMessageTypedDict(TypedDict):
@@ -6,7 +6,7 @@ from typing import Literal, Optional
6
6
  from typing_extensions import NotRequired, TypedDict
7
7
 
8
8
 
9
- TextChunkType = Literal["text"]
9
+ TextChunkType = Literal["text",]
10
10
 
11
11
 
12
12
  class TextChunkTypedDict(TypedDict):
@@ -16,7 +16,7 @@ ThinkingTypedDict = TypeAliasType(
16
16
  Thinking = TypeAliasType("Thinking", Union[ReferenceChunk, TextChunk])
17
17
 
18
18
 
19
- ThinkChunkType = Literal["thinking"]
19
+ ThinkChunkType = Literal["thinking",]
20
20
 
21
21
 
22
22
  class ThinkChunkTypedDict(TypedDict):
@@ -4,4 +4,4 @@ from __future__ import annotations
4
4
  from typing import Literal
5
5
 
6
6
 
7
- TimestampGranularity = Literal["segment"]
7
+ TimestampGranularity = Literal["segment",]
mistralai/models/tool.py CHANGED
@@ -4,10 +4,8 @@ from __future__ import annotations
4
4
  from .function import Function, FunctionTypedDict
5
5
  from .tooltypes import ToolTypes
6
6
  from mistralai.types import BaseModel
7
- from mistralai.utils import validate_open_enum
8
- from pydantic.functional_validators import PlainValidator
9
7
  from typing import Optional
10
- from typing_extensions import Annotated, NotRequired, TypedDict
8
+ from typing_extensions import NotRequired, TypedDict
11
9
 
12
10
 
13
11
  class ToolTypedDict(TypedDict):
@@ -18,6 +16,4 @@ class ToolTypedDict(TypedDict):
18
16
  class Tool(BaseModel):
19
17
  function: Function
20
18
 
21
- type: Annotated[Optional[ToolTypes], PlainValidator(validate_open_enum(False))] = (
22
- None
23
- )
19
+ type: Optional[ToolTypes] = None
@@ -4,10 +4,8 @@ from __future__ import annotations
4
4
  from .functioncall import FunctionCall, FunctionCallTypedDict
5
5
  from .tooltypes import ToolTypes
6
6
  from mistralai.types import BaseModel
7
- from mistralai.utils import validate_open_enum
8
- from pydantic.functional_validators import PlainValidator
9
7
  from typing import Optional
10
- from typing_extensions import Annotated, NotRequired, TypedDict
8
+ from typing_extensions import NotRequired, TypedDict
11
9
 
12
10
 
13
11
  class ToolCallTypedDict(TypedDict):
@@ -22,8 +20,6 @@ class ToolCall(BaseModel):
22
20
 
23
21
  id: Optional[str] = "null"
24
22
 
25
- type: Annotated[Optional[ToolTypes], PlainValidator(validate_open_enum(False))] = (
26
- None
27
- )
23
+ type: Optional[ToolTypes] = None
28
24
 
29
25
  index: Optional[int] = 0
@@ -4,10 +4,8 @@ from __future__ import annotations
4
4
  from .functionname import FunctionName, FunctionNameTypedDict
5
5
  from .tooltypes import ToolTypes
6
6
  from mistralai.types import BaseModel
7
- from mistralai.utils import validate_open_enum
8
- from pydantic.functional_validators import PlainValidator
9
7
  from typing import Optional
10
- from typing_extensions import Annotated, NotRequired, TypedDict
8
+ from typing_extensions import NotRequired, TypedDict
11
9
 
12
10
 
13
11
  class ToolChoiceTypedDict(TypedDict):
@@ -24,6 +22,4 @@ class ToolChoice(BaseModel):
24
22
  function: FunctionName
25
23
  r"""this restriction of `Function` is used to select a specific function to call"""
26
24
 
27
- type: Annotated[Optional[ToolTypes], PlainValidator(validate_open_enum(False))] = (
28
- None
29
- )
25
+ type: Optional[ToolTypes] = None
@@ -4,4 +4,9 @@ from __future__ import annotations
4
4
  from typing import Literal
5
5
 
6
6
 
7
- ToolChoiceEnum = Literal["auto", "none", "any", "required"]
7
+ ToolChoiceEnum = Literal[
8
+ "auto",
9
+ "none",
10
+ "any",
11
+ "required",
12
+ ]
@@ -8,7 +8,8 @@ from typing import Literal, Optional, Union
8
8
  from typing_extensions import NotRequired, TypeAliasType, TypedDict
9
9
 
10
10
 
11
- ToolExecutionDeltaEventType = Literal["tool.execution.delta"]
11
+ ToolExecutionDeltaEventType = Literal["tool.execution.delta",]
12
+
12
13
 
13
14
  ToolExecutionDeltaEventNameTypedDict = TypeAliasType(
14
15
  "ToolExecutionDeltaEventNameTypedDict", Union[BuiltInConnectors, str]
@@ -8,7 +8,8 @@ from typing import Any, Dict, Literal, Optional, Union
8
8
  from typing_extensions import NotRequired, TypeAliasType, TypedDict
9
9
 
10
10
 
11
- ToolExecutionDoneEventType = Literal["tool.execution.done"]
11
+ ToolExecutionDoneEventType = Literal["tool.execution.done",]
12
+
12
13
 
13
14
  ToolExecutionDoneEventNameTypedDict = TypeAliasType(
14
15
  "ToolExecutionDoneEventNameTypedDict", Union[BuiltInConnectors, str]
@@ -9,9 +9,11 @@ from typing import Any, Dict, Literal, Optional, Union
9
9
  from typing_extensions import NotRequired, TypeAliasType, TypedDict
10
10
 
11
11
 
12
- ToolExecutionEntryObject = Literal["entry"]
12
+ ToolExecutionEntryObject = Literal["entry",]
13
+
14
+
15
+ ToolExecutionEntryType = Literal["tool.execution",]
13
16
 
14
- ToolExecutionEntryType = Literal["tool.execution"]
15
17
 
16
18
  NameTypedDict = TypeAliasType("NameTypedDict", Union[BuiltInConnectors, str])
17
19
 
@@ -8,7 +8,8 @@ from typing import Literal, Optional, Union
8
8
  from typing_extensions import NotRequired, TypeAliasType, TypedDict
9
9
 
10
10
 
11
- ToolExecutionStartedEventType = Literal["tool.execution.started"]
11
+ ToolExecutionStartedEventType = Literal["tool.execution.started",]
12
+
12
13
 
13
14
  ToolExecutionStartedEventNameTypedDict = TypeAliasType(
14
15
  "ToolExecutionStartedEventNameTypedDict", Union[BuiltInConnectors, str]
@@ -8,7 +8,8 @@ from typing import Literal, Optional, Union
8
8
  from typing_extensions import NotRequired, TypeAliasType, TypedDict
9
9
 
10
10
 
11
- ToolFileChunkType = Literal["tool_file"]
11
+ ToolFileChunkType = Literal["tool_file",]
12
+
12
13
 
13
14
  ToolFileChunkToolTypedDict = TypeAliasType(
14
15
  "ToolFileChunkToolTypedDict", Union[BuiltInConnectors, str]
@@ -16,7 +16,7 @@ ToolMessageContentTypedDict = TypeAliasType(
16
16
  ToolMessageContent = TypeAliasType("ToolMessageContent", Union[str, List[ContentChunk]])
17
17
 
18
18
 
19
- ToolMessageRole = Literal["tool"]
19
+ ToolMessageRole = Literal["tool",]
20
20
 
21
21
 
22
22
  class ToolMessageTypedDict(TypedDict):
@@ -8,7 +8,8 @@ from typing import Literal, Optional, Union
8
8
  from typing_extensions import NotRequired, TypeAliasType, TypedDict
9
9
 
10
10
 
11
- ToolReferenceChunkType = Literal["tool_reference"]
11
+ ToolReferenceChunkType = Literal["tool_reference",]
12
+
12
13
 
13
14
  ToolReferenceChunkToolTypedDict = TypeAliasType(
14
15
  "ToolReferenceChunkToolTypedDict", Union[BuiltInConnectors, str]
@@ -5,4 +5,4 @@ from mistralai.types import UnrecognizedStr
5
5
  from typing import Literal, Union
6
6
 
7
7
 
8
- ToolTypes = Union[Literal["function"], UnrecognizedStr]
8
+ ToolTypes = Union[Literal["function",], UnrecognizedStr]
@@ -8,7 +8,7 @@ from typing import Any, Dict, Literal, Optional
8
8
  from typing_extensions import NotRequired, TypedDict
9
9
 
10
10
 
11
- Type = Literal["transcription_segment"]
11
+ Type = Literal["transcription_segment",]
12
12
 
13
13
 
14
14
  class TranscriptionSegmentChunkTypedDict(TypedDict):
@@ -13,7 +13,7 @@ from typing import Any, Dict, List, Literal, Optional
13
13
  from typing_extensions import NotRequired, TypedDict
14
14
 
15
15
 
16
- TranscriptionStreamDoneType = Literal["transcription.done"]
16
+ TranscriptionStreamDoneType = Literal["transcription.done",]
17
17
 
18
18
 
19
19
  class TranscriptionStreamDoneTypedDict(TypedDict):
@@ -8,7 +8,7 @@ from typing import Any, Dict, Literal, Optional
8
8
  from typing_extensions import NotRequired, TypedDict
9
9
 
10
10
 
11
- TranscriptionStreamLanguageType = Literal["transcription.language"]
11
+ TranscriptionStreamLanguageType = Literal["transcription.language",]
12
12
 
13
13
 
14
14
  class TranscriptionStreamLanguageTypedDict(TypedDict):
@@ -8,7 +8,7 @@ from typing import Any, Dict, Literal, Optional
8
8
  from typing_extensions import NotRequired, TypedDict
9
9
 
10
10
 
11
- TranscriptionStreamSegmentDeltaType = Literal["transcription.segment"]
11
+ TranscriptionStreamSegmentDeltaType = Literal["transcription.segment",]
12
12
 
13
13
 
14
14
  class TranscriptionStreamSegmentDeltaTypedDict(TypedDict):
@@ -8,7 +8,7 @@ from typing import Any, Dict, Literal, Optional
8
8
  from typing_extensions import NotRequired, TypedDict
9
9
 
10
10
 
11
- TranscriptionStreamTextDeltaType = Literal["transcription.text.delta"]
11
+ TranscriptionStreamTextDeltaType = Literal["transcription.text.delta",]
12
12
 
13
13
 
14
14
  class TranscriptionStreamTextDeltaTypedDict(TypedDict):
@@ -6,7 +6,7 @@ from typing import Literal, Optional
6
6
  from typing_extensions import NotRequired, TypedDict
7
7
 
8
8
 
9
- UnarchiveFTModelOutObject = Literal["model"]
9
+ UnarchiveFTModelOutObject = Literal["model",]
10
10
 
11
11
 
12
12
  class UnarchiveFTModelOutTypedDict(TypedDict):
@@ -5,10 +5,8 @@ from .filepurpose import FilePurpose
5
5
  from .sampletype import SampleType
6
6
  from .source import Source
7
7
  from mistralai.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
8
- from mistralai.utils import validate_open_enum
9
8
  import pydantic
10
9
  from pydantic import model_serializer
11
- from pydantic.functional_validators import PlainValidator
12
10
  from typing_extensions import Annotated, NotRequired, TypedDict
13
11
 
14
12
 
@@ -47,11 +45,11 @@ class UploadFileOut(BaseModel):
47
45
  filename: str
48
46
  r"""The name of the uploaded file."""
49
47
 
50
- purpose: Annotated[FilePurpose, PlainValidator(validate_open_enum(False))]
48
+ purpose: FilePurpose
51
49
 
52
- sample_type: Annotated[SampleType, PlainValidator(validate_open_enum(False))]
50
+ sample_type: SampleType
53
51
 
54
- source: Annotated[Source, PlainValidator(validate_open_enum(False))]
52
+ source: Source
55
53
 
56
54
  num_lines: OptionalNullable[int] = UNSET
57
55
 
@@ -16,7 +16,7 @@ UserMessageContentTypedDict = TypeAliasType(
16
16
  UserMessageContent = TypeAliasType("UserMessageContent", Union[str, List[ContentChunk]])
17
17
 
18
18
 
19
- UserMessageRole = Literal["user"]
19
+ UserMessageRole = Literal["user",]
20
20
 
21
21
 
22
22
  class UserMessageTypedDict(TypedDict):
@@ -7,7 +7,7 @@ from typing import Literal, Optional
7
7
  from typing_extensions import NotRequired, TypedDict
8
8
 
9
9
 
10
- WandbIntegrationType = Literal["wandb"]
10
+ WandbIntegrationType = Literal["wandb",]
11
11
 
12
12
 
13
13
  class WandbIntegrationTypedDict(TypedDict):
@@ -7,7 +7,7 @@ from typing import Literal, Optional
7
7
  from typing_extensions import NotRequired, TypedDict
8
8
 
9
9
 
10
- WandbIntegrationOutType = Literal["wandb"]
10
+ WandbIntegrationOutType = Literal["wandb",]
11
11
 
12
12
 
13
13
  class WandbIntegrationOutTypedDict(TypedDict):
@@ -6,7 +6,7 @@ from typing import Literal, Optional
6
6
  from typing_extensions import NotRequired, TypedDict
7
7
 
8
8
 
9
- WebSearchPremiumToolType = Literal["web_search_premium"]
9
+ WebSearchPremiumToolType = Literal["web_search_premium",]
10
10
 
11
11
 
12
12
  class WebSearchPremiumToolTypedDict(TypedDict):
@@ -6,7 +6,7 @@ from typing import Literal, Optional
6
6
  from typing_extensions import NotRequired, TypedDict
7
7
 
8
8
 
9
- WebSearchToolType = Literal["web_search"]
9
+ WebSearchToolType = Literal["web_search",]
10
10
 
11
11
 
12
12
  class WebSearchToolTypedDict(TypedDict):