mistralai 1.11.1__tar.gz → 1.12.0__tar.gz
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.
- {mistralai-1.11.1 → mistralai-1.12.0}/PKG-INFO +6 -2
- {mistralai-1.11.1 → mistralai-1.12.0}/README.md +3 -1
- {mistralai-1.11.1 → mistralai-1.12.0}/pyproject.toml +6 -1
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/_version.py +2 -2
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/audio.py +20 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/conversations.py +48 -8
- mistralai-1.12.0/src/mistralai/extra/__init__.py +61 -0
- mistralai-1.12.0/src/mistralai/extra/exceptions.py +59 -0
- mistralai-1.12.0/src/mistralai/extra/realtime/__init__.py +25 -0
- mistralai-1.12.0/src/mistralai/extra/realtime/connection.py +207 -0
- mistralai-1.12.0/src/mistralai/extra/realtime/transcription.py +271 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/files.py +6 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/mistral_agents.py +391 -8
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/__init__.py +103 -0
- mistralai-1.12.0/src/mistralai/models/agentaliasresponse.py +23 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/agentconversation.py +14 -4
- mistralai-1.12.0/src/mistralai/models/agents_api_v1_agents_create_or_update_aliasop.py +26 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/agents_api_v1_agents_get_versionop.py +2 -2
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/agents_api_v1_agents_getop.py +12 -3
- mistralai-1.12.0/src/mistralai/models/agents_api_v1_agents_list_version_aliasesop.py +16 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/audiotranscriptionrequest.py +8 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/audiotranscriptionrequeststream.py +8 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/conversationrequest.py +8 -2
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/conversationrestartrequest.py +18 -4
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/conversationrestartstreamrequest.py +20 -4
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/conversationstreamrequest.py +12 -2
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/files_api_routes_list_filesop.py +8 -1
- mistralai-1.12.0/src/mistralai/models/mistralpromptmode.py +12 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/modelcapabilities.py +3 -0
- mistralai-1.12.0/src/mistralai/models/realtimetranscriptionerror.py +27 -0
- mistralai-1.12.0/src/mistralai/models/realtimetranscriptionerrordetail.py +29 -0
- mistralai-1.12.0/src/mistralai/models/realtimetranscriptionsession.py +20 -0
- mistralai-1.12.0/src/mistralai/models/realtimetranscriptionsessioncreated.py +30 -0
- mistralai-1.12.0/src/mistralai/models/realtimetranscriptionsessionupdated.py +30 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/timestampgranularity.py +4 -1
- mistralai-1.12.0/src/mistralai/models/transcriptionsegmentchunk.py +80 -0
- mistralai-1.12.0/src/mistralai/models/transcriptionstreamsegmentdelta.py +77 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/transcriptions.py +24 -0
- mistralai-1.11.1/src/mistralai/extra/__init__.py +0 -13
- mistralai-1.11.1/src/mistralai/extra/exceptions.py +0 -14
- mistralai-1.11.1/src/mistralai/models/mistralpromptmode.py +0 -8
- mistralai-1.11.1/src/mistralai/models/transcriptionsegmentchunk.py +0 -41
- mistralai-1.11.1/src/mistralai/models/transcriptionstreamsegmentdelta.py +0 -41
- {mistralai-1.11.1 → mistralai-1.12.0}/.gitignore +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/LICENSE +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/__init__.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/_hooks/__init__.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/_hooks/custom_user_agent.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/_hooks/registration.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/_hooks/sdkhooks.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/_hooks/types.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/_version.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/basesdk.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/chat.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/httpclient.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/__init__.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/assistantmessage.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/chatcompletionchoice.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/chatcompletionrequest.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/chatcompletionresponse.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/chatcompletionstreamrequest.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/completionchunk.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/completionevent.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/completionresponsestreamchoice.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/contentchunk.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/deltamessage.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/documenturlchunk.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/filechunk.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/function.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/functioncall.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/functionname.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/httpvalidationerror.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/imageurl.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/imageurlchunk.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/jsonschema.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/mistralazureerror.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/mistralpromptmode.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/no_response_error.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/ocrimageobject.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/ocrpagedimensions.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/ocrpageobject.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/ocrrequest.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/ocrresponse.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/ocrtableobject.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/ocrusageinfo.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/prediction.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/referencechunk.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/responseformat.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/responseformats.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/responsevalidationerror.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/sdkerror.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/security.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/systemmessage.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/systemmessagecontentchunks.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/textchunk.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/thinkchunk.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/tool.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/toolcall.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/toolchoice.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/toolchoiceenum.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/toolmessage.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/tooltypes.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/usageinfo.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/usermessage.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/models/validationerror.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/ocr.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/py.typed +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/sdk.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/sdkconfiguration.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/types/__init__.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/types/basemodel.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/utils/__init__.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/utils/annotations.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/utils/datetimes.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/utils/enums.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/utils/eventstreaming.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/utils/forms.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/utils/headers.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/utils/logger.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/utils/metadata.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/utils/queryparams.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/utils/requestbodies.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/utils/retries.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/utils/security.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/utils/serializers.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/utils/unmarshal_json_response.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/utils/url.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_azure/src/mistralai_azure/utils/values.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/__init__.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/_hooks/__init__.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/_hooks/custom_user_agent.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/_hooks/registration.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/_hooks/sdkhooks.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/_hooks/types.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/_version.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/basesdk.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/chat.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/fim.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/httpclient.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/__init__.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/assistantmessage.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/chatcompletionchoice.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/chatcompletionrequest.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/chatcompletionresponse.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/chatcompletionstreamrequest.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/completionchunk.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/completionevent.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/completionresponsestreamchoice.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/contentchunk.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/deltamessage.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/fimcompletionrequest.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/fimcompletionresponse.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/fimcompletionstreamrequest.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/function.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/functioncall.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/functionname.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/httpvalidationerror.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/imageurl.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/imageurlchunk.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/jsonschema.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/mistralgcperror.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/mistralpromptmode.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/no_response_error.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/prediction.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/referencechunk.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/responseformat.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/responseformats.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/responsevalidationerror.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/sdkerror.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/security.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/systemmessage.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/systemmessagecontentchunks.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/textchunk.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/thinkchunk.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/tool.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/toolcall.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/toolchoice.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/toolchoiceenum.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/toolmessage.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/tooltypes.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/usageinfo.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/usermessage.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/models/validationerror.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/py.typed +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/sdk.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/sdkconfiguration.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/types/__init__.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/types/basemodel.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/utils/__init__.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/utils/annotations.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/utils/datetimes.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/utils/enums.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/utils/eventstreaming.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/utils/forms.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/utils/headers.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/utils/logger.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/utils/metadata.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/utils/queryparams.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/utils/requestbodies.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/utils/retries.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/utils/security.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/utils/serializers.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/utils/unmarshal_json_response.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/utils/url.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/packages/mistralai_gcp/src/mistralai_gcp/utils/values.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/py.typed +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/__init__.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/_hooks/__init__.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/_hooks/custom_user_agent.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/_hooks/deprecation_warning.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/_hooks/registration.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/_hooks/sdkhooks.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/_hooks/tracing.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/_hooks/types.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/accesses.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/agents.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/async_client.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/basesdk.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/batch.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/beta.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/chat.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/classifiers.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/client.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/documents.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/embeddings.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/extra/README.md +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/extra/mcp/__init__.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/extra/mcp/auth.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/extra/mcp/base.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/extra/mcp/sse.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/extra/mcp/stdio.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/extra/observability/__init__.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/extra/observability/otel.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/extra/run/__init__.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/extra/run/context.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/extra/run/result.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/extra/run/tools.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/extra/run/utils.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/extra/struct_chat.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/extra/tests/__init__.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/extra/tests/test_struct_chat.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/extra/tests/test_utils.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/extra/utils/__init__.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/extra/utils/_pydantic_helper.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/extra/utils/response_format.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/fim.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/fine_tuning.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/httpclient.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/jobs.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/libraries.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/mistral_jobs.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/agent.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/agentcreationrequest.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/agenthandoffdoneevent.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/agenthandoffentry.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/agenthandoffstartedevent.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/agents_api_v1_agents_deleteop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/agents_api_v1_agents_list_versionsop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/agents_api_v1_agents_listop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/agents_api_v1_agents_update_versionop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/agents_api_v1_agents_updateop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/agents_api_v1_conversations_append_streamop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/agents_api_v1_conversations_appendop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/agents_api_v1_conversations_deleteop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/agents_api_v1_conversations_getop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/agents_api_v1_conversations_historyop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/agents_api_v1_conversations_listop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/agents_api_v1_conversations_messagesop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/agents_api_v1_conversations_restart_streamop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/agents_api_v1_conversations_restartop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/agentscompletionrequest.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/agentscompletionstreamrequest.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/agentupdaterequest.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/apiendpoint.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/archiveftmodelout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/assistantmessage.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/audiochunk.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/audioencoding.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/audioformat.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/basemodelcard.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/batcherror.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/batchjobin.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/batchjobout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/batchjobsout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/batchjobstatus.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/batchrequest.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/builtinconnectors.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/chatclassificationrequest.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/chatcompletionchoice.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/chatcompletionrequest.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/chatcompletionresponse.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/chatcompletionstreamrequest.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/chatmoderationrequest.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/checkpointout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/classificationrequest.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/classificationresponse.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/classificationtargetresult.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/classifierdetailedjobout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/classifierftmodelout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/classifierjobout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/classifiertargetin.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/classifiertargetout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/classifiertrainingparameters.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/classifiertrainingparametersin.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/codeinterpretertool.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/completionargs.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/completionargsstop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/completionchunk.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/completiondetailedjobout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/completionevent.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/completionftmodelout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/completionjobout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/completionresponsestreamchoice.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/completiontrainingparameters.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/completiontrainingparametersin.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/contentchunk.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/conversationappendrequest.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/conversationappendstreamrequest.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/conversationevents.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/conversationhistory.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/conversationinputs.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/conversationmessages.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/conversationresponse.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/conversationusageinfo.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/delete_model_v1_models_model_id_deleteop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/deletefileout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/deletemodelout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/deltamessage.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/documentlibrarytool.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/documentout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/documenttextcontent.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/documentupdatein.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/documenturlchunk.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/embeddingdtype.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/embeddingrequest.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/embeddingresponse.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/embeddingresponsedata.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/encodingformat.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/entitytype.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/eventout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/file.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/filechunk.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/filepurpose.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/files_api_routes_delete_fileop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/files_api_routes_download_fileop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/files_api_routes_get_signed_urlop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/files_api_routes_retrieve_fileop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/files_api_routes_upload_fileop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/fileschema.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/filesignedurl.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/fimcompletionrequest.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/fimcompletionresponse.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/fimcompletionstreamrequest.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/finetuneablemodeltype.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/ftclassifierlossfunction.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/ftmodelcapabilitiesout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/ftmodelcard.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/function.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/functioncall.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/functioncallentry.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/functioncallentryarguments.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/functioncallevent.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/functionname.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/functionresultentry.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/functiontool.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/githubrepositoryin.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/githubrepositoryout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/httpvalidationerror.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/imagegenerationtool.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/imageurl.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/imageurlchunk.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/inputentries.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/inputs.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/instructrequest.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/jobin.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/jobmetadataout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/jobs_api_routes_batch_cancel_batch_jobop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/jobs_api_routes_batch_get_batch_jobop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/jobs_api_routes_batch_get_batch_jobsop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/jobs_api_routes_fine_tuning_archive_fine_tuned_modelop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/jobs_api_routes_fine_tuning_cancel_fine_tuning_jobop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/jobs_api_routes_fine_tuning_create_fine_tuning_jobop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/jobs_api_routes_fine_tuning_get_fine_tuning_jobop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/jobs_api_routes_fine_tuning_get_fine_tuning_jobsop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/jobs_api_routes_fine_tuning_start_fine_tuning_jobop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/jobs_api_routes_fine_tuning_unarchive_fine_tuned_modelop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/jobs_api_routes_fine_tuning_update_fine_tuned_modelop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/jobsout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/jsonschema.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/legacyjobmetadataout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/libraries_delete_v1op.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/libraries_documents_delete_v1op.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/libraries_documents_get_extracted_text_signed_url_v1op.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/libraries_documents_get_signed_url_v1op.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/libraries_documents_get_status_v1op.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/libraries_documents_get_text_content_v1op.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/libraries_documents_get_v1op.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/libraries_documents_list_v1op.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/libraries_documents_reprocess_v1op.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/libraries_documents_update_v1op.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/libraries_documents_upload_v1op.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/libraries_get_v1op.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/libraries_share_create_v1op.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/libraries_share_delete_v1op.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/libraries_share_list_v1op.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/libraries_update_v1op.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/libraryin.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/libraryinupdate.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/libraryout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/listdocumentout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/listfilesout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/listlibraryout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/listsharingout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/messageentries.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/messageinputcontentchunks.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/messageinputentry.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/messageoutputcontentchunks.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/messageoutputentry.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/messageoutputevent.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/metricout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/mistralerror.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/modelconversation.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/modellist.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/moderationobject.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/moderationresponse.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/no_response_error.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/ocrimageobject.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/ocrpagedimensions.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/ocrpageobject.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/ocrrequest.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/ocrresponse.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/ocrtableobject.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/ocrusageinfo.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/outputcontentchunks.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/paginationinfo.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/prediction.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/processingstatusout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/referencechunk.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/requestsource.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/responsedoneevent.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/responseerrorevent.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/responseformat.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/responseformats.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/responsestartedevent.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/responsevalidationerror.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/retrieve_model_v1_models_model_id_getop.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/retrievefileout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/sampletype.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/sdkerror.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/security.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/shareenum.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/sharingdelete.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/sharingin.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/sharingout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/source.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/ssetypes.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/systemmessage.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/systemmessagecontentchunks.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/textchunk.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/thinkchunk.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/tool.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/toolcall.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/toolchoice.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/toolchoiceenum.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/toolexecutiondeltaevent.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/toolexecutiondoneevent.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/toolexecutionentry.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/toolexecutionstartedevent.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/toolfilechunk.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/toolmessage.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/toolreferencechunk.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/tooltypes.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/trainingfile.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/transcriptionresponse.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/transcriptionstreamdone.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/transcriptionstreamevents.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/transcriptionstreameventtypes.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/transcriptionstreamlanguage.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/transcriptionstreamtextdelta.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/unarchiveftmodelout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/updateftmodelin.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/uploadfileout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/usageinfo.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/usermessage.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/validationerror.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/wandbintegration.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/wandbintegrationout.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/websearchpremiumtool.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models/websearchtool.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/models_.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/ocr.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/py.typed +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/sdk.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/sdkconfiguration.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/types/__init__.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/types/basemodel.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/utils/__init__.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/utils/annotations.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/utils/datetimes.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/utils/enums.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/utils/eventstreaming.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/utils/forms.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/utils/headers.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/utils/logger.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/utils/metadata.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/utils/queryparams.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/utils/requestbodies.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/utils/retries.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/utils/security.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/utils/serializers.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/utils/unmarshal_json_response.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/utils/url.py +0 -0
- {mistralai-1.11.1 → mistralai-1.12.0}/src/mistralai/utils/values.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mistralai
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.12.0
|
|
4
4
|
Summary: Python Client SDK for the Mistral AI API.
|
|
5
5
|
Project-URL: Repository, https://github.com/mistralai/client-python.git
|
|
6
6
|
Author: Mistral
|
|
@@ -24,6 +24,8 @@ Requires-Dist: mcp<2.0,>=1.0; extra == 'agents'
|
|
|
24
24
|
Provides-Extra: gcp
|
|
25
25
|
Requires-Dist: google-auth>=2.27.0; extra == 'gcp'
|
|
26
26
|
Requires-Dist: requests>=2.32.3; extra == 'gcp'
|
|
27
|
+
Provides-Extra: realtime
|
|
28
|
+
Requires-Dist: websockets>=13.0; extra == 'realtime'
|
|
27
29
|
Description-Content-Type: text/markdown
|
|
28
30
|
|
|
29
31
|
# Mistral Python Client
|
|
@@ -503,6 +505,8 @@ The documentation for the GCP SDK is available [here](packages/mistralai_gcp/REA
|
|
|
503
505
|
* [update_version](docs/sdks/mistralagents/README.md#update_version) - Update an agent version.
|
|
504
506
|
* [list_versions](docs/sdks/mistralagents/README.md#list_versions) - List all versions of an agent.
|
|
505
507
|
* [get_version](docs/sdks/mistralagents/README.md#get_version) - Retrieve a specific version of an agent.
|
|
508
|
+
* [create_version_alias](docs/sdks/mistralagents/README.md#create_version_alias) - Create or update an agent version alias.
|
|
509
|
+
* [list_version_aliases](docs/sdks/mistralagents/README.md#list_version_aliases) - List all aliases for an agent.
|
|
506
510
|
|
|
507
511
|
### [Beta.Conversations](docs/sdks/conversations/README.md)
|
|
508
512
|
|
|
@@ -780,7 +784,7 @@ with Mistral(
|
|
|
780
784
|
|
|
781
785
|
|
|
782
786
|
**Inherit from [`MistralError`](./src/mistralai/models/mistralerror.py)**:
|
|
783
|
-
* [`HTTPValidationError`](./src/mistralai/models/httpvalidationerror.py): Validation Error. Status code `422`. Applicable to
|
|
787
|
+
* [`HTTPValidationError`](./src/mistralai/models/httpvalidationerror.py): Validation Error. Status code `422`. Applicable to 52 of 74 methods.*
|
|
784
788
|
* [`ResponseValidationError`](./src/mistralai/models/responsevalidationerror.py): Type mismatch between the response data and the expected Pydantic model. Provides access to the Pydantic validation error via the `cause` attribute.
|
|
785
789
|
|
|
786
790
|
</details>
|
|
@@ -475,6 +475,8 @@ The documentation for the GCP SDK is available [here](packages/mistralai_gcp/REA
|
|
|
475
475
|
* [update_version](docs/sdks/mistralagents/README.md#update_version) - Update an agent version.
|
|
476
476
|
* [list_versions](docs/sdks/mistralagents/README.md#list_versions) - List all versions of an agent.
|
|
477
477
|
* [get_version](docs/sdks/mistralagents/README.md#get_version) - Retrieve a specific version of an agent.
|
|
478
|
+
* [create_version_alias](docs/sdks/mistralagents/README.md#create_version_alias) - Create or update an agent version alias.
|
|
479
|
+
* [list_version_aliases](docs/sdks/mistralagents/README.md#list_version_aliases) - List all aliases for an agent.
|
|
478
480
|
|
|
479
481
|
### [Beta.Conversations](docs/sdks/conversations/README.md)
|
|
480
482
|
|
|
@@ -752,7 +754,7 @@ with Mistral(
|
|
|
752
754
|
|
|
753
755
|
|
|
754
756
|
**Inherit from [`MistralError`](./src/mistralai/models/mistralerror.py)**:
|
|
755
|
-
* [`HTTPValidationError`](./src/mistralai/models/httpvalidationerror.py): Validation Error. Status code `422`. Applicable to
|
|
757
|
+
* [`HTTPValidationError`](./src/mistralai/models/httpvalidationerror.py): Validation Error. Status code `422`. Applicable to 52 of 74 methods.*
|
|
756
758
|
* [`ResponseValidationError`](./src/mistralai/models/responsevalidationerror.py): Type mismatch between the response data and the expected Pydantic model. Provides access to the Pydantic validation error via the `cause` attribute.
|
|
757
759
|
|
|
758
760
|
</details>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "mistralai"
|
|
3
|
-
version = "1.
|
|
3
|
+
version = "1.12.0"
|
|
4
4
|
description = "Python Client SDK for the Mistral AI API."
|
|
5
5
|
authors = [{ name = "Mistral" }]
|
|
6
6
|
requires-python = ">=3.10"
|
|
@@ -29,6 +29,9 @@ agents = [
|
|
|
29
29
|
"griffe >=1.7.3,<2.0",
|
|
30
30
|
"authlib >=1.5.2,<2.0",
|
|
31
31
|
]
|
|
32
|
+
realtime = [
|
|
33
|
+
"websockets >=13.0",
|
|
34
|
+
]
|
|
32
35
|
|
|
33
36
|
[project.urls]
|
|
34
37
|
Repository = "https://github.com/mistralai/client-python.git"
|
|
@@ -45,6 +48,7 @@ dev = [
|
|
|
45
48
|
"mcp>=1.0,<2",
|
|
46
49
|
"griffe>=1.7.3,<2",
|
|
47
50
|
"authlib>=1.5.2,<2",
|
|
51
|
+
"websockets >=13.0",
|
|
48
52
|
]
|
|
49
53
|
lint = [
|
|
50
54
|
"ruff>=0.11.10,<0.12",
|
|
@@ -103,6 +107,7 @@ module = [
|
|
|
103
107
|
"jsonpath.*",
|
|
104
108
|
"typing_inspect.*",
|
|
105
109
|
"authlib.*",
|
|
110
|
+
"websockets.*",
|
|
106
111
|
"mcp.*",
|
|
107
112
|
"griffe.*"
|
|
108
113
|
]
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
import importlib.metadata
|
|
4
4
|
|
|
5
5
|
__title__: str = "mistralai"
|
|
6
|
-
__version__: str = "1.
|
|
6
|
+
__version__: str = "1.12.0"
|
|
7
7
|
__openapi_doc_version__: str = "1.0.0"
|
|
8
8
|
__gen_version__: str = "2.794.1"
|
|
9
|
-
__user_agent__: str = "speakeasy-sdk/python 1.
|
|
9
|
+
__user_agent__: str = "speakeasy-sdk/python 1.12.0 2.794.1 1.0.0 mistralai"
|
|
10
10
|
|
|
11
11
|
try:
|
|
12
12
|
if __package__ is not None:
|
|
@@ -5,6 +5,13 @@ from .sdkconfiguration import SDKConfiguration
|
|
|
5
5
|
from mistralai.transcriptions import Transcriptions
|
|
6
6
|
from typing import Optional
|
|
7
7
|
|
|
8
|
+
# region imports
|
|
9
|
+
from typing import TYPE_CHECKING
|
|
10
|
+
|
|
11
|
+
if TYPE_CHECKING:
|
|
12
|
+
from mistralai.extra.realtime import RealtimeTranscription
|
|
13
|
+
# endregion imports
|
|
14
|
+
|
|
8
15
|
|
|
9
16
|
class Audio(BaseSDK):
|
|
10
17
|
transcriptions: Transcriptions
|
|
@@ -21,3 +28,16 @@ class Audio(BaseSDK):
|
|
|
21
28
|
self.transcriptions = Transcriptions(
|
|
22
29
|
self.sdk_configuration, parent_ref=self.parent_ref
|
|
23
30
|
)
|
|
31
|
+
|
|
32
|
+
# region sdk-class-body
|
|
33
|
+
@property
|
|
34
|
+
def realtime(self) -> "RealtimeTranscription":
|
|
35
|
+
"""Returns a client for real-time audio transcription via WebSocket."""
|
|
36
|
+
if not hasattr(self, "_realtime"):
|
|
37
|
+
from mistralai.extra.realtime import RealtimeTranscription # pylint: disable=import-outside-toplevel
|
|
38
|
+
|
|
39
|
+
self._realtime = RealtimeTranscription(self.sdk_configuration) # pylint: disable=attribute-defined-outside-init
|
|
40
|
+
|
|
41
|
+
return self._realtime
|
|
42
|
+
|
|
43
|
+
# endregion sdk-class-body
|
|
@@ -259,7 +259,12 @@ class Conversations(BaseSDK):
|
|
|
259
259
|
description: OptionalNullable[str] = UNSET,
|
|
260
260
|
metadata: OptionalNullable[Dict[str, Any]] = UNSET,
|
|
261
261
|
agent_id: OptionalNullable[str] = UNSET,
|
|
262
|
-
agent_version: OptionalNullable[
|
|
262
|
+
agent_version: OptionalNullable[
|
|
263
|
+
Union[
|
|
264
|
+
models_conversationrequest.AgentVersion,
|
|
265
|
+
models_conversationrequest.AgentVersionTypedDict,
|
|
266
|
+
]
|
|
267
|
+
] = UNSET,
|
|
263
268
|
model: OptionalNullable[str] = UNSET,
|
|
264
269
|
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
265
270
|
server_url: Optional[str] = None,
|
|
@@ -405,7 +410,12 @@ class Conversations(BaseSDK):
|
|
|
405
410
|
description: OptionalNullable[str] = UNSET,
|
|
406
411
|
metadata: OptionalNullable[Dict[str, Any]] = UNSET,
|
|
407
412
|
agent_id: OptionalNullable[str] = UNSET,
|
|
408
|
-
agent_version: OptionalNullable[
|
|
413
|
+
agent_version: OptionalNullable[
|
|
414
|
+
Union[
|
|
415
|
+
models_conversationrequest.AgentVersion,
|
|
416
|
+
models_conversationrequest.AgentVersionTypedDict,
|
|
417
|
+
]
|
|
418
|
+
] = UNSET,
|
|
409
419
|
model: OptionalNullable[str] = UNSET,
|
|
410
420
|
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
411
421
|
server_url: Optional[str] = None,
|
|
@@ -1711,7 +1721,12 @@ class Conversations(BaseSDK):
|
|
|
1711
1721
|
]
|
|
1712
1722
|
] = None,
|
|
1713
1723
|
metadata: OptionalNullable[Dict[str, Any]] = UNSET,
|
|
1714
|
-
agent_version: OptionalNullable[
|
|
1724
|
+
agent_version: OptionalNullable[
|
|
1725
|
+
Union[
|
|
1726
|
+
models_conversationrestartrequest.ConversationRestartRequestAgentVersion,
|
|
1727
|
+
models_conversationrestartrequest.ConversationRestartRequestAgentVersionTypedDict,
|
|
1728
|
+
]
|
|
1729
|
+
] = UNSET,
|
|
1715
1730
|
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
1716
1731
|
server_url: Optional[str] = None,
|
|
1717
1732
|
timeout_ms: Optional[int] = None,
|
|
@@ -1846,7 +1861,12 @@ class Conversations(BaseSDK):
|
|
|
1846
1861
|
]
|
|
1847
1862
|
] = None,
|
|
1848
1863
|
metadata: OptionalNullable[Dict[str, Any]] = UNSET,
|
|
1849
|
-
agent_version: OptionalNullable[
|
|
1864
|
+
agent_version: OptionalNullable[
|
|
1865
|
+
Union[
|
|
1866
|
+
models_conversationrestartrequest.ConversationRestartRequestAgentVersion,
|
|
1867
|
+
models_conversationrestartrequest.ConversationRestartRequestAgentVersionTypedDict,
|
|
1868
|
+
]
|
|
1869
|
+
] = UNSET,
|
|
1850
1870
|
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
1851
1871
|
server_url: Optional[str] = None,
|
|
1852
1872
|
timeout_ms: Optional[int] = None,
|
|
@@ -1991,7 +2011,12 @@ class Conversations(BaseSDK):
|
|
|
1991
2011
|
description: OptionalNullable[str] = UNSET,
|
|
1992
2012
|
metadata: OptionalNullable[Dict[str, Any]] = UNSET,
|
|
1993
2013
|
agent_id: OptionalNullable[str] = UNSET,
|
|
1994
|
-
agent_version: OptionalNullable[
|
|
2014
|
+
agent_version: OptionalNullable[
|
|
2015
|
+
Union[
|
|
2016
|
+
models_conversationstreamrequest.ConversationStreamRequestAgentVersion,
|
|
2017
|
+
models_conversationstreamrequest.ConversationStreamRequestAgentVersionTypedDict,
|
|
2018
|
+
]
|
|
2019
|
+
] = UNSET,
|
|
1995
2020
|
model: OptionalNullable[str] = UNSET,
|
|
1996
2021
|
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
1997
2022
|
server_url: Optional[str] = None,
|
|
@@ -2148,7 +2173,12 @@ class Conversations(BaseSDK):
|
|
|
2148
2173
|
description: OptionalNullable[str] = UNSET,
|
|
2149
2174
|
metadata: OptionalNullable[Dict[str, Any]] = UNSET,
|
|
2150
2175
|
agent_id: OptionalNullable[str] = UNSET,
|
|
2151
|
-
agent_version: OptionalNullable[
|
|
2176
|
+
agent_version: OptionalNullable[
|
|
2177
|
+
Union[
|
|
2178
|
+
models_conversationstreamrequest.ConversationStreamRequestAgentVersion,
|
|
2179
|
+
models_conversationstreamrequest.ConversationStreamRequestAgentVersionTypedDict,
|
|
2180
|
+
]
|
|
2181
|
+
] = UNSET,
|
|
2152
2182
|
model: OptionalNullable[str] = UNSET,
|
|
2153
2183
|
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
2154
2184
|
server_url: Optional[str] = None,
|
|
@@ -2561,7 +2591,12 @@ class Conversations(BaseSDK):
|
|
|
2561
2591
|
]
|
|
2562
2592
|
] = None,
|
|
2563
2593
|
metadata: OptionalNullable[Dict[str, Any]] = UNSET,
|
|
2564
|
-
agent_version: OptionalNullable[
|
|
2594
|
+
agent_version: OptionalNullable[
|
|
2595
|
+
Union[
|
|
2596
|
+
models_conversationrestartstreamrequest.ConversationRestartStreamRequestAgentVersion,
|
|
2597
|
+
models_conversationrestartstreamrequest.ConversationRestartStreamRequestAgentVersionTypedDict,
|
|
2598
|
+
]
|
|
2599
|
+
] = UNSET,
|
|
2565
2600
|
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
2566
2601
|
server_url: Optional[str] = None,
|
|
2567
2602
|
timeout_ms: Optional[int] = None,
|
|
@@ -2703,7 +2738,12 @@ class Conversations(BaseSDK):
|
|
|
2703
2738
|
]
|
|
2704
2739
|
] = None,
|
|
2705
2740
|
metadata: OptionalNullable[Dict[str, Any]] = UNSET,
|
|
2706
|
-
agent_version: OptionalNullable[
|
|
2741
|
+
agent_version: OptionalNullable[
|
|
2742
|
+
Union[
|
|
2743
|
+
models_conversationrestartstreamrequest.ConversationRestartStreamRequestAgentVersion,
|
|
2744
|
+
models_conversationrestartstreamrequest.ConversationRestartStreamRequestAgentVersionTypedDict,
|
|
2745
|
+
]
|
|
2746
|
+
] = UNSET,
|
|
2707
2747
|
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
2708
2748
|
server_url: Optional[str] = None,
|
|
2709
2749
|
timeout_ms: Optional[int] = None,
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
from typing import TYPE_CHECKING
|
|
2
|
+
|
|
3
|
+
from .struct_chat import (
|
|
4
|
+
ParsedChatCompletionResponse,
|
|
5
|
+
convert_to_parsed_chat_completion_response,
|
|
6
|
+
)
|
|
7
|
+
from .utils import response_format_from_pydantic_model
|
|
8
|
+
from .utils.response_format import CustomPydanticModel
|
|
9
|
+
|
|
10
|
+
if TYPE_CHECKING:
|
|
11
|
+
from .realtime import (
|
|
12
|
+
AudioEncoding,
|
|
13
|
+
AudioFormat,
|
|
14
|
+
RealtimeConnection,
|
|
15
|
+
RealtimeTranscriptionError,
|
|
16
|
+
RealtimeTranscriptionErrorDetail,
|
|
17
|
+
RealtimeTranscriptionSession,
|
|
18
|
+
RealtimeTranscriptionSessionCreated,
|
|
19
|
+
RealtimeTranscriptionSessionUpdated,
|
|
20
|
+
RealtimeTranscription,
|
|
21
|
+
UnknownRealtimeEvent,
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
_REALTIME_EXPORTS = {
|
|
25
|
+
"RealtimeTranscription",
|
|
26
|
+
"RealtimeConnection",
|
|
27
|
+
"AudioEncoding",
|
|
28
|
+
"AudioFormat",
|
|
29
|
+
"UnknownRealtimeEvent",
|
|
30
|
+
"RealtimeTranscriptionError",
|
|
31
|
+
"RealtimeTranscriptionErrorDetail",
|
|
32
|
+
"RealtimeTranscriptionSession",
|
|
33
|
+
"RealtimeTranscriptionSessionCreated",
|
|
34
|
+
"RealtimeTranscriptionSessionUpdated",
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def __getattr__(name: str):
|
|
39
|
+
if name in _REALTIME_EXPORTS:
|
|
40
|
+
from . import realtime
|
|
41
|
+
|
|
42
|
+
return getattr(realtime, name)
|
|
43
|
+
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
__all__ = [
|
|
47
|
+
"convert_to_parsed_chat_completion_response",
|
|
48
|
+
"response_format_from_pydantic_model",
|
|
49
|
+
"CustomPydanticModel",
|
|
50
|
+
"ParsedChatCompletionResponse",
|
|
51
|
+
"RealtimeTranscription",
|
|
52
|
+
"RealtimeConnection",
|
|
53
|
+
"AudioEncoding",
|
|
54
|
+
"AudioFormat",
|
|
55
|
+
"UnknownRealtimeEvent",
|
|
56
|
+
"RealtimeTranscriptionError",
|
|
57
|
+
"RealtimeTranscriptionErrorDetail",
|
|
58
|
+
"RealtimeTranscriptionSession",
|
|
59
|
+
"RealtimeTranscriptionSessionCreated",
|
|
60
|
+
"RealtimeTranscriptionSessionUpdated",
|
|
61
|
+
]
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
from typing import Optional, TYPE_CHECKING
|
|
2
|
+
|
|
3
|
+
if TYPE_CHECKING:
|
|
4
|
+
from mistralai.models import RealtimeTranscriptionError
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class MistralClientException(Exception):
|
|
8
|
+
"""Base exception for client errors."""
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class RunException(MistralClientException):
|
|
12
|
+
"""Conversation run errors."""
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class MCPException(MistralClientException):
|
|
16
|
+
"""MCP operation errors."""
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class MCPAuthException(MCPException):
|
|
20
|
+
"""MCP authentication errors."""
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class RealtimeTranscriptionException(MistralClientException):
|
|
24
|
+
"""Base realtime transcription exception."""
|
|
25
|
+
|
|
26
|
+
def __init__(
|
|
27
|
+
self,
|
|
28
|
+
message: str,
|
|
29
|
+
*,
|
|
30
|
+
code: Optional[int] = None,
|
|
31
|
+
payload: Optional[object] = None,
|
|
32
|
+
) -> None:
|
|
33
|
+
super().__init__(message)
|
|
34
|
+
self.code = code
|
|
35
|
+
self.payload = payload
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class RealtimeTranscriptionWSError(RealtimeTranscriptionException):
|
|
39
|
+
def __init__(
|
|
40
|
+
self,
|
|
41
|
+
message: str,
|
|
42
|
+
*,
|
|
43
|
+
payload: Optional["RealtimeTranscriptionError"] = None,
|
|
44
|
+
raw: Optional[object] = None,
|
|
45
|
+
) -> None:
|
|
46
|
+
code: Optional[int] = None
|
|
47
|
+
if payload is not None:
|
|
48
|
+
try:
|
|
49
|
+
maybe_code = getattr(payload.error, "code", None)
|
|
50
|
+
if isinstance(maybe_code, int):
|
|
51
|
+
code = maybe_code
|
|
52
|
+
except Exception:
|
|
53
|
+
code = None
|
|
54
|
+
|
|
55
|
+
super().__init__(
|
|
56
|
+
message, code=code, payload=payload if payload is not None else raw
|
|
57
|
+
)
|
|
58
|
+
self.payload_typed = payload
|
|
59
|
+
self.payload_raw = raw
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
from mistralai.models import (
|
|
2
|
+
AudioEncoding,
|
|
3
|
+
AudioFormat,
|
|
4
|
+
RealtimeTranscriptionError,
|
|
5
|
+
RealtimeTranscriptionErrorDetail,
|
|
6
|
+
RealtimeTranscriptionSession,
|
|
7
|
+
RealtimeTranscriptionSessionCreated,
|
|
8
|
+
RealtimeTranscriptionSessionUpdated,
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
from .connection import UnknownRealtimeEvent, RealtimeConnection
|
|
12
|
+
from .transcription import RealtimeTranscription
|
|
13
|
+
|
|
14
|
+
__all__ = [
|
|
15
|
+
"AudioEncoding",
|
|
16
|
+
"AudioFormat",
|
|
17
|
+
"RealtimeTranscriptionError",
|
|
18
|
+
"RealtimeTranscriptionErrorDetail",
|
|
19
|
+
"RealtimeTranscriptionSession",
|
|
20
|
+
"RealtimeTranscriptionSessionCreated",
|
|
21
|
+
"RealtimeTranscriptionSessionUpdated",
|
|
22
|
+
"RealtimeConnection",
|
|
23
|
+
"RealtimeTranscription",
|
|
24
|
+
"UnknownRealtimeEvent",
|
|
25
|
+
]
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import base64
|
|
4
|
+
import json
|
|
5
|
+
from asyncio import CancelledError
|
|
6
|
+
from collections import deque
|
|
7
|
+
from typing import Any, AsyncIterator, Deque, Optional, Union
|
|
8
|
+
|
|
9
|
+
from pydantic import ValidationError, BaseModel
|
|
10
|
+
|
|
11
|
+
try:
|
|
12
|
+
from websockets.asyncio.client import ClientConnection # websockets >= 13.0
|
|
13
|
+
except ImportError as exc:
|
|
14
|
+
raise ImportError(
|
|
15
|
+
"The `websockets` package (>=13.0) is required for real-time transcription. "
|
|
16
|
+
"Install with: pip install 'mistralai[realtime]'"
|
|
17
|
+
) from exc
|
|
18
|
+
|
|
19
|
+
from mistralai.models import (
|
|
20
|
+
AudioFormat,
|
|
21
|
+
RealtimeTranscriptionError,
|
|
22
|
+
RealtimeTranscriptionSession,
|
|
23
|
+
RealtimeTranscriptionSessionCreated,
|
|
24
|
+
RealtimeTranscriptionSessionUpdated,
|
|
25
|
+
TranscriptionStreamDone,
|
|
26
|
+
TranscriptionStreamLanguage,
|
|
27
|
+
TranscriptionStreamSegmentDelta,
|
|
28
|
+
TranscriptionStreamTextDelta,
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class UnknownRealtimeEvent(BaseModel):
|
|
33
|
+
"""
|
|
34
|
+
Forward-compat fallback event:
|
|
35
|
+
- unknown message type
|
|
36
|
+
- invalid JSON payload
|
|
37
|
+
- schema validation failure
|
|
38
|
+
"""
|
|
39
|
+
type: Optional[str]
|
|
40
|
+
content: Any
|
|
41
|
+
error: Optional[str] = None
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
RealtimeEvent = Union[
|
|
45
|
+
# session lifecycle
|
|
46
|
+
RealtimeTranscriptionSessionCreated,
|
|
47
|
+
RealtimeTranscriptionSessionUpdated,
|
|
48
|
+
# server errors
|
|
49
|
+
RealtimeTranscriptionError,
|
|
50
|
+
# transcription events
|
|
51
|
+
TranscriptionStreamLanguage,
|
|
52
|
+
TranscriptionStreamSegmentDelta,
|
|
53
|
+
TranscriptionStreamTextDelta,
|
|
54
|
+
TranscriptionStreamDone,
|
|
55
|
+
# forward-compat fallback
|
|
56
|
+
UnknownRealtimeEvent,
|
|
57
|
+
]
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
_MESSAGE_MODELS: dict[str, Any] = {
|
|
61
|
+
"session.created": RealtimeTranscriptionSessionCreated,
|
|
62
|
+
"session.updated": RealtimeTranscriptionSessionUpdated,
|
|
63
|
+
"error": RealtimeTranscriptionError,
|
|
64
|
+
"transcription.language": TranscriptionStreamLanguage,
|
|
65
|
+
"transcription.segment": TranscriptionStreamSegmentDelta,
|
|
66
|
+
"transcription.text.delta": TranscriptionStreamTextDelta,
|
|
67
|
+
"transcription.done": TranscriptionStreamDone,
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
def parse_realtime_event(payload: Any) -> RealtimeEvent:
|
|
72
|
+
"""
|
|
73
|
+
Tolerant parser:
|
|
74
|
+
- unknown event type -> UnknownRealtimeEvent
|
|
75
|
+
- validation failures -> UnknownRealtimeEvent (includes error string)
|
|
76
|
+
- invalid payload -> UnknownRealtimeEvent
|
|
77
|
+
"""
|
|
78
|
+
if not isinstance(payload, dict):
|
|
79
|
+
return UnknownRealtimeEvent(
|
|
80
|
+
type=None, content=payload, error="expected JSON object"
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
msg_type = payload.get("type")
|
|
84
|
+
if not isinstance(msg_type, str):
|
|
85
|
+
return UnknownRealtimeEvent(
|
|
86
|
+
type=None, content=payload, error="missing/invalid 'type'"
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
model_cls = _MESSAGE_MODELS.get(msg_type)
|
|
90
|
+
if model_cls is None:
|
|
91
|
+
return UnknownRealtimeEvent(
|
|
92
|
+
type=msg_type, content=payload, error="unknown event type"
|
|
93
|
+
)
|
|
94
|
+
try:
|
|
95
|
+
parsed = model_cls.model_validate(payload)
|
|
96
|
+
return parsed
|
|
97
|
+
except ValidationError as exc:
|
|
98
|
+
return UnknownRealtimeEvent(type=msg_type, content=payload, error=str(exc))
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
class RealtimeConnection:
|
|
102
|
+
def __init__(
|
|
103
|
+
self,
|
|
104
|
+
websocket: ClientConnection,
|
|
105
|
+
session: RealtimeTranscriptionSession,
|
|
106
|
+
*,
|
|
107
|
+
initial_events: Optional[list[RealtimeEvent]] = None,
|
|
108
|
+
) -> None:
|
|
109
|
+
self._websocket = websocket
|
|
110
|
+
self._session = session
|
|
111
|
+
self._audio_format = session.audio_format
|
|
112
|
+
self._closed = False
|
|
113
|
+
self._initial_events: Deque[RealtimeEvent] = deque(initial_events or [])
|
|
114
|
+
|
|
115
|
+
@property
|
|
116
|
+
def request_id(self) -> str:
|
|
117
|
+
return self._session.request_id
|
|
118
|
+
|
|
119
|
+
@property
|
|
120
|
+
def session(self) -> RealtimeTranscriptionSession:
|
|
121
|
+
return self._session
|
|
122
|
+
|
|
123
|
+
@property
|
|
124
|
+
def audio_format(self) -> AudioFormat:
|
|
125
|
+
return self._audio_format
|
|
126
|
+
|
|
127
|
+
@property
|
|
128
|
+
def is_closed(self) -> bool:
|
|
129
|
+
return self._closed
|
|
130
|
+
|
|
131
|
+
async def send_audio(
|
|
132
|
+
self, audio_bytes: Union[bytes, bytearray, memoryview]
|
|
133
|
+
) -> None:
|
|
134
|
+
if self._closed:
|
|
135
|
+
raise RuntimeError("Connection is closed")
|
|
136
|
+
|
|
137
|
+
message = {
|
|
138
|
+
"type": "input_audio.append",
|
|
139
|
+
"audio": base64.b64encode(bytes(audio_bytes)).decode("ascii"),
|
|
140
|
+
}
|
|
141
|
+
await self._websocket.send(json.dumps(message))
|
|
142
|
+
|
|
143
|
+
async def update_session(self, audio_format: AudioFormat) -> None:
|
|
144
|
+
if self._closed:
|
|
145
|
+
raise RuntimeError("Connection is closed")
|
|
146
|
+
|
|
147
|
+
self._audio_format = audio_format
|
|
148
|
+
message = {
|
|
149
|
+
"type": "session.update",
|
|
150
|
+
"session": {"audio_format": audio_format.model_dump(mode="json")},
|
|
151
|
+
}
|
|
152
|
+
await self._websocket.send(json.dumps(message))
|
|
153
|
+
|
|
154
|
+
async def end_audio(self) -> None:
|
|
155
|
+
if self._closed:
|
|
156
|
+
return
|
|
157
|
+
await self._websocket.send(json.dumps({"type": "input_audio.end"}))
|
|
158
|
+
|
|
159
|
+
async def close(self, *, code: int = 1000, reason: str = "") -> None:
|
|
160
|
+
if self._closed:
|
|
161
|
+
return
|
|
162
|
+
self._closed = True
|
|
163
|
+
await self._websocket.close(code=code, reason=reason)
|
|
164
|
+
|
|
165
|
+
async def __aenter__(self) -> "RealtimeConnection":
|
|
166
|
+
return self
|
|
167
|
+
|
|
168
|
+
async def __aexit__(self, exc_type, exc, tb) -> None:
|
|
169
|
+
await self.close()
|
|
170
|
+
|
|
171
|
+
def __aiter__(self) -> AsyncIterator[RealtimeEvent]:
|
|
172
|
+
return self.events()
|
|
173
|
+
|
|
174
|
+
async def events(self) -> AsyncIterator[RealtimeEvent]:
|
|
175
|
+
# replay any handshake/prelude events (including session.created)
|
|
176
|
+
while self._initial_events:
|
|
177
|
+
ev = self._initial_events.popleft()
|
|
178
|
+
self._apply_session_updates(ev)
|
|
179
|
+
yield ev
|
|
180
|
+
|
|
181
|
+
try:
|
|
182
|
+
async for msg in self._websocket:
|
|
183
|
+
text = (
|
|
184
|
+
msg.decode("utf-8", errors="replace")
|
|
185
|
+
if isinstance(msg, (bytes, bytearray))
|
|
186
|
+
else msg
|
|
187
|
+
)
|
|
188
|
+
try:
|
|
189
|
+
data = json.loads(text)
|
|
190
|
+
except Exception as exc:
|
|
191
|
+
yield UnknownRealtimeEvent(
|
|
192
|
+
type=None, content=text, error=f"invalid JSON: {exc}"
|
|
193
|
+
)
|
|
194
|
+
continue
|
|
195
|
+
|
|
196
|
+
ev = parse_realtime_event(data)
|
|
197
|
+
self._apply_session_updates(ev)
|
|
198
|
+
yield ev
|
|
199
|
+
except CancelledError:
|
|
200
|
+
pass
|
|
201
|
+
finally:
|
|
202
|
+
await self.close()
|
|
203
|
+
|
|
204
|
+
def _apply_session_updates(self, ev: RealtimeEvent) -> None:
|
|
205
|
+
if isinstance(ev, RealtimeTranscriptionSessionCreated) or isinstance(ev, RealtimeTranscriptionSessionUpdated):
|
|
206
|
+
self._session = ev.session
|
|
207
|
+
self._audio_format = ev.session.audio_format
|