diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock
index 6e86c59c..9beb24ec 100644
--- a/.speakeasy/gen.lock
+++ b/.speakeasy/gen.lock
@@ -5,15 +5,15 @@ management:
docVersion: 1.0.0
speakeasyVersion: 1.685.0
generationVersion: 2.794.1
- releaseVersion: 2.0.0a3
- configChecksum: 7fc1ba01c21def8447b979e71593af4a
+ releaseVersion: 2.0.0a4
+ configChecksum: ba32c03a012ed288fd25d0468115c501
repoURL: https://github.com/mistralai/client-python.git
installationURL: https://github.com/mistralai/client-python.git
published: true
persistentEdits:
- generation_id: 3aa9018f-cb6c-4c1b-96d0-b832fd5f6513
- pristine_commit_hash: 5c4e3b65b7572c91338d50dc3ca91ea6a46eedf7
- pristine_tree_hash: aaea604044e12872107c3b550ea7be094fb66a99
+ generation_id: 9a42b13b-8fe7-416e-b97e-9a713b61df12
+ pristine_commit_hash: fe97508889702d0b0a1bb4615bc6ff682ded6104
+ pristine_tree_hash: 38fd75708b2c808e2a9d1e51b4129f9dd94676f1
features:
python:
additionalDependencies: 1.0.0
@@ -1686,8 +1686,8 @@ trackedFiles:
pristine_git_object: 036d44b8cfc51599873bd5c401a6aed30450536c
src/mistralai/client/_version.py:
id: cc807b30de19
- last_write_checksum: sha1:dd6d1521f7ecfc56be58eafc1709873a04d27fb0
- pristine_git_object: 814d9ec74a37ae50f106ea07b3c174e65685521b
+ last_write_checksum: sha1:67bfbc4ca7bff931843370465ed647cd885b8668
+ pristine_git_object: 78591b3e820d9368eeedac50bb5a11242bc8e9cc
src/mistralai/client/accesses.py:
id: 76fc53bfcf59
last_write_checksum: sha1:16574ca54176ec30b236ab1a4694f57a6314db43
diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml
index 23b915b5..35938ac1 100644
--- a/.speakeasy/gen.yaml
+++ b/.speakeasy/gen.yaml
@@ -29,7 +29,7 @@ generation:
generateNewTests: false
skipResponseBodyAssertions: false
python:
- version: 2.0.0a3
+ version: 2.0.0a4
additionalDependencies:
dev:
pytest: ^8.2.2
diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock
index a9e18489..4c7e03f7 100644
--- a/.speakeasy/workflow.lock
+++ b/.speakeasy/workflow.lock
@@ -25,21 +25,21 @@ targets:
sourceRevisionDigest: sha256:d303e640ad565cc8a9801519b20dc7eab226efdfdab951c11256962d9e479f74
sourceBlobDigest: sha256:6e4c789de61b2c9c604bf581e0abbadae90e360491d95ec4247678f4f70cee87
codeSamplesNamespace: mistral-openapi-azure-code-samples
- codeSamplesRevisionDigest: sha256:0109302b87fa17b0103ef1e372fae76356811b3c552103e659bd5373d537d759
+ codeSamplesRevisionDigest: sha256:8711f9530be8d85c07ddd45d57cb9f66471faa6c890b63c86bb26c602a552a3c
mistralai-gcp-sdk:
source: mistral-google-cloud-source
sourceNamespace: mistral-openapi-google-cloud
sourceRevisionDigest: sha256:351c4d392b8b2220c337a207e98ed5665ed27fd85de854871a70c4bc2b9c0784
sourceBlobDigest: sha256:d79b21f70efb93b0cd261d2044939a288beaf8707a7caae86aca5c4d5de3821b
codeSamplesNamespace: mistral-openapi-google-cloud-code-samples
- codeSamplesRevisionDigest: sha256:09bb7cbf291076170d228116db05d1c9606af541b301b6564609c4d76633258a
+ codeSamplesRevisionDigest: sha256:be70721be1bcbef628ebca0ae3b3321c869d7e5abca8beb5451ba0abb7f2f425
mistralai-sdk:
source: mistral-openapi
sourceNamespace: mistral-openapi
sourceRevisionDigest: sha256:74d0de7750f6a1878b68c9da683eba7a447d7c367131d0cb8f5c3b1e05829624
sourceBlobDigest: sha256:41e8354c48993fc29be68959d835ea4f8e0cc1d4b4fbd527afcd970bc02c62a2
codeSamplesNamespace: mistral-openapi-code-samples
- codeSamplesRevisionDigest: sha256:f37fb6188ad25957bef4cadaa03f454a4f9ab0c045db633a46d9cc89af145ba2
+ codeSamplesRevisionDigest: sha256:99fcae1bc81801e3825648a44f5ffa62a8f124e3186e5570be40414de164e7f2
workflow:
workflowVersion: 1.0.0
speakeasyVersion: 1.685.0
diff --git a/MIGRATION.md b/MIGRATION.md
index 9f39cdb5..906173fe 100644
--- a/MIGRATION.md
+++ b/MIGRATION.md
@@ -33,6 +33,26 @@ from mistralai.client.types import BaseModel
| `from mistralai.types import ...` | `from mistralai.client.types import ...` |
| `from mistralai.utils import ...` | `from mistralai.client.utils import ...` |
+### Azure & GCP Import Changes
+
+Azure and GCP SDKs now live under the `mistralai` namespace as separate distributions:
+
+| v1 | v2 |
+|---|---|
+| `from mistralai_azure import MistralAzure` | `from mistralai.azure.client import MistralAzure` |
+| `from mistralai_azure.models import ...` | `from mistralai.azure.client.models import ...` |
+| `from mistralai_gcp import MistralGoogleCloud` | `from mistralai.gcp.client import MistralGCP` |
+| `from mistralai_gcp.models import ...` | `from mistralai.gcp.client.models import ...` |
+
+#### Installation Changes
+
+| v1 | v2 |
+|---|---|
+| `pip install mistralai` | `pip install mistralai` (includes Azure and GCP) |
+| `pip install mistralai[gcp]` (for GCP auth) | `pip install "mistralai[gcp]"` (for GCP auth dependencies) |
+
+Azure and GCP are now standalone distributions that can be installed independently of the core SDK. The `mistralai[azure]` and `mistralai[gcp]` extras are syntactic sugar that pull in the respective distributions.
+
### What Stays the Same
- The `Mistral` client API is unchanged
diff --git a/README.md b/README.md
index 53de43f5..22c11c63 100644
--- a/README.md
+++ b/README.md
@@ -372,35 +372,35 @@ You can run the examples in the `examples/` directory using `uv run`.
Before you begin, ensure you have `AZUREAI_ENDPOINT` and an `AZURE_API_KEY`. To obtain these, you will need to deploy Mistral on Azure AI.
See [instructions for deploying Mistral on Azure AI here](https://docs.mistral.ai/deployment/cloud/azure/).
+**Step 1: Install**
+
+```bash
+pip install mistralai
+```
+
+**Step 2: Example Usage**
+
Here's a basic example to get you started. You can also run [the example in the `examples` directory](/examples/azure).
```python
-import asyncio
import os
-
-from mistralai_azure import MistralAzure
+from mistralai.azure.client import MistralAzure
client = MistralAzure(
- azure_api_key=os.getenv("AZURE_API_KEY", ""),
- azure_endpoint=os.getenv("AZURE_ENDPOINT", "")
+ api_key=os.getenv("AZURE_API_KEY", ""),
+ server_url=os.getenv("AZURE_ENDPOINT", "")
)
-async def main() -> None:
- res = await client.chat.complete_async(
- max_tokens= 100,
- temperature= 0.5,
- messages= [
- {
- "content": "Hello there!",
- "role": "user"
- }
- ]
- )
- print(res)
-
-asyncio.run(main())
+res = client.chat.complete(
+ messages=[
+ {
+ "content": "Hello there!",
+ "role": "user"
+ }
+ ]
+)
+print(res.choices[0].message.content)
```
-The documentation for the Azure SDK is available [here](packages/mistralai_azure/README.md).
### Google Cloud
@@ -417,40 +417,34 @@ gcloud auth application-default login
**Step 1: Install**
-Install the extras dependencies specific to Google Cloud:
-
```bash
+pip install mistralai
+# For GCP authentication support:
pip install "mistralai[gcp]"
```
**Step 2: Example Usage**
-Here's a basic example to get you started.
+Here's a basic example to get you started. You can also run [the example in the `examples` directory](/examples/gcp).
```python
-import asyncio
-from mistralai_gcp import MistralGoogleCloud
-
-client = MistralGoogleCloud()
-
+import os
+from mistralai.gcp.client import MistralGCP
-async def main() -> None:
- res = await client.chat.complete_async(
- model= "mistral-small-2402",
- messages= [
- {
- "content": "Hello there!",
- "role": "user"
- }
- ]
- )
- print(res)
+client = MistralGCP(api_key=os.getenv("GCP_API_KEY", ""))
-asyncio.run(main())
+res = client.chat.complete(
+ model="mistral-large-2407",
+ messages=[
+ {
+ "content": "Hello there!",
+ "role": "user"
+ }
+ ]
+)
+print(res.choices[0].message.content)
```
-The documentation for the GCP SDK is available [here](packages/mistralai_gcp/README.md).
-
## Available Resources and Operations
diff --git a/docs/gen-yaml-diff.md b/docs/gen-yaml-diff.md
new file mode 100644
index 00000000..881bb3b5
--- /dev/null
+++ b/docs/gen-yaml-diff.md
@@ -0,0 +1,43 @@
+# gen.yaml Diff: Main vs Azure vs GCP
+
+## `generation` section
+
+| Setting | Main | Azure | GCP |
+|---------|------|-------|-----|
+| `sdkClassName` | `Mistral` | `MistralAzure` | `MistralGCP` |
+| `nameResolutionDec2023` | `true` | `true` | `true` |
+| `nameResolutionFeb2025` | `true` | `true` | `true` |
+| `parameterOrderingFeb2024` | `true` | `true` | `true` |
+| `requestResponseComponentNamesFeb2024` | `true` | `true` | `true` |
+| `securityFeb2025` | `true` | `true` | `true` |
+| `sharedErrorComponentsApr2025` | `true` | `true` | `true` |
+| `methodSignaturesApr2024` | `true` | `true` | `true` |
+| `sharedNestedComponentsJan2026` | `true` | `true` | `true` |
+
+## `python` section
+
+| Setting | Main | Azure | GCP |
+|---------|------|-------|-----|
+| `version` | `2.0.0a4` | `2.0.0a4` | `2.0.0a4` |
+| `additionalDependencies.main` | *none* | *none* | *none* |
+| `baseErrorName` | `MistralError` | `MistralAzureError` | `MistralGcpError` |
+| `description` | `...Mistral AI API.` | `...in Azure.` | `...in GCP.` |
+| `enableCustomCodeRegions` | `true` | `false` | `false` |
+| `envVarPrefix` | `MISTRAL` | *missing* | *missing* |
+| `responseRequiredSep2024` | `true` | `true` | `true` |
+| `flatAdditionalProperties` | `true` | `true` | `true` |
+| `forwardCompatibleEnumsByDefault` | `true` | `true` | `true` |
+| `forwardCompatibleUnionsByDefault` | `tagged-only` | `tagged-only` | `tagged-only` |
+| `preApplyUnionDiscriminators` | `true` | `true` | `true` |
+| `moduleName` | `mistralai.client` | `mistralai.azure.client` | `mistralai.gcp.client` |
+| `packageName` | `mistralai` | `mistralai-azure` | `mistralai-gcp` |
+
+## Remaining intentional differences
+
+All fix flags and feature flags are now aligned. The only remaining differences are expected per-target values:
+
+- **`version`** -- all at 2.0.0a4 (versions may diverge independently)
+- **`baseErrorName`** / `description` -- per-target identity
+- **`enableCustomCodeRegions`** -- `false` in Azure/GCP (they have no custom code regions)
+- **`envVarPrefix`** -- absent in Azure/GCP (only the main SDK reads `MISTRAL_*` env vars)
+- **`moduleName`** / `packageName` -- per-target namespace
diff --git a/examples/azure/az_chat_no_streaming.py b/examples/azure/az_chat_no_streaming.py
deleted file mode 100644
index 4d5530dc..00000000
--- a/examples/azure/az_chat_no_streaming.py
+++ /dev/null
@@ -1,15 +0,0 @@
-import os
-
-from mistralai_azure import MistralAzure
-from mistralai_azure.models import ChatCompletionRequestMessages, UserMessage
-
-client = MistralAzure(
- azure_api_key=os.environ["AZURE_API_KEY"],
- azure_endpoint=os.environ["AZURE_ENDPOINT"],
-)
-
-messages: list[ChatCompletionRequestMessages] = [
- UserMessage(content="What is the capital of France?"),
-]
-res = client.chat.complete(messages=messages)
-print(res.choices[0].message.content)
diff --git a/examples/azure/chat_no_streaming.py b/examples/azure/chat_no_streaming.py
index 4d5530dc..5c8665ff 100644
--- a/examples/azure/chat_no_streaming.py
+++ b/examples/azure/chat_no_streaming.py
@@ -1,14 +1,14 @@
import os
-from mistralai_azure import MistralAzure
-from mistralai_azure.models import ChatCompletionRequestMessages, UserMessage
+from mistralai.azure.client import MistralAzure
+from mistralai.azure.client.models import ChatCompletionRequestMessage, UserMessage
client = MistralAzure(
- azure_api_key=os.environ["AZURE_API_KEY"],
- azure_endpoint=os.environ["AZURE_ENDPOINT"],
+ api_key=os.environ["AZURE_API_KEY"],
+ server_url=os.environ["AZURE_ENDPOINT"],
)
-messages: list[ChatCompletionRequestMessages] = [
+messages: list[ChatCompletionRequestMessage] = [
UserMessage(content="What is the capital of France?"),
]
res = client.chat.complete(messages=messages)
diff --git a/examples/gcp/async_chat_no_streaming.py b/examples/gcp/async_chat_no_streaming.py
index 178f151c..0e5643b9 100755
--- a/examples/gcp/async_chat_no_streaming.py
+++ b/examples/gcp/async_chat_no_streaming.py
@@ -3,14 +3,14 @@
import asyncio
import os
-from mistralai_gcp import MistralGoogleCloud
-from mistralai_gcp.models.usermessage import UserMessage
+from mistralai.gcp.client import MistralGCP
+from mistralai.gcp.client.models.usermessage import UserMessage
async def main():
model = "mistral-large-2407"
- client = MistralGoogleCloud(project_id=os.environ["GCP_PROJECT_ID"])
+ client = MistralGCP(api_key=os.environ["GCP_API_KEY"])
chat_response = await client.chat.complete_async(
model=model,
diff --git a/examples/gcp/gcp_async_chat_no_streaming.py b/examples/gcp/gcp_async_chat_no_streaming.py
deleted file mode 100755
index 178f151c..00000000
--- a/examples/gcp/gcp_async_chat_no_streaming.py
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/usr/bin/env python
-
-import asyncio
-import os
-
-from mistralai_gcp import MistralGoogleCloud
-from mistralai_gcp.models.usermessage import UserMessage
-
-
-async def main():
- model = "mistral-large-2407"
-
- client = MistralGoogleCloud(project_id=os.environ["GCP_PROJECT_ID"])
-
- chat_response = await client.chat.complete_async(
- model=model,
- messages=[UserMessage(content="What is the best French cheese?")],
- )
-
- print(chat_response.choices[0].message.content)
-
-
-if __name__ == "__main__":
- asyncio.run(main())
diff --git a/packages/mistralai_azure/.speakeasy/gen.lock b/packages/mistralai_azure/.speakeasy/gen.lock
index a7cdba10..93269863 100644
--- a/packages/mistralai_azure/.speakeasy/gen.lock
+++ b/packages/mistralai_azure/.speakeasy/gen.lock
@@ -5,20 +5,21 @@ management:
docVersion: 1.0.0
speakeasyVersion: 1.685.0
generationVersion: 2.794.1
- releaseVersion: 1.8.1
- configChecksum: 0448ba634aa36625c6ac276e17e3b3b5
+ releaseVersion: 2.0.0a4
+ configChecksum: 549cf1eae199d39bf97052462fd8e640
repoURL: https://github.com/mistralai/client-python.git
repoSubDirectory: packages/mistralai_azure
installationURL: https://github.com/mistralai/client-python.git#subdirectory=packages/mistralai_azure
published: true
persistentEdits:
- generation_id: ecb4f74f-ba8a-4f28-941d-36b3258200bd
- pristine_commit_hash: 785c0560d42a9c4cff938392bb6d52d98a2f3529
- pristine_tree_hash: 50ed42d2e4b3d4ecd639935cd1511220354a41d7
+ generation_id: 25273f4a-1e18-4ae1-88a8-ab09eb3c804c
+ pristine_commit_hash: 6a25b81af3489d4a3571a22ebda954d53d6d4128
+ pristine_tree_hash: 4e6f740b3d31ba6e51805bb36100176f13010779
features:
python:
additionalDependencies: 1.0.0
additionalProperties: 1.0.1
+ configurableModuleName: 0.2.0
constsAndDefaults: 1.0.5
core: 5.23.18
defaultEnabledRetries: 0.2.0
@@ -57,16 +58,12 @@ trackedFiles:
pristine_git_object: 2e54e27e0ca97bee87918b2ae38cc6c335669a79
docs/models/assistantmessage.md:
id: 7e0218023943
- last_write_checksum: sha1:e75d407349842b2de46ee3ca6250f9f51121cf38
- pristine_git_object: 3d0bd90b4433c1a919f917f4bcf2518927cdcd50
+ last_write_checksum: sha1:8e8cc655e97126a378118a213e6167a7929e7600
+ pristine_git_object: 1ca5ac82d3e785e026a667800759efa9d2b246ac
docs/models/assistantmessagecontent.md:
id: 9f1795bbe642
last_write_checksum: sha1:1ce4066623a8d62d969e5ed3a088d73a9ba26643
pristine_git_object: 047b7cf95f4db203bf2c501680b73ca0562a122d
- docs/models/assistantmessagerole.md:
- id: bb5d2a4bc72f
- last_write_checksum: sha1:82f2c4f469426bd476c1003a91394afb89cb7c91
- pristine_git_object: 658229e77eb6419391cf7941568164541c528387
docs/models/chatcompletionchoice.md:
id: 0d15c59ab501
last_write_checksum: sha1:a6274a39a4239e054816d08517bf8507cb5c4564
@@ -77,12 +74,12 @@ trackedFiles:
pristine_git_object: b2f15ecbe88328de95b4961ddb3940fd8a6ee64b
docs/models/chatcompletionrequest.md:
id: adffe90369d0
- last_write_checksum: sha1:de5476eb16a5ff75942b1ece68dbe547110dbbb8
- pristine_git_object: 104a1f96e60e1d4b86305dab2829be084b00b153
- docs/models/chatcompletionrequestmessages.md:
- id: ec996b350e12
- last_write_checksum: sha1:2ecec8d12cdb48426f4eb62732066fc79fcd4ec3
- pristine_git_object: bc7708a67f06d74e8a5bf1facb2b23fb1e08053c
+ last_write_checksum: sha1:a404d37c6605a5524f1f48b418bacf46e86a9a68
+ pristine_git_object: 3b0f7270840e257475f4b0f15f27e0c0152818d2
+ docs/models/chatcompletionrequestmessage.md:
+ id: 3f5e170d418c
+ last_write_checksum: sha1:7921c5a508a9f88adc01caab34e26182b8035607
+ pristine_git_object: 91e9e062d0ef0cb69235c4ae4516548733ce28a9
docs/models/chatcompletionrequeststop.md:
id: fcaf5bbea451
last_write_checksum: sha1:71a25f84f0d88c7acf72e801ced6159546201851
@@ -97,8 +94,16 @@ trackedFiles:
pristine_git_object: a0465ffbfc5558628953e03fbc53b80bbdc8649b
docs/models/chatcompletionstreamrequest.md:
id: cf8f29558a68
- last_write_checksum: sha1:f6bc4a0f064fc3420ae9b29c7e6fc9100ae85e4d
- pristine_git_object: 85f237b4fc59ffc487377f150952284cc2102d85
+ last_write_checksum: sha1:daca00885f0d0f9863d8420bbee514723084813d
+ pristine_git_object: f78156a647ec63ca60ff423acbdee2b2404e4e60
+ docs/models/chatcompletionstreamrequestmessage.md:
+ id: 053a98476cd2
+ last_write_checksum: sha1:8270692463fab1243d9de4bbef7162daa64e52c5
+ pristine_git_object: 2e4e93acca8983a3ea27b391d4606518946e13fe
+ docs/models/chatcompletionstreamrequeststop.md:
+ id: d0e89a4dca78
+ last_write_checksum: sha1:a889e9580fa94bda7c848682d6ba501b7f5c0f41
+ pristine_git_object: a48460a92ac47fec1de2188ba46b238229736d32
docs/models/chatcompletionstreamrequesttoolchoice.md:
id: 210d5e5b1413
last_write_checksum: sha1:0543164caf3f4fb2bef3061dbd1a5e6b34b17ae9
@@ -113,20 +118,24 @@ trackedFiles:
pristine_git_object: 7a66e8fee2bb0f1c58166177653893bb05b98f1d
docs/models/completionresponsestreamchoice.md:
id: d56824d615a6
- last_write_checksum: sha1:dcf4b125b533192cb5aea1a68551866954712dc5
- pristine_git_object: c807dacd98eb3561ee45f40db71a92cb72b0f6de
- docs/models/content.md:
- id: bfd859c99f86
- last_write_checksum: sha1:6673dbd19871a701955a322348a4f7e51c38ffc8
- pristine_git_object: a833dc2c6043e36b85131c9243b4cc02b9fcc4c6
+ last_write_checksum: sha1:0296a490df009dbfd04893fdebcc88dd6102a872
+ pristine_git_object: 1532c25b8fc065d486f52d4610a7f757e5340875
+ docs/models/completionresponsestreamchoicefinishreason.md:
+ id: 5f1fbfc90b8e
+ last_write_checksum: sha1:20824b4a223cbd3658b32440973a7d47dcd108b9
+ pristine_git_object: 0fece473297227c75db4e7ded63417a2f117cac0
docs/models/contentchunk.md:
id: d2d3a32080cd
last_write_checksum: sha1:5839a26cdc412b78caad7fb59df97bdcea57be6d
pristine_git_object: 22023e8b19692df969693b7a14f8cf6e0143859f
docs/models/deltamessage.md:
id: 6c5ed6b60968
- last_write_checksum: sha1:c213149256c620715d744c89685d5b6cbdea6f58
- pristine_git_object: 61deabbf7e37388fdd4c1789089d120cc0b937b9
+ last_write_checksum: sha1:00052476b9b2474dbc149f18dd18c71c86d0fc74
+ pristine_git_object: e0ee575f3fce7c312114ce8c5390efc5c4854952
+ docs/models/deltamessagecontent.md:
+ id: 7307bedc8733
+ last_write_checksum: sha1:a1211b8cb576ad1358e68983680ee326c3920a5e
+ pristine_git_object: 8142772d7ea33ad8a75cf9cf822564ba3f630de2
docs/models/document.md:
id: cd1d2a444370
last_write_checksum: sha1:d00a2ac808a0ae83a7b97da87e647ecc8dca9c52
@@ -143,10 +152,6 @@ trackedFiles:
id: edc076728e9d
last_write_checksum: sha1:07ab5db503211adba2fa099e66d12ac3c4bbf680
pristine_git_object: 18217114060ac4e4b45fefabace4628684f27e5c
- docs/models/finishreason.md:
- id: 73315c2a39b3
- last_write_checksum: sha1:5b58c7fa9219f728b9731287e21abe1be9f11e4a
- pristine_git_object: 45a5aedb7241cf080df3eb976a4413064d314009
docs/models/format_.md:
id: a17c22228eda
last_write_checksum: sha1:dad6de59fec6378d50356007602e2a0254d8d2e4
@@ -173,16 +178,16 @@ trackedFiles:
pristine_git_object: 7c2bcbc36e99c3cf467d213d6a6a59d6300433d8
docs/models/imageurlchunk.md:
id: 4407097bfff3
- last_write_checksum: sha1:7a478fd638234ece78770c7fc5e8d0adaf1c3727
- pristine_git_object: f1b926ef8e82443aa1446b1c64c2f02e33d7c789
- docs/models/imageurlchunkimageurl.md:
- id: c7fae88454ce
- last_write_checksum: sha1:5eff71b7a8be7baacb9ba8ca0be0a0f7a391a325
- pristine_git_object: 767389082d25f06e617fec2ef0134dd9fb2d4064
+ last_write_checksum: sha1:73e14a0beccfc9465ee6d2990462e609903f5cd5
+ pristine_git_object: 43078c7849fb3e808c2eaeaa5a3caeab2619d700
docs/models/imageurlchunktype.md:
id: b9af2db9ff60
last_write_checksum: sha1:990546f94648a09faf9d3ae55d7f6ee66de13e85
pristine_git_object: 2064a0b405870313bd4b802a3b1988418ce8439e
+ docs/models/imageurlunion.md:
+ id: 9d3c691a9db0
+ last_write_checksum: sha1:4e32bcd7d44746d2ddbfafbef96152bb2bdb2a15
+ pristine_git_object: db97130f26199dcb354ecb7469d09530b035daa2
docs/models/jsonschema.md:
id: a6b15ed6fac8
last_write_checksum: sha1:523465666ad3c292252b3fe60f345c7ffb29053f
@@ -191,10 +196,6 @@ trackedFiles:
id: b071d5a509cc
last_write_checksum: sha1:09a04749333ab50ae806c3ac6adcaa90d54df0f1
pristine_git_object: d6094ac2c6e0326c039dad2f6b89158694ef6aa7
- docs/models/messages.md:
- id: 2103cd675c2f
- last_write_checksum: sha1:f6940c9c67b98c49ae2bc2764f6c14178321f244
- pristine_git_object: 1d394500e8ffdd140457575568fc2ce465a1cc3a
docs/models/mistralpromptmode.md:
id: d17d5db4d3b6
last_write_checksum: sha1:abcb7205c5086169c7d9449d15ac142448a7d258
@@ -247,22 +248,18 @@ trackedFiles:
id: cf1f250b82db
last_write_checksum: sha1:105e1f9181913104b554051838cbdd0f728aa2c4
pristine_git_object: 2f5f1e5511b048323fee18a0ffdd506fe2b3d56f
- docs/models/role.md:
- id: b694540a5b1e
- last_write_checksum: sha1:260a50c56a8bd03cc535edf98ebec06437f87f8d
- pristine_git_object: affca78d5574cc42d8e6169f21968e5a8765e053
+ docs/models/roleenum.md:
+ id: 0d7e1c46e8a4
+ last_write_checksum: sha1:61fa8e7b302bffb18a9e4c19e7099580025a92c1
+ pristine_git_object: 4213c18d66e0508d066f3317b5fbbca05bef3ac3
docs/models/security.md:
id: 452e4d4eb67a
last_write_checksum: sha1:ce2871b49c1632d50e22d0b1ebe4999021d52313
pristine_git_object: c698674c513f5b20c04f629e50154e67977275f7
- docs/models/stop.md:
- id: f231cc9f5041
- last_write_checksum: sha1:86903cac5f57ad9b8ac07ecba6c454d40a53bdc8
- pristine_git_object: ba40ca83136d6d6cb4f1ef9e5ca3104a704e4846
docs/models/systemmessage.md:
id: fdb7963e1cdf
- last_write_checksum: sha1:97e726dff19a39b468767d5c01fc6256277ee71f
- pristine_git_object: 0dba71c00f40c85e74b2c1967e077ffff9660f13
+ last_write_checksum: sha1:561c3372391e093c890f477b3213c308ead50b81
+ pristine_git_object: dfb0cd0bd17aecbc1fe4b8410e78440f65038fef
docs/models/systemmessagecontent.md:
id: 94a56febaeda
last_write_checksum: sha1:6cb10b4b860b4204df57a29c650c85c826395aeb
@@ -277,16 +274,12 @@ trackedFiles:
pristine_git_object: 54f029b814fdcfa2e93e2b8b0594ef9e4eab792a
docs/models/textchunk.md:
id: 6cd12e0ef110
- last_write_checksum: sha1:6d41d1991d122805734ed0d90ee01592aa5ae6ff
- pristine_git_object: 6daab3c381bd8c13d2935bf62578648a8470fc76
+ last_write_checksum: sha1:43bc634db23ae0ca56e9e0073817aa0b5a7a43c6
+ pristine_git_object: 8521a2c1049ccdcd75c01b34c85eabeeac4e2af5
docs/models/thinkchunk.md:
id: bca24d7153f6
- last_write_checksum: sha1:feb95a931bb9cdbfe28ab351618687e513cf830b
- pristine_git_object: 66b2e0cde70e25e2927180d2e709503401fddeab
- docs/models/thinkchunktype.md:
- id: 0fbeed985341
- last_write_checksum: sha1:790f991f95c86c26a6abb9c9c5debda8b53526f5
- pristine_git_object: baf6f755252d027295be082b53ecf80555039414
+ last_write_checksum: sha1:714ab1ad03b7641a9225bcb6bd47015e482b70c3
+ pristine_git_object: 07f6f7b13336f2766723bcdff1d535a53962487e
docs/models/thinking.md:
id: 07234f8dd364
last_write_checksum: sha1:a5962d1615b57996730da19e59fbfaa684321442
@@ -309,40 +302,28 @@ trackedFiles:
pristine_git_object: 0be3d6c54b13a8bf30773398a2c12e0d30d3ae58
docs/models/toolmessage.md:
id: 0553747c37a1
- last_write_checksum: sha1:3ac87031fdd4ba8b0996e95be8e7ef1a7ff41167
- pristine_git_object: a54f49332c2873471759b477fb4c712fa4fb61f5
+ last_write_checksum: sha1:f35fa287b94d2c1a9de46c2c479dadd5dca7144d
+ pristine_git_object: fa00d666d6d2baea0aac10fcdeff449eb73c9d39
docs/models/toolmessagecontent.md:
id: f0522d2d3c93
last_write_checksum: sha1:783769c0200baa1b6751327aa3e009fa83da72ee
pristine_git_object: 5c76091fbd2c8e0d768921fab19c7b761df73411
- docs/models/toolmessagerole.md:
- id: f333d4d1ab56
- last_write_checksum: sha1:7e1c004bad24e928da0c286a9f053516b172d24f
- pristine_git_object: c24e59c0c79ea886d266e38c673edd51531b9be6
docs/models/tooltypes.md:
id: adb50fe63ea2
last_write_checksum: sha1:f224c3d8732450b9c969b3e04027b7df7892694c
pristine_git_object: 84e49253c9b9bd1bd314e2a126106404cbb52f16
- docs/models/type.md:
- id: 98c32f09b2c8
- last_write_checksum: sha1:8aa9ca999e9648ddc2240bf80780684e3e858ddf
- pristine_git_object: eb0581e7174b6951d69c485a64af5244cb8687fa
docs/models/usageinfo.md:
id: ec6fe65028a9
last_write_checksum: sha1:cf71fb9676d870eba7c4d10a69636e1db4054adc
pristine_git_object: f5204ac94a4d6191839031c66c5a9bc0124a1f35
docs/models/usermessage.md:
id: ed66d7a0f80b
- last_write_checksum: sha1:8291f7703e49ed669775dc953ea8cab6715dc7ed
- pristine_git_object: 63b0131091cd211b3b1477c1d63b5666a26db546
+ last_write_checksum: sha1:627f88dbb89e226a7d92564658c23a0e8d71342a
+ pristine_git_object: 78ed066eed9f0638edc6db697eaeaad6f32b4770
docs/models/usermessagecontent.md:
id: 52c072c851e8
last_write_checksum: sha1:1de02bcf7082768ebe1bb912fdbebbec5a577b5a
pristine_git_object: 8350f9e8f8996c136093e38760990f62fd01f8cf
- docs/models/usermessagerole.md:
- id: 99ffa937c462
- last_write_checksum: sha1:52014480516828b43827aa966b7319d9074f1111
- pristine_git_object: 171124e45988e784c56a6b92a0057ba00efc0db4
docs/models/utils/retryconfig.md:
id: 4343ac43161c
last_write_checksum: sha1:562c0f21e308ad10c27f85f75704c15592c6929d
@@ -367,324 +348,328 @@ trackedFiles:
id: fe273b08f514
last_write_checksum: sha1:b290b25b36dca3d5eb1a2e66a2e1bcf2e7326cf3
pristine_git_object: c35748f360329c2bc370e9b189f49b1a360b2c48
- src/mistralai_azure/__init__.py:
- id: 3cd9e92c2f72
+ src/mistralai/azure/client/__init__.py:
+ id: 5624bda9196d
last_write_checksum: sha1:36306d1d404b6aeb912d27f1d9c52f098ff7bf9b
pristine_git_object: dd02e42e4cc509dc90e6ae70493054021faa5f9c
- src/mistralai_azure/_hooks/__init__.py:
- id: 66932eacf398
+ src/mistralai/azure/client/_hooks/__init__.py:
+ id: 850c237217cb
last_write_checksum: sha1:e3111289afd28ad557c21d9e2f918caabfb7037d
pristine_git_object: 2ee66cdd592fe41731c24ddd407c8ca31c50aec1
- src/mistralai_azure/_hooks/sdkhooks.py:
- id: 1184c9201c62
- last_write_checksum: sha1:c98774db1664db2bc6d80e8a5f4f5133260f201a
- pristine_git_object: 37ff4e9f0ebd42a58ada6300098a5b1b85a54b69
- src/mistralai_azure/_hooks/types.py:
- id: a32fe1943bce
- last_write_checksum: sha1:78fc31840a38e668a73871885c779929196a8bec
- pristine_git_object: 0c22d7ebccdd64097033454b7c698d10ee59987d
- src/mistralai_azure/_version.py:
- id: 7711a0bb1da3
- last_write_checksum: sha1:9a446d67d6a86cdf9d9e3447c1c09a4f719b2c9b
- pristine_git_object: 79277f9a358b4c851363e11e1e8f534779e9f271
- src/mistralai_azure/basesdk.py:
- id: 7d825dbc7d6e
- last_write_checksum: sha1:4070786599952b3c603d1384d87d7b92bb13b974
- pristine_git_object: 89f7dc493d7f50d5f2d3f468c0a8392a6ec5e28b
- src/mistralai_azure/chat.py:
- id: ebf1c99bea88
- last_write_checksum: sha1:2d78fa9e8b3e300e18b6fb3bc116e824261efb55
- pristine_git_object: 10bb247fb89f0f9ef110300224c95f2a7653ad2f
- src/mistralai_azure/httpclient.py:
- id: 808a3f534ffa
+ src/mistralai/azure/client/_hooks/sdkhooks.py:
+ id: e9923767446c
+ last_write_checksum: sha1:ae162d6e73be0eb767c353c815d76b034395d50f
+ pristine_git_object: 2080681b7f2c52fcb80dcb95eff48654763e6258
+ src/mistralai/azure/client/_hooks/types.py:
+ id: 07c892e06527
+ last_write_checksum: sha1:fde2e0f6da6930232b67682009de520724b23398
+ pristine_git_object: 3e4e39555d60adebe84e596c8323ee5b80676fc9
+ src/mistralai/azure/client/_version.py:
+ id: a77160e60e5d
+ last_write_checksum: sha1:e26eb828e9a240042acc754f38dcf2e581e045aa
+ pristine_git_object: 4448d2a0fd803f43820378359c921d09eba6f43e
+ src/mistralai/azure/client/basesdk.py:
+ id: 5a585a95ec21
+ last_write_checksum: sha1:d7a4a959d7d3ca3cd22d8daf144c3b4d5c0d1210
+ pristine_git_object: b0391ac078b4e2a5d9107ed014c1ca939a553c23
+ src/mistralai/azure/client/chat.py:
+ id: c18454e628d7
+ last_write_checksum: sha1:cc1ff54b85ce494428ebf22ec01bd1199cd9e2b6
+ pristine_git_object: 3348bf47eafb3fcfb2de0e7d512073e947b69554
+ src/mistralai/azure/client/httpclient.py:
+ id: 60c81037fbd0
last_write_checksum: sha1:5e55338d6ee9f01ab648cad4380201a8a3da7dd7
pristine_git_object: 89560b566073785535643e694c112bedbd3db13d
- src/mistralai_azure/models/__init__.py:
- id: e5fcf3933d2c
- last_write_checksum: sha1:43f0ebb24f64a382fd18202da65a321d9925dbee
- pristine_git_object: 9baa3ff1865cd8aec9e9b93d6e3c315e8c7870c5
- src/mistralai_azure/models/assistantmessage.py:
- id: 15f117b45380
- last_write_checksum: sha1:3c2872d06ad465dbbbedcf8d397d1f12961e1e2e
- pristine_git_object: 7790eb10a034d892c3c1e793c412c75ff8820e40
- src/mistralai_azure/models/chatcompletionchoice.py:
- id: 93cfc6cec0d2
- last_write_checksum: sha1:f5dfcf407d8abd5ce8eb23f058c589861c71a0df
- pristine_git_object: 7c6eb933faf09cc5c6102575d371ac280f2e242d
- src/mistralai_azure/models/chatcompletionrequest.py:
- id: d046a16b5e58
- last_write_checksum: sha1:bc1e0b5c8b11bfef5a9b135436c2f3f555a11fa3
- pristine_git_object: a7b095f34c572e1805650e44f847946280ccb3fe
- src/mistralai_azure/models/chatcompletionresponse.py:
- id: fc342e80f579
- last_write_checksum: sha1:a93593ec734420bc122f0b0b8c49d630795f1d42
- pristine_git_object: 7a66f3221a154b1a0f47c4f808ece8e580280548
- src/mistralai_azure/models/chatcompletionstreamrequest.py:
- id: 1052b055a791
- last_write_checksum: sha1:18f71c5eeda25d23f2c82ddcdb710a20b44b806c
- pristine_git_object: 96cd631b0ed74e5c82c6e2492011001021b019f8
- src/mistralai_azure/models/completionchunk.py:
- id: e04bc380589d
- last_write_checksum: sha1:490c3236276ae8fdecb883744e263aecbe4c608c
- pristine_git_object: d6cc2a86a1fda1ebce1f3c5a169ab1118705e3f0
- src/mistralai_azure/models/completionevent.py:
- id: e75909f919b1
- last_write_checksum: sha1:9f5423ad56747fb7cc95a6f01e0826510571d4c1
- pristine_git_object: 5a2039c2492bab82184b4f2469806f8b977a7246
- src/mistralai_azure/models/completionresponsestreamchoice.py:
- id: 24fe265a60d8
- last_write_checksum: sha1:df52342c3458cca6396d538c5d9a42f07131796d
- pristine_git_object: 0e890aacf79f8f220f585d914c6fbe8863232036
- src/mistralai_azure/models/contentchunk.py:
- id: 9e6b90acdf54
- last_write_checksum: sha1:e93c57ef87654a06d8849030f65db3d279f8f7ad
- pristine_git_object: e6a3e24a8857ea1661874197eec967f0ac99e31d
- src/mistralai_azure/models/deltamessage.py:
- id: 593eaaeda97b
- last_write_checksum: sha1:9c2f6e52c81d2f5bf71f520861158dc5eae6eab7
- pristine_git_object: 7fa3c3f216153ebc0a2d31e590793698e95a8be8
- src/mistralai_azure/models/documenturlchunk.py:
- id: bff69bfa8014
- last_write_checksum: sha1:5c515c4c85b78d8f4cf147faab9cf01c3501e0b9
- pristine_git_object: ea8d5625a6d1579dd60f2e4a067f455c82334986
- src/mistralai_azure/models/filechunk.py:
- id: 0de687fe41c1
- last_write_checksum: sha1:56a1765b46702d24ee9c00ab3a06ccdbffdd63f9
- pristine_git_object: 2c3edc078b5e781b4d7163ab01e02a3347c81e2f
- src/mistralai_azure/models/function.py:
- id: 16111a6101f2
- last_write_checksum: sha1:456d34df457592f1975b0d1e158207d4446a6c41
- pristine_git_object: a4642f92a0cf614b458591c220a83ae1c422ce25
- src/mistralai_azure/models/functioncall.py:
- id: e383b31a7f16
- last_write_checksum: sha1:cec288f925fa58842bb7d9e688f6122a01973d4b
- pristine_git_object: dd93c4629c3bd81dd6fb305474ce0cd5443e1bdb
- src/mistralai_azure/models/functionname.py:
- id: ebc3e07e4b6f
- last_write_checksum: sha1:743cec4c3f586d67d1ab2816d8d76170f46a3ca1
- pristine_git_object: b55c82af3f29efe38698bc776a8532c647dccc36
- src/mistralai_azure/models/httpvalidationerror.py:
- id: da4825943f94
- last_write_checksum: sha1:dce58ead8f7f901514250e1ae5965ba039b1da14
- pristine_git_object: 56607d9437ce39097deac134d4f622ea523cbda7
- src/mistralai_azure/models/imageurl.py:
- id: 80cc0df94e9d
- last_write_checksum: sha1:a1a416ae5bf9c559219cff5f008a90f251a52477
- pristine_git_object: a5a66360b017cbdc342775241aa4aa2322534c6a
- src/mistralai_azure/models/imageurlchunk.py:
- id: c5c6dd2f1782
- last_write_checksum: sha1:11634325be12aa567b42227f2117e9b8c854a51c
- pristine_git_object: a40e451c60caca688a9379dcb20d545e9e6b76e2
- src/mistralai_azure/models/jsonschema.py:
- id: 8c635811dd6b
- last_write_checksum: sha1:a99a6de224e51eb6cf85fa6de8cf37266ab5fe6d
- pristine_git_object: 0f7563fc17bf172d527d09507294b4ef5646c22c
- src/mistralai_azure/models/mistralazureerror.py:
- id: a919897c4ea9
+ src/mistralai/azure/client/models/__init__.py:
+ id: "335011330e21"
+ last_write_checksum: sha1:30932f2491b02fc5e73f5bcfd1c789c0a4a4666f
+ pristine_git_object: 4bad2c079f31de1abe9ed837534b30c2c6d93aa1
+ src/mistralai/azure/client/models/assistantmessage.py:
+ id: 353ed9110f97
+ last_write_checksum: sha1:408459b5caa25fff21808330ed37f8fd5fa2b762
+ pristine_git_object: b9350ee23cc7cb363aab0dbc306addd78064d182
+ src/mistralai/azure/client/models/chatcompletionchoice.py:
+ id: 6942c7db5891
+ last_write_checksum: sha1:817bfda6120a98248322c308629e404081e01279
+ pristine_git_object: 67b5ba694217f4f3b95589d7f84af6a9bea9802d
+ src/mistralai/azure/client/models/chatcompletionrequest.py:
+ id: 0c711c870184
+ last_write_checksum: sha1:fae2a92375aa3e58c258e4497acead859cd3b6dc
+ pristine_git_object: 921790959880ddf9b9ffce15d881e01f8adefa86
+ src/mistralai/azure/client/models/chatcompletionresponse.py:
+ id: bdfacf065e9e
+ last_write_checksum: sha1:c72fb624e7475a551d37e0b291b64bcf772c402a
+ pristine_git_object: d41f9c6fab670cf7c961f50b1302f9a88cf48162
+ src/mistralai/azure/client/models/chatcompletionstreamrequest.py:
+ id: da00a7feb4ef
+ last_write_checksum: sha1:c8c84c818b3b22bfec1e7f5737bbb281088dd3ba
+ pristine_git_object: be21eed2ecbe8354eb9a4bfa48122b28dada4aaf
+ src/mistralai/azure/client/models/completionchunk.py:
+ id: 28d620f25510
+ last_write_checksum: sha1:413545e0521539346bff6e77fdec0c9e383bde17
+ pristine_git_object: b94284b2d9c29c25a2f8eaa02828e2a205f4407e
+ src/mistralai/azure/client/models/completionevent.py:
+ id: a6f00a747933
+ last_write_checksum: sha1:3d04bfbdaf11c52af5613ed0fd70c8dbc59f6d49
+ pristine_git_object: c4b272871d9b3ea8443f469d29b0825706c25c00
+ src/mistralai/azure/client/models/completionresponsestreamchoice.py:
+ id: 3ba5d7ba8a13
+ last_write_checksum: sha1:f917300daf4febec7661f2c73bae675600ee0bdd
+ pristine_git_object: 2a4d053feb84cf2a9675d76ae08c83945b26644c
+ src/mistralai/azure/client/models/contentchunk.py:
+ id: 1f65e4f8f731
+ last_write_checksum: sha1:79efbc90c1ae36b74492666125fb3e5ecaa5c27a
+ pristine_git_object: 0f09f76703efd95fcd96377b8ec6870d58dbf829
+ src/mistralai/azure/client/models/deltamessage.py:
+ id: b7dab1d158de
+ last_write_checksum: sha1:553fdff5a3aec6909417be3cb390d99421af1693
+ pristine_git_object: 2c01feae56c44d256f1e579c15f08e167dcc6481
+ src/mistralai/azure/client/models/documenturlchunk.py:
+ id: e56fec6e977f
+ last_write_checksum: sha1:7dc9691b6b0fcace3b051beb41aa8ba7238c4ff8
+ pristine_git_object: efc0fff415a3fd9f68cf7db53493861886155d3a
+ src/mistralai/azure/client/models/filechunk.py:
+ id: 150d9f180110
+ last_write_checksum: sha1:df1e010006338f6dd37009f2547ab8f0b90b917a
+ pristine_git_object: 829f03d84c25dd859d514ffa26e570f235e4e75b
+ src/mistralai/azure/client/models/function.py:
+ id: 6d1e2011a14b
+ last_write_checksum: sha1:62df160db82853d79907cccff4d0904f6bb9f142
+ pristine_git_object: f4edce0fb8563f485d9a63a42439a9b2593a7f40
+ src/mistralai/azure/client/models/functioncall.py:
+ id: ced560a1bd57
+ last_write_checksum: sha1:490cb3a0305994de063e06fa4c77defa911271f3
+ pristine_git_object: d476792ccbb5aa2002deb870f1c81cc1500f59d4
+ src/mistralai/azure/client/models/functionname.py:
+ id: 6f09474ebc85
+ last_write_checksum: sha1:651ceed24416ce8192f70db03cc5cd0db685899f
+ pristine_git_object: 839e0d557a902da6c819210962e38e1df9bda90f
+ src/mistralai/azure/client/models/httpvalidationerror.py:
+ id: ca155413681b
+ last_write_checksum: sha1:9dea33d9c74bbdf842ee9d157e4aaa05c36ae34a
+ pristine_git_object: 40bccddc4d0c0e761d70af713387561101e20b60
+ src/mistralai/azure/client/models/imageurl.py:
+ id: c8882341c798
+ last_write_checksum: sha1:12e8b9bfb4442197406d88c012165f145b0a562e
+ pristine_git_object: 08c954faa8e422fe36b5fb02762de322b2b14b22
+ src/mistralai/azure/client/models/imageurlchunk.py:
+ id: b6f0abb574d7
+ last_write_checksum: sha1:b1c82c21d1166cd744229ae4936d514ff2986631
+ pristine_git_object: ad7c818466bcb8adabe8bca4b88109ef41bb29ed
+ src/mistralai/azure/client/models/jsonschema.py:
+ id: bfd486f4bb18
+ last_write_checksum: sha1:ffe7190393086a4301aaffa6854cb3d80b0db92f
+ pristine_git_object: 5aaa490af350ac1c436dafb3d3c73d56402cac11
+ src/mistralai/azure/client/models/mistralazureerror.py:
+ id: 31ed29254e67
last_write_checksum: sha1:25f4411c7411faad753d46118edf74828b1c9f7c
pristine_git_object: c5bf17528c7cf25bac8f8874f58692c601fcdd76
- src/mistralai_azure/models/mistralpromptmode.py:
- id: f62a521bcdae
- last_write_checksum: sha1:82190bc14d2e51440723176cb8108791485c1180
- pristine_git_object: 77230b7e5e61cc662fdc52c72e8b817a15e183c3
- src/mistralai_azure/models/no_response_error.py:
- id: 54523e14f29b
+ src/mistralai/azure/client/models/mistralpromptmode.py:
+ id: d0028b1e4129
+ last_write_checksum: sha1:46fe1ab8ac2d5867877368a59a4aa5be2fabadeb
+ pristine_git_object: 26e7adbdc4a981c92d51b72542c966b0ba0fb8f8
+ src/mistralai/azure/client/models/no_response_error.py:
+ id: a956d6cd06f0
last_write_checksum: sha1:7f326424a7d5ae1bcd5c89a0d6b3dbda9138942f
pristine_git_object: 1deab64bc43e1e65bf3c412d326a4032ce342366
- src/mistralai_azure/models/ocrimageobject.py:
- id: 6c349909fb0c
- last_write_checksum: sha1:0fed6abf8172f6ee40e703ef86ee9d902c6e5d7e
- pristine_git_object: 9d0dd01dbb5be095e234aa3ec9469fface68c3d2
- src/mistralai_azure/models/ocrpagedimensions.py:
- id: f33f598001b2
- last_write_checksum: sha1:5281879ef3d737a17a539cefda9f222302ead7da
- pristine_git_object: efb62a58f22ad62c730b3af93bff151586105957
- src/mistralai_azure/models/ocrpageobject.py:
- id: 99f20768c4d6
- last_write_checksum: sha1:c7479b83b0eb619e6b0f82344e81bc691f0b3a46
- pristine_git_object: e95718001e07bb89ba2fc9094f88b894572148bb
- src/mistralai_azure/models/ocrrequest.py:
- id: 4e574d5fb9be
- last_write_checksum: sha1:1b03dc8b392069f6b142228e74179c8341b09ffa
- pristine_git_object: e9c23afcdd7440660f17c7819406d7e603eabbec
- src/mistralai_azure/models/ocrresponse.py:
- id: 326a4d9fab25
- last_write_checksum: sha1:cf597498a5841a56bbd1aeb8478bd57a01d93cb1
- pristine_git_object: 3e43fa8eb7b80fafbd9344ad5a98c0ead98c54cb
- src/mistralai_azure/models/ocrtableobject.py:
- id: 3ba1292c343a
- last_write_checksum: sha1:2d1d05902a9ed6bccdb41ccac6782f015450cf2e
- pristine_git_object: 189f059eaa8a32cc32a5320ea9fe33d779e8ef1c
- src/mistralai_azure/models/ocrusageinfo.py:
- id: 0de4eae62e4b
- last_write_checksum: sha1:85e5a850bd2f847e4a02b0731b0327ca0a02f643
- pristine_git_object: 1f5c9f1bc2cf2d728dec06b0930602852474a29e
- src/mistralai_azure/models/prediction.py:
- id: 9e8a0a7a3ca7
- last_write_checksum: sha1:e78af600f109a7489a5bcce80b48adf29cc0c4c3
- pristine_git_object: b23a935c00cd7ce4e7b7bd6fe8f2da87f8aaca92
- src/mistralai_azure/models/referencechunk.py:
- id: 420a12dfec3b
- last_write_checksum: sha1:f49da7a4541f55b283e9391e6397a9e4286570bd
- pristine_git_object: 32d2ca68e67be3f03e14f74fd7e7692fa05b70f5
- src/mistralai_azure/models/responseformat.py:
- id: aa7acbc1bda7
- last_write_checksum: sha1:70e7960bb4ec5db5f133c4cc8f6e813e39f8c671
- pristine_git_object: c989f3a4467c21416ea59b33fbc734a1477a6eb3
- src/mistralai_azure/models/responseformats.py:
- id: 780a7aa0e87e
+ src/mistralai/azure/client/models/ocrimageobject.py:
+ id: 9c9f987d94bb
+ last_write_checksum: sha1:b86f5187d1c425ddf27ed4815657a7c41d71855c
+ pristine_git_object: 38e9d3e48df5cee8cdd0cd1d7b6df62182814104
+ src/mistralai/azure/client/models/ocrpagedimensions.py:
+ id: 7669a25f32b3
+ last_write_checksum: sha1:60642db6bb61f0e96204fb78d3aa0bd80dd0a7e5
+ pristine_git_object: 12858da92de99aa6da9d6e148df3ba7ee37496c7
+ src/mistralai/azure/client/models/ocrpageobject.py:
+ id: eea193b05126
+ last_write_checksum: sha1:baada584537b75e2e184738424068e61afe263c7
+ pristine_git_object: 5fb821c19fd3cca2c2e149bd058a7ca49d2d002b
+ src/mistralai/azure/client/models/ocrrequest.py:
+ id: 365a5b4776a2
+ last_write_checksum: sha1:9d3a9bccd341219934470688d3818557231b9b62
+ pristine_git_object: fece2713166fc943194b7b38ec9b82db295bba0a
+ src/mistralai/azure/client/models/ocrresponse.py:
+ id: b8cde8c16a4c
+ last_write_checksum: sha1:e6f08c68f0388919ca7bcbc4f0cb134525053fcd
+ pristine_git_object: 787289fa995ba6cbf4b2ef3d3c41edb31f656674
+ src/mistralai/azure/client/models/ocrtableobject.py:
+ id: c2cd51b8789e
+ last_write_checksum: sha1:11052d42f0d91916f038437923ea656bf882032c
+ pristine_git_object: 3e3c25830a3216f4ef325f5b1056a0c1a267b090
+ src/mistralai/azure/client/models/ocrusageinfo.py:
+ id: 5e9118cac468
+ last_write_checksum: sha1:6b27c09b5ec447c6ede22aa75190a1e06353349c
+ pristine_git_object: e2ceba35eb3f6e148389a7fd466dea5c051480a4
+ src/mistralai/azure/client/models/prediction.py:
+ id: bd6abfa93083
+ last_write_checksum: sha1:87eb3c43fa31b245c13c4708602b300956aa9efb
+ pristine_git_object: 6b8d6480b9ba1cb6683bdc93c24fb762ccfba146
+ src/mistralai/azure/client/models/referencechunk.py:
+ id: c9612f854670
+ last_write_checksum: sha1:9d707492cd962614aa035caecc88ce1257b6e6c6
+ pristine_git_object: c48e7607bf78d8a1d901c5103a99a72dcb467c43
+ src/mistralai/azure/client/models/responseformat.py:
+ id: c124e7c316aa
+ last_write_checksum: sha1:f8c9e581053d1d885196c210a219a3e7aa086610
+ pristine_git_object: 39fb03a25efdbc0a92ea91c72038ddd86ee056be
+ src/mistralai/azure/client/models/responseformats.py:
+ id: fef416cefcd4
last_write_checksum: sha1:a212e85d286b5b49219f57d071a2232ff8b5263b
pristine_git_object: cbf83ce7b54ff8634f741334831807bfb5c98991
- src/mistralai_azure/models/responsevalidationerror.py:
- id: 1952c765e2ec
- last_write_checksum: sha1:d516c0c88210dd28b65747daa2fa1b63f432fe89
- pristine_git_object: a33954ccead3a8df87bdcc30a090efbb0ebecb94
- src/mistralai_azure/models/sdkerror.py:
- id: bd8616367442
- last_write_checksum: sha1:41c259fac1bd50d33f1a2fd64d1ed17fd8d0d075
- pristine_git_object: 216d7f8fca986ac29162a1a7cba8c18b7f73d012
- src/mistralai_azure/models/security.py:
- id: 7b3bcb55164e
- last_write_checksum: sha1:9cacce270a27809ded4ee91aecac4a681154f5f0
- pristine_git_object: c1ae83138b09eab742f755a0f11428cf8c0fd60d
- src/mistralai_azure/models/systemmessage.py:
- id: 2e15bb043753
- last_write_checksum: sha1:8ec96bfc0533414a698d92387021cac116eadade
- pristine_git_object: f99bf4ffb112b068159a3b95bc99ec7ce91b3f7d
- src/mistralai_azure/models/systemmessagecontentchunks.py:
- id: b6d9a4838359
- last_write_checksum: sha1:1e3f4688317d10f207dd42ef39cf2ac8f6042e54
- pristine_git_object: 4615a16cf39496dffc4982c6f0552d8bf353e280
- src/mistralai_azure/models/textchunk.py:
- id: c169e3f0ffc9
- last_write_checksum: sha1:6cb623bafd4005e527dca9b908bb9f4b371342da
- pristine_git_object: 5845456e5ca3089bcb551112408a0de84c597a91
- src/mistralai_azure/models/thinkchunk.py:
- id: b1b9aeee4dcf
- last_write_checksum: sha1:d15b39ef3e12195183664c32854233b9410d565b
- pristine_git_object: f53a9f1ad2e6f124a36c9fb9be65bc09dbfbff4b
- src/mistralai_azure/models/tool.py:
- id: 99c8106f5428
- last_write_checksum: sha1:6142383805723bbc2b22f1bfcc660288378d1e42
- pristine_git_object: c91deec28488062a0220af41492fdfb34330e7a4
- src/mistralai_azure/models/toolcall.py:
- id: 3643db1054cd
- last_write_checksum: sha1:9b095f1efe1ea554cfacbc4a8e0c59b1c57d7f32
- pristine_git_object: 44fe8ec86b8f31ad8ee9591ae49036e8caa9ac41
- src/mistralai_azure/models/toolchoice.py:
- id: 669768b7cbda
- last_write_checksum: sha1:1217d8186e64d16f4c369079c62e3ac466726c60
- pristine_git_object: 93b4b7fe72f05a2ece9fed08a83139f4510b2574
- src/mistralai_azure/models/toolchoiceenum.py:
- id: 5f7df8457771
+ src/mistralai/azure/client/models/responsevalidationerror.py:
+ id: afdb9463b434
+ last_write_checksum: sha1:26f01befeb347a63928012e7eb36c95a8a392145
+ pristine_git_object: cbdffcbba45a988805cdd52d111e77b0ca777dbf
+ src/mistralai/azure/client/models/sdkerror.py:
+ id: 4601c7297af7
+ last_write_checksum: sha1:b54041f9751e1f2a38dd02a6f8eadb3907fa3df0
+ pristine_git_object: a1e9aacaa2fcc839dcb2638788dd7c94298adee7
+ src/mistralai/azure/client/models/security.py:
+ id: 4a2e4760ec08
+ last_write_checksum: sha1:0cd2ae54cecd88cfd8d43e92c0d3da7efa48942c
+ pristine_git_object: 9b83ba98336090bed89fbeda40b4a07b212a1106
+ src/mistralai/azure/client/models/systemmessage.py:
+ id: 8fa0dee9e4e1
+ last_write_checksum: sha1:2b52c44b92a098b559ec8b7a80449532169cd317
+ pristine_git_object: 38c280c809148e190e329619858718d132da6bc0
+ src/mistralai/azure/client/models/systemmessagecontentchunks.py:
+ id: 5918e770869d
+ last_write_checksum: sha1:55529f2f29ba3087fbf117dbbe64e1dda92b2958
+ pristine_git_object: 225f38b712f5f3c7abfd526cc8c0386687814f36
+ src/mistralai/azure/client/models/textchunk.py:
+ id: 9c81c76a6325
+ last_write_checksum: sha1:d1c9eaffeb80299f023351dc8d07eb53e49133f2
+ pristine_git_object: e513c1434cc7a4766bb9ef039ad8eed2bf0c12ca
+ src/mistralai/azure/client/models/thinkchunk.py:
+ id: df6bbd55b3eb
+ last_write_checksum: sha1:f24c6a05f4190b7897acbb414d21a7f76e90a0e0
+ pristine_git_object: 18c774820628f195e292f994433324efc601769e
+ src/mistralai/azure/client/models/tool.py:
+ id: 4075ef72c086
+ last_write_checksum: sha1:0c041eaa008ee1851e05bf90e57602c0338f362f
+ pristine_git_object: 169305bc4c538e88b1e0cf1120aa10e424118880
+ src/mistralai/azure/client/models/toolcall.py:
+ id: c65e6f79e539
+ last_write_checksum: sha1:dd2290e019322e9df73b119e054a1d738eb5f3ba
+ pristine_git_object: a589b1b38ef4caaba2753f8335228bc16cd68961
+ src/mistralai/azure/client/models/toolchoice.py:
+ id: c25062b5de34
+ last_write_checksum: sha1:db82f8d3f811461226cffbeacf2699103a5e0689
+ pristine_git_object: 1f623222084f12eaa63f2cea656dc7da10b12a3a
+ src/mistralai/azure/client/models/toolchoiceenum.py:
+ id: cc06ba3a8d21
last_write_checksum: sha1:3dbba9a58c5569aafe115f3f7713a52b01ad8620
pristine_git_object: 01f6f677b379f9e3c99db9d1ad248cb0033a2804
- src/mistralai_azure/models/toolmessage.py:
- id: 1d9845bf98b3
- last_write_checksum: sha1:52bd15280bcae27ec7ba6a1c64b15648de5b0868
- pristine_git_object: 4bc5c9a9b509fdb89a4cf5ce81231189bf46bab4
- src/mistralai_azure/models/tooltypes.py:
- id: 34c499f03e21
- last_write_checksum: sha1:f060bd3aebf7d42c1066c543c47cfa020e61eb27
- pristine_git_object: 638890c589ee642fd0a43e00337505e53ea3ec3a
- src/mistralai_azure/models/usageinfo.py:
- id: 59a5033672bf
- last_write_checksum: sha1:7d0e7a483331077309b78e035cab9d65e87d3f65
- pristine_git_object: bbe5cdfaae260df81e93da11d05a1ba55ecbe329
- src/mistralai_azure/models/usermessage.py:
- id: c54119314021
- last_write_checksum: sha1:b45f38755a96b07100baf5149631f366009e701f
- pristine_git_object: 85fedb4bd1bcf64f69e4ead5310cf3fb354a6e3c
- src/mistralai_azure/models/validationerror.py:
- id: 83cd7bfd6d92
- last_write_checksum: sha1:250ed57498dabd11c0e2b6d255969e0285bb4214
- pristine_git_object: 4caff4a6b74aeb322bf42cd2070b7bd576ca834a
- src/mistralai_azure/ocr.py:
- id: 77e2e0f594ad
- last_write_checksum: sha1:7daae9b0c14093d6d0bc0258b0bce008cb845a1e
- pristine_git_object: 31e27f6eaa6dcc2b8450656d4a59dd4a7a50a29a
- src/mistralai_azure/py.typed:
- id: 98df238e554c
+ src/mistralai/azure/client/models/toolmessage.py:
+ id: 84ac736fa955
+ last_write_checksum: sha1:db1034d83cfcc6073682f7368a5e72703c3d88c7
+ pristine_git_object: 6e9a790367cfabebc641f73308d4d296c4ca0954
+ src/mistralai/azure/client/models/tooltypes.py:
+ id: fa881b046d34
+ last_write_checksum: sha1:cd28ddc02fff9a5abbb59c82fe9e0dcbdb9b6d2a
+ pristine_git_object: 1cce7446f2772b998208ea1c78c7969e3881d5d0
+ src/mistralai/azure/client/models/usageinfo.py:
+ id: 3edc9c81b329
+ last_write_checksum: sha1:0b2117285b13d846a25c6c59436c4628b9d84a03
+ pristine_git_object: 19a6b09fb63a3732719c45f8dfca92cfc2c57353
+ src/mistralai/azure/client/models/usermessage.py:
+ id: 3796508adc07
+ last_write_checksum: sha1:f4baa9d8b8f99f715873cea83191baf055c3296a
+ pristine_git_object: 96439c64a979ac3edf8900d39154d706846a3a95
+ src/mistralai/azure/client/models/validationerror.py:
+ id: f2b84813e2ea
+ last_write_checksum: sha1:f0f9706a5af2ac4f6b234e768fdd492bbdd8a18c
+ pristine_git_object: 817ecf7a56470369ccacd0f5e0bb739656a5f92c
+ src/mistralai/azure/client/ocr.py:
+ id: 5817c10c9297
+ last_write_checksum: sha1:24fec22877024154ea417e31ea443b4795c443ba
+ pristine_git_object: 098e764b6580e35ad0e81242ca601ce821656ee9
+ src/mistralai/azure/client/py.typed:
+ id: e88369f116d2
last_write_checksum: sha1:8efc425ffe830805ffcc0f3055871bdcdc542c60
pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544
- src/mistralai_azure/sdkconfiguration.py:
- id: 476a4f9e2f3e
- last_write_checksum: sha1:6b117889b46a546be6e949c1bf843834ceff7417
- pristine_git_object: 51289cf05559ba32dd17e45fab78df4a8697063f
- src/mistralai_azure/types/__init__.py:
- id: d761bb7a67a5
+ src/mistralai/azure/client/sdk.py:
+ id: 3b0f78fbc4cf
+ last_write_checksum: sha1:cfd60e4bbc0c19f8d5fdf61eb4544e0380be7f38
+ pristine_git_object: 879c841d8ff3d26c4bc06f286fcbb1992ed12185
+ src/mistralai/azure/client/sdkconfiguration.py:
+ id: 602f74633eed
+ last_write_checksum: sha1:163fe779949725d81181f39b70d6922fc2cb8099
+ pristine_git_object: 919225f9bf2e4315f879f0da6c7f8b3e6157bd58
+ src/mistralai/azure/client/types/__init__.py:
+ id: f79033f78412
last_write_checksum: sha1:140ebdd01a46f92ffc710c52c958c4eba3cf68ed
pristine_git_object: fc76fe0c5505e29859b5d2bb707d48fd27661b8c
- src/mistralai_azure/types/basemodel.py:
- id: 68c97875efb7
+ src/mistralai/azure/client/types/basemodel.py:
+ id: fd244927c80c
last_write_checksum: sha1:10d84aedeb9d35edfdadf2c3020caa1d24d8b584
pristine_git_object: a9a640a1a7048736383f96c67c6290c86bf536ee
- src/mistralai_azure/utils/__init__.py:
- id: 3c68abef839b
+ src/mistralai/azure/client/utils/__init__.py:
+ id: 26f1a707325b
last_write_checksum: sha1:887f56a717845fab7445cc368d2a17d850c3565a
pristine_git_object: 05f26ade57efb8c54a774fbcb939fb1a7dc655ce
- src/mistralai_azure/utils/annotations.py:
- id: 476ee839718f
+ src/mistralai/azure/client/utils/annotations.py:
+ id: bb1f6c189fdb
last_write_checksum: sha1:a4824ad65f730303e4e1e3ec1febf87b4eb46dbc
pristine_git_object: 12e0aa4f1151bb52474cc02e88397329b90703f6
- src/mistralai_azure/utils/datetimes.py:
- id: e9faf3b28c48
+ src/mistralai/azure/client/utils/datetimes.py:
+ id: 2b7db09ee0ab
last_write_checksum: sha1:c721e4123000e7dc61ec52b28a739439d9e17341
pristine_git_object: a6c52cd61bbe2d459046c940ce5e8c469f2f0664
- src/mistralai_azure/utils/enums.py:
- id: 4d10693bf655
+ src/mistralai/azure/client/utils/enums.py:
+ id: ffbdb1917a68
last_write_checksum: sha1:bc8c3c1285ae09ba8a094ee5c3d9c7f41fa1284d
pristine_git_object: 3324e1bc2668c54c4d5f5a1a845675319757a828
- src/mistralai_azure/utils/eventstreaming.py:
- id: 5f5e90529fd7
+ src/mistralai/azure/client/utils/eventstreaming.py:
+ id: bdc37b70360c
last_write_checksum: sha1:bababae5d54b7efc360db701daa49e18a92c2f3b
pristine_git_object: 0969899bfc491e5e408d05643525f347ea95e4fc
- src/mistralai_azure/utils/forms.py:
- id: 91c3fe9ba311
+ src/mistralai/azure/client/utils/forms.py:
+ id: 51696122c557
last_write_checksum: sha1:15fa7e9ab1611e062a9984cf06cb20969713d295
pristine_git_object: f961e76beaf0a8b1fe0dda44754a74eebd3608e7
- src/mistralai_azure/utils/headers.py:
- id: d37ef2f03e41
+ src/mistralai/azure/client/utils/headers.py:
+ id: e42840c8cb13
last_write_checksum: sha1:7c6df233ee006332b566a8afa9ce9a245941d935
pristine_git_object: 37864cbbbc40d1a47112bbfdd3ba79568fc8818a
- src/mistralai_azure/utils/logger.py:
- id: 9122a46617cc
+ src/mistralai/azure/client/utils/logger.py:
+ id: 9db88755a137
last_write_checksum: sha1:f3fdb154a3f09b8cc43d74c7e9c02f899f8086e4
pristine_git_object: b661aff65d38b77d035149699aea09b2785d2fc6
- src/mistralai_azure/utils/metadata.py:
- id: 2d93fa8523eb
+ src/mistralai/azure/client/utils/metadata.py:
+ id: 44f85bd3b2e2
last_write_checksum: sha1:c6a560bd0c63ab158582f34dadb69433ea73b3d4
pristine_git_object: 173b3e5ce658675c2f504222a56b3daaaa68107d
- src/mistralai_azure/utils/queryparams.py:
- id: dfd31ba97c2b
+ src/mistralai/azure/client/utils/queryparams.py:
+ id: ec1c03114156
last_write_checksum: sha1:b94c3f314fd3da0d1d215afc2731f48748e2aa59
pristine_git_object: c04e0db82b68eca041f2cb2614d748fbac80fd41
- src/mistralai_azure/utils/requestbodies.py:
- id: c91db641d5b9
+ src/mistralai/azure/client/utils/requestbodies.py:
+ id: 1030c47d624d
last_write_checksum: sha1:41e2d2d2d3ecc394c8122ca4d4b85e1c3e03f054
pristine_git_object: 1de32b6d26f46590232f398fdba6ce0072f1659c
- src/mistralai_azure/utils/retries.py:
- id: 6f0cd9f6169d
+ src/mistralai/azure/client/utils/retries.py:
+ id: d50ed6e400b2
last_write_checksum: sha1:5b97ac4f59357d70c2529975d50364c88bcad607
pristine_git_object: 88a91b10cd2076b4a2c6cff2ac6bfaa5e3c5ad13
- src/mistralai_azure/utils/security.py:
- id: "270040388028"
+ src/mistralai/azure/client/utils/security.py:
+ id: 1d35741ce5f1
last_write_checksum: sha1:a17130ace2c0db6394f38dd941ad2b700cc755c8
pristine_git_object: 295a3f40031dbb40073ad227fd4a355660f97ab2
- src/mistralai_azure/utils/serializers.py:
- id: 595ddab03803
+ src/mistralai/azure/client/utils/serializers.py:
+ id: a1f26d73c3ad
last_write_checksum: sha1:ce1d8d7f500a9ccba0aeca5057cee9c271f4dfd7
pristine_git_object: 14321eb479de81d0d9580ec8291e0ff91bf29e57
- src/mistralai_azure/utils/unmarshal_json_response.py:
- id: bde89a892417
- last_write_checksum: sha1:d2ce9e3478b38e54e4bb3a43610ee0bab00c2e27
- pristine_git_object: f5813119b559442ee85c0b310765db3866bfa09d
- src/mistralai_azure/utils/url.py:
- id: 080c62716b06
+ src/mistralai/azure/client/utils/unmarshal_json_response.py:
+ id: 947f4fc4db62
+ last_write_checksum: sha1:99bd357d24d2236e3974630d9bd18bae22610cbc
+ pristine_git_object: 5317ac87097ccb35628202cf7fc5cb21e186855f
+ src/mistralai/azure/client/utils/url.py:
+ id: 4976c88d0e3b
last_write_checksum: sha1:6479961baa90432ca25626f8e40a7bbc32e73b41
pristine_git_object: c78ccbae426ce6d385709d97ce0b1c2813ea2418
- src/mistralai_azure/utils/values.py:
- id: 640889083cda
+ src/mistralai/azure/client/utils/values.py:
+ id: 3974a1553447
last_write_checksum: sha1:acaa178a7c41ddd000f58cc691e4632d925b2553
pristine_git_object: dae01a44384ac3bc13ae07453a053bf6c898ebe3
examples:
diff --git a/packages/mistralai_azure/.speakeasy/gen.yaml b/packages/mistralai_azure/.speakeasy/gen.yaml
index e2be4d84..729cdfcf 100644
--- a/packages/mistralai_azure/.speakeasy/gen.yaml
+++ b/packages/mistralai_azure/.speakeasy/gen.yaml
@@ -8,11 +8,13 @@ generation:
useClassNamesForArrayFields: true
fixes:
nameResolutionDec2023: true
- nameResolutionFeb2025: false
+ nameResolutionFeb2025: true
parameterOrderingFeb2024: true
requestResponseComponentNamesFeb2024: true
- securityFeb2025: false
- sharedErrorComponentsApr2025: false
+ securityFeb2025: true
+ sharedErrorComponentsApr2025: true
+ methodSignaturesApr2024: true
+ sharedNestedComponentsJan2026: true
auth:
oAuth2ClientCredentialsEnabled: true
oAuth2PasswordEnabled: false
@@ -26,7 +28,7 @@ generation:
generateNewTests: false
skipResponseBodyAssertions: false
python:
- version: 1.8.1
+ version: 2.0.0a4
additionalDependencies:
dev:
pytest: ^8.2.2
@@ -45,10 +47,13 @@ python:
enableCustomCodeRegions: false
enumFormat: union
fixFlags:
- responseRequiredSep2024: false
+ responseRequiredSep2024: true
+ flatAdditionalProperties: true
flattenGlobalSecurity: true
flattenRequests: true
flatteningOrder: parameters-first
+ forwardCompatibleEnumsByDefault: true
+ forwardCompatibleUnionsByDefault: tagged-only
imports:
option: openapi
paths:
@@ -62,12 +67,12 @@ python:
license: ""
maxMethodParams: 15
methodArguments: infer-optional-args
- moduleName: ""
+ moduleName: mistralai.azure.client
multipartArrayFormat: legacy
outputModelSuffix: output
packageManager: uv
- packageName: mistralai_azure
- preApplyUnionDiscriminators: false
+ packageName: mistralai-azure
+ preApplyUnionDiscriminators: true
pytestFilterWarnings: []
pytestTimeout: 0
responseFormat: flat
diff --git a/packages/mistralai_azure/README.md b/packages/mistralai_azure/README.md
index f869b90a..05872306 100644
--- a/packages/mistralai_azure/README.md
+++ b/packages/mistralai_azure/README.md
@@ -26,12 +26,12 @@ This example shows how to create chat completions.
```python
# Synchronous Example
-from mistralai_azure import MistralAzure
+from mistralai.azure.client import MistralAzure
import os
s = MistralAzure(
- azure_api_key=os.getenv("AZURE_API_KEY", ""),
- azure_endpoint=os.getenv("AZURE_ENDPOINT", "")
+ api_key=os.getenv("AZURE_API_KEY", ""),
+ server_url=os.getenv("AZURE_ENDPOINT", "")
)
@@ -56,13 +56,13 @@ The same SDK client can also be used to make asychronous requests by importing a
```python
# Asynchronous Example
import asyncio
-from mistralai_azure import MistralAzure
+from mistralai.azure.client import MistralAzure
import os
async def main():
s = MistralAzure(
- azure_api_key=os.getenv("AZURE_API_KEY", ""),
- azure_endpoint=os.getenv("AZURE_ENDPOINT", "")
+ api_key=os.getenv("AZURE_API_KEY", ""),
+ server_url=os.getenv("AZURE_ENDPOINT", "")
)
res = await s.chat.complete_async(
messages=[
@@ -100,12 +100,12 @@ terminate when the server no longer has any events to send and closes the
underlying connection.
```python
-from mistralai_azure import MistralAzure
+from mistralai.azure.client import MistralAzure
import os
s = MistralAzure(
- azure_api_key=os.getenv("AZURE_API_KEY", ""),
- azure_endpoint=os.getenv("AZURE_ENDPOINT", "")
+ api_key=os.getenv("AZURE_API_KEY", ""),
+ server_url=os.getenv("AZURE_ENDPOINT", "")
)
@@ -137,13 +137,13 @@ Some of the endpoints in this SDK support retries. If you use the SDK without an
To change the default retry strategy for a single API call, simply provide a `RetryConfig` object to the call:
```python
-from mistralai_azure import MistralAzure
-from mistralazure.utils import BackoffStrategy, RetryConfig
+from mistralai.azure.client import MistralAzure
+from mistralai.azure.client.utils import BackoffStrategy, RetryConfig
import os
s = MistralAzure(
- azure_api_key=os.getenv("AZURE_API_KEY", ""),
- azure_endpoint=os.getenv("AZURE_ENDPOINT", "")
+ api_key=os.getenv("AZURE_API_KEY", ""),
+ server_url=os.getenv("AZURE_ENDPOINT", "")
)
@@ -164,14 +164,14 @@ if res is not None:
If you'd like to override the default retry strategy for all operations that support retries, you can use the `retry_config` optional parameter when initializing the SDK:
```python
-from mistralai_azure import MistralAzure
-from mistralazure.utils import BackoffStrategy, RetryConfig
+from mistralai.azure.client import MistralAzure
+from mistralai.azure.client.utils import BackoffStrategy, RetryConfig
import os
s = MistralAzure(
retry_config=RetryConfig("backoff", BackoffStrategy(1, 50, 1.1, 100), False),
- azure_api_key=os.getenv("AZURE_API_KEY", ""),
- azure_endpoint=os.getenv("AZURE_ENDPOINT", "")
+ api_key=os.getenv("AZURE_API_KEY", ""),
+ server_url=os.getenv("AZURE_ENDPOINT", "")
)
@@ -203,12 +203,13 @@ Handling errors in this SDK should largely match your expectations. All operati
### Example
```python
-from mistralai_azure import MistralAzure, models
+from mistralai.azure.client import MistralAzure
+from mistralai.azure.client import models
import os
s = MistralAzure(
- azure_api_key=os.getenv("AZURE_API_KEY", ""),
- azure_endpoint=os.getenv("AZURE_ENDPOINT", "")
+ api_key=os.getenv("AZURE_API_KEY", ""),
+ server_url=os.getenv("AZURE_ENDPOINT", "")
)
res = None
@@ -248,13 +249,13 @@ You can override the default server globally by passing a server name to the `se
#### Example
```python
-from mistralai_azure import MistralAzure
+from mistralai.azure.client import MistralAzure
import os
s = MistralAzure(
server="prod",
- azure_api_key=os.getenv("AZURE_API_KEY", ""),
- azure_endpoint=os.getenv("AZURE_ENDPOINT", "")
+ api_key=os.getenv("AZURE_API_KEY", ""),
+ server_url=os.getenv("AZURE_ENDPOINT", "")
)
@@ -277,13 +278,13 @@ if res is not None:
The default server can also be overridden globally by passing a URL to the `server_url: str` optional parameter when initializing the SDK client instance. For example:
```python
-from mistralai_azure import MistralAzure
+from mistralai.azure.client import MistralAzure
import os
s = MistralAzure(
server_url="https://api.mistral.ai",
- azure_api_key=os.getenv("AZURE_API_KEY", ""),
- azure_endpoint=os.getenv("AZURE_ENDPOINT", "")
+ api_key=os.getenv("AZURE_API_KEY", ""),
+ server_url=os.getenv("AZURE_ENDPOINT", "")
)
@@ -311,7 +312,7 @@ This allows you to wrap the client with your own custom logic, such as adding cu
For example, you could specify a header for every request that this sdk makes as follows:
```python
-from mistralai_azure import MistralAzure
+from mistralai.azure.client import MistralAzure
import httpx
http_client = httpx.Client(headers={"x-custom-header": "someValue"})
@@ -320,8 +321,8 @@ s = MistralAzure(client=http_client)
or you could wrap the client with your own custom logic:
```python
-from mistralai_azure import MistralAzure
-from mistralai_azure.httpclient import AsyncHttpClient
+from mistralai.azure.client import MistralAzure
+from mistralai.azure.client.httpclient import AsyncHttpClient
import httpx
class CustomClient(AsyncHttpClient):
@@ -396,12 +397,12 @@ This SDK supports the following security scheme globally:
To authenticate with the API the `api_key` parameter must be set when initializing the SDK client instance. For example:
```python
-from mistralai_azure import MistralAzure
+from mistralai.azure.client import MistralAzure
import os
s = MistralAzure(
- azure_api_key=os.getenv("AZURE_API_KEY", ""),
- azure_endpoint=os.getenv("AZURE_ENDPOINT", "")
+ api_key=os.getenv("AZURE_API_KEY", ""),
+ server_url=os.getenv("AZURE_ENDPOINT", "")
)
diff --git a/packages/mistralai_azure/USAGE.md b/packages/mistralai_azure/USAGE.md
index 0ccf3d70..0f90c161 100644
--- a/packages/mistralai_azure/USAGE.md
+++ b/packages/mistralai_azure/USAGE.md
@@ -5,12 +5,12 @@ This example shows how to create chat completions.
```python
# Synchronous Example
-from mistralai_azure import MistralAzure
+from mistralai.azure.client import MistralAzure
import os
s = MistralAzure(
- azure_api_key=os.getenv("AZURE_API_KEY", ""),
- azure_endpoint=os.getenv("AZURE_ENDPOINT", "")
+ api_key=os.getenv("AZURE_API_KEY", ""),
+ server_url=os.getenv("AZURE_ENDPOINT", "")
)
@@ -32,13 +32,13 @@ The same SDK client can also be used to make asychronous requests by importing a
```python
# Asynchronous Example
import asyncio
-from mistralai_azure import MistralAzure
+from mistralai.azure.client import MistralAzure
import os
async def main():
s = MistralAzure(
- azure_api_key=os.getenv("AZURE_API_KEY", ""),
- azure_endpoint=os.getenv("AZURE_ENDPOINT", "")
+ api_key=os.getenv("AZURE_API_KEY", ""),
+ server_url=os.getenv("AZURE_ENDPOINT", "")
)
res = await s.chat.complete_async(messages=[
{
diff --git a/packages/mistralai_azure/docs/models/assistantmessage.md b/packages/mistralai_azure/docs/models/assistantmessage.md
index 3d0bd90b..1ca5ac82 100644
--- a/packages/mistralai_azure/docs/models/assistantmessage.md
+++ b/packages/mistralai_azure/docs/models/assistantmessage.md
@@ -8,4 +8,4 @@
| `content` | [OptionalNullable[models.AssistantMessageContent]](../models/assistantmessagecontent.md) | :heavy_minus_sign: | N/A |
| `tool_calls` | List[[models.ToolCall](../models/toolcall.md)] | :heavy_minus_sign: | N/A |
| `prefix` | *Optional[bool]* | :heavy_minus_sign: | Set this to `true` when adding an assistant message as prefix to condition the model response. The role of the prefix message is to force the model to start its answer by the content of the message. |
-| `role` | [Optional[models.AssistantMessageRole]](../models/assistantmessagerole.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `role` | [Optional[models.RoleEnum]](../models/roleenum.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/packages/mistralai_azure/docs/models/chatcompletionrequest.md b/packages/mistralai_azure/docs/models/chatcompletionrequest.md
index 104a1f96..3b0f7270 100644
--- a/packages/mistralai_azure/docs/models/chatcompletionrequest.md
+++ b/packages/mistralai_azure/docs/models/chatcompletionrequest.md
@@ -13,7 +13,7 @@
| `stop` | [Optional[models.ChatCompletionRequestStop]](../models/chatcompletionrequeststop.md) | :heavy_minus_sign: | Stop generation if this token is detected. Or if one of these tokens is detected when providing an array | |
| `random_seed` | *OptionalNullable[int]* | :heavy_minus_sign: | The seed to use for random sampling. If set, different calls will generate deterministic results. | |
| `metadata` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |
-| `messages` | List[[models.ChatCompletionRequestMessages](../models/chatcompletionrequestmessages.md)] | :heavy_check_mark: | The prompt(s) to generate completions for, encoded as a list of dict with role and content. | [
{
"role": "user",
"content": "Who is the best French painter? Answer in one short sentence."
}
] |
+| `messages` | List[[models.ChatCompletionRequestMessage](../models/chatcompletionrequestmessage.md)] | :heavy_check_mark: | The prompt(s) to generate completions for, encoded as a list of dict with role and content. | [
{
"role": "user",
"content": "Who is the best French painter? Answer in one short sentence."
}
] |
| `response_format` | [Optional[models.ResponseFormat]](../models/responseformat.md) | :heavy_minus_sign: | Specify the format that the model must output. By default it will use `{ "type": "text" }`. Setting to `{ "type": "json_object" }` enables JSON mode, which guarantees the message the model generates is in JSON. When using JSON mode you MUST also instruct the model to produce JSON yourself with a system or a user message. Setting to `{ "type": "json_schema" }` enables JSON schema mode, which guarantees the message the model generates is in JSON and follows the schema you provide. | {
"type": "text"
} |
| `tools` | List[[models.Tool](../models/tool.md)] | :heavy_minus_sign: | A list of tools the model may call. Use this to provide a list of functions the model may generate JSON inputs for. | |
| `tool_choice` | [Optional[models.ChatCompletionRequestToolChoice]](../models/chatcompletionrequesttoolchoice.md) | :heavy_minus_sign: | Controls which (if any) tool is called by the model. `none` means the model will not call any tool and instead generates a message. `auto` means the model can pick between generating a message or calling one or more tools. `any` or `required` means the model must call one or more tools. Specifying a particular tool via `{"type": "function", "function": {"name": "my_function"}}` forces the model to call that tool. | |
diff --git a/packages/mistralai_azure/docs/models/messages.md b/packages/mistralai_azure/docs/models/chatcompletionrequestmessage.md
similarity index 92%
rename from packages/mistralai_azure/docs/models/messages.md
rename to packages/mistralai_azure/docs/models/chatcompletionrequestmessage.md
index 1d394500..91e9e062 100644
--- a/packages/mistralai_azure/docs/models/messages.md
+++ b/packages/mistralai_azure/docs/models/chatcompletionrequestmessage.md
@@ -1,4 +1,4 @@
-# Messages
+# ChatCompletionRequestMessage
## Supported Types
diff --git a/packages/mistralai_azure/docs/models/chatcompletionstreamrequest.md b/packages/mistralai_azure/docs/models/chatcompletionstreamrequest.md
index 85f237b4..f78156a6 100644
--- a/packages/mistralai_azure/docs/models/chatcompletionstreamrequest.md
+++ b/packages/mistralai_azure/docs/models/chatcompletionstreamrequest.md
@@ -10,10 +10,10 @@
| `top_p` | *Optional[float]* | :heavy_minus_sign: | Nucleus sampling, where the model considers the results of the tokens with `top_p` probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. We generally recommend altering this or `temperature` but not both. | |
| `max_tokens` | *OptionalNullable[int]* | :heavy_minus_sign: | The maximum number of tokens to generate in the completion. The token count of your prompt plus `max_tokens` cannot exceed the model's context length. | |
| `stream` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
-| `stop` | [Optional[models.Stop]](../models/stop.md) | :heavy_minus_sign: | Stop generation if this token is detected. Or if one of these tokens is detected when providing an array | |
+| `stop` | [Optional[models.ChatCompletionStreamRequestStop]](../models/chatcompletionstreamrequeststop.md) | :heavy_minus_sign: | Stop generation if this token is detected. Or if one of these tokens is detected when providing an array | |
| `random_seed` | *OptionalNullable[int]* | :heavy_minus_sign: | The seed to use for random sampling. If set, different calls will generate deterministic results. | |
| `metadata` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |
-| `messages` | List[[models.Messages](../models/messages.md)] | :heavy_check_mark: | The prompt(s) to generate completions for, encoded as a list of dict with role and content. | [
{
"role": "user",
"content": "Who is the best French painter? Answer in one short sentence."
}
] |
+| `messages` | List[[models.ChatCompletionStreamRequestMessage](../models/chatcompletionstreamrequestmessage.md)] | :heavy_check_mark: | The prompt(s) to generate completions for, encoded as a list of dict with role and content. | [
{
"role": "user",
"content": "Who is the best French painter? Answer in one short sentence."
}
] |
| `response_format` | [Optional[models.ResponseFormat]](../models/responseformat.md) | :heavy_minus_sign: | Specify the format that the model must output. By default it will use `{ "type": "text" }`. Setting to `{ "type": "json_object" }` enables JSON mode, which guarantees the message the model generates is in JSON. When using JSON mode you MUST also instruct the model to produce JSON yourself with a system or a user message. Setting to `{ "type": "json_schema" }` enables JSON schema mode, which guarantees the message the model generates is in JSON and follows the schema you provide. | {
"type": "text"
} |
| `tools` | List[[models.Tool](../models/tool.md)] | :heavy_minus_sign: | A list of tools the model may call. Use this to provide a list of functions the model may generate JSON inputs for. | |
| `tool_choice` | [Optional[models.ChatCompletionStreamRequestToolChoice]](../models/chatcompletionstreamrequesttoolchoice.md) | :heavy_minus_sign: | Controls which (if any) tool is called by the model. `none` means the model will not call any tool and instead generates a message. `auto` means the model can pick between generating a message or calling one or more tools. `any` or `required` means the model must call one or more tools. Specifying a particular tool via `{"type": "function", "function": {"name": "my_function"}}` forces the model to call that tool. | |
diff --git a/packages/mistralai_gcp/docs/models/chatcompletionrequestmessages.md b/packages/mistralai_azure/docs/models/chatcompletionstreamrequestmessage.md
similarity index 91%
rename from packages/mistralai_gcp/docs/models/chatcompletionrequestmessages.md
rename to packages/mistralai_azure/docs/models/chatcompletionstreamrequestmessage.md
index bc7708a6..2e4e93ac 100644
--- a/packages/mistralai_gcp/docs/models/chatcompletionrequestmessages.md
+++ b/packages/mistralai_azure/docs/models/chatcompletionstreamrequestmessage.md
@@ -1,4 +1,4 @@
-# ChatCompletionRequestMessages
+# ChatCompletionStreamRequestMessage
## Supported Types
diff --git a/packages/mistralai_gcp/docs/models/stop.md b/packages/mistralai_azure/docs/models/chatcompletionstreamrequeststop.md
similarity index 88%
rename from packages/mistralai_gcp/docs/models/stop.md
rename to packages/mistralai_azure/docs/models/chatcompletionstreamrequeststop.md
index ba40ca83..a48460a9 100644
--- a/packages/mistralai_gcp/docs/models/stop.md
+++ b/packages/mistralai_azure/docs/models/chatcompletionstreamrequeststop.md
@@ -1,4 +1,4 @@
-# Stop
+# ChatCompletionStreamRequestStop
Stop generation if this token is detected. Or if one of these tokens is detected when providing an array
diff --git a/packages/mistralai_azure/docs/models/completionresponsestreamchoice.md b/packages/mistralai_azure/docs/models/completionresponsestreamchoice.md
index c807dacd..1532c25b 100644
--- a/packages/mistralai_azure/docs/models/completionresponsestreamchoice.md
+++ b/packages/mistralai_azure/docs/models/completionresponsestreamchoice.md
@@ -3,8 +3,8 @@
## Fields
-| Field | Type | Required | Description |
-| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- |
-| `index` | *int* | :heavy_check_mark: | N/A |
-| `delta` | [models.DeltaMessage](../models/deltamessage.md) | :heavy_check_mark: | N/A |
-| `finish_reason` | [Nullable[models.FinishReason]](../models/finishreason.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| Field | Type | Required | Description |
+| ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
+| `index` | *int* | :heavy_check_mark: | N/A |
+| `delta` | [models.DeltaMessage](../models/deltamessage.md) | :heavy_check_mark: | N/A |
+| `finish_reason` | [Nullable[models.CompletionResponseStreamChoiceFinishReason]](../models/completionresponsestreamchoicefinishreason.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/packages/mistralai_azure/docs/models/finishreason.md b/packages/mistralai_azure/docs/models/completionresponsestreamchoicefinishreason.md
similarity index 81%
rename from packages/mistralai_azure/docs/models/finishreason.md
rename to packages/mistralai_azure/docs/models/completionresponsestreamchoicefinishreason.md
index 45a5aedb..0fece473 100644
--- a/packages/mistralai_azure/docs/models/finishreason.md
+++ b/packages/mistralai_azure/docs/models/completionresponsestreamchoicefinishreason.md
@@ -1,4 +1,4 @@
-# FinishReason
+# CompletionResponseStreamChoiceFinishReason
## Values
diff --git a/packages/mistralai_azure/docs/models/deltamessage.md b/packages/mistralai_azure/docs/models/deltamessage.md
index 61deabbf..e0ee575f 100644
--- a/packages/mistralai_azure/docs/models/deltamessage.md
+++ b/packages/mistralai_azure/docs/models/deltamessage.md
@@ -3,8 +3,8 @@
## Fields
-| Field | Type | Required | Description |
-| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- |
-| `role` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
-| `content` | [OptionalNullable[models.Content]](../models/content.md) | :heavy_minus_sign: | N/A |
-| `tool_calls` | List[[models.ToolCall](../models/toolcall.md)] | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| Field | Type | Required | Description |
+| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
+| `role` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
+| `content` | [OptionalNullable[models.DeltaMessageContent]](../models/deltamessagecontent.md) | :heavy_minus_sign: | N/A |
+| `tool_calls` | List[[models.ToolCall](../models/toolcall.md)] | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/packages/mistralai_azure/docs/models/content.md b/packages/mistralai_azure/docs/models/deltamessagecontent.md
similarity index 89%
rename from packages/mistralai_azure/docs/models/content.md
rename to packages/mistralai_azure/docs/models/deltamessagecontent.md
index a833dc2c..8142772d 100644
--- a/packages/mistralai_azure/docs/models/content.md
+++ b/packages/mistralai_azure/docs/models/deltamessagecontent.md
@@ -1,4 +1,4 @@
-# Content
+# DeltaMessageContent
## Supported Types
diff --git a/packages/mistralai_azure/docs/models/imageurlchunk.md b/packages/mistralai_azure/docs/models/imageurlchunk.md
index f1b926ef..43078c78 100644
--- a/packages/mistralai_azure/docs/models/imageurlchunk.md
+++ b/packages/mistralai_azure/docs/models/imageurlchunk.md
@@ -7,5 +7,5 @@
| Field | Type | Required | Description |
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- |
-| `image_url` | [models.ImageURLChunkImageURL](../models/imageurlchunkimageurl.md) | :heavy_check_mark: | N/A |
+| `image_url` | [models.ImageURLUnion](../models/imageurlunion.md) | :heavy_check_mark: | N/A |
| `type` | [Optional[models.ImageURLChunkType]](../models/imageurlchunktype.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/packages/mistralai_gcp/docs/models/imageurlchunkimageurl.md b/packages/mistralai_azure/docs/models/imageurlunion.md
similarity index 86%
rename from packages/mistralai_gcp/docs/models/imageurlchunkimageurl.md
rename to packages/mistralai_azure/docs/models/imageurlunion.md
index 76738908..db97130f 100644
--- a/packages/mistralai_gcp/docs/models/imageurlchunkimageurl.md
+++ b/packages/mistralai_azure/docs/models/imageurlunion.md
@@ -1,4 +1,4 @@
-# ImageURLChunkImageURL
+# ImageURLUnion
## Supported Types
diff --git a/packages/mistralai_azure/docs/models/role.md b/packages/mistralai_azure/docs/models/role.md
deleted file mode 100644
index affca78d..00000000
--- a/packages/mistralai_azure/docs/models/role.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Role
-
-
-## Values
-
-| Name | Value |
-| -------- | -------- |
-| `SYSTEM` | system |
\ No newline at end of file
diff --git a/packages/mistralai_gcp/docs/models/assistantmessagerole.md b/packages/mistralai_azure/docs/models/roleenum.md
similarity index 81%
rename from packages/mistralai_gcp/docs/models/assistantmessagerole.md
rename to packages/mistralai_azure/docs/models/roleenum.md
index 658229e7..4213c18d 100644
--- a/packages/mistralai_gcp/docs/models/assistantmessagerole.md
+++ b/packages/mistralai_azure/docs/models/roleenum.md
@@ -1,4 +1,4 @@
-# AssistantMessageRole
+# RoleEnum
## Values
diff --git a/packages/mistralai_azure/docs/models/systemmessage.md b/packages/mistralai_azure/docs/models/systemmessage.md
index 0dba71c0..dfb0cd0b 100644
--- a/packages/mistralai_azure/docs/models/systemmessage.md
+++ b/packages/mistralai_azure/docs/models/systemmessage.md
@@ -6,4 +6,4 @@
| Field | Type | Required | Description |
| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- |
| `content` | [models.SystemMessageContent](../models/systemmessagecontent.md) | :heavy_check_mark: | N/A |
-| `role` | [Optional[models.Role]](../models/role.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `role` | *Literal["system"]* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/packages/mistralai_azure/docs/models/textchunk.md b/packages/mistralai_azure/docs/models/textchunk.md
index 6daab3c3..8521a2c1 100644
--- a/packages/mistralai_azure/docs/models/textchunk.md
+++ b/packages/mistralai_azure/docs/models/textchunk.md
@@ -3,7 +3,7 @@
## Fields
-| Field | Type | Required | Description |
-| ------------------------------------------ | ------------------------------------------ | ------------------------------------------ | ------------------------------------------ |
-| `text` | *str* | :heavy_check_mark: | N/A |
-| `type` | [Optional[models.Type]](../models/type.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `text` | *str* | :heavy_check_mark: | N/A |
+| `type` | *Literal["text"]* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/packages/mistralai_azure/docs/models/thinkchunk.md b/packages/mistralai_azure/docs/models/thinkchunk.md
index 66b2e0cd..07f6f7b1 100644
--- a/packages/mistralai_azure/docs/models/thinkchunk.md
+++ b/packages/mistralai_azure/docs/models/thinkchunk.md
@@ -7,4 +7,4 @@
| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| `thinking` | List[[models.Thinking](../models/thinking.md)] | :heavy_check_mark: | N/A |
| `closed` | *Optional[bool]* | :heavy_minus_sign: | Whether the thinking chunk is closed or not. Currently only used for prefixing. |
-| `type` | [Optional[models.ThinkChunkType]](../models/thinkchunktype.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `type` | *Literal["thinking"]* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/packages/mistralai_azure/docs/models/thinkchunktype.md b/packages/mistralai_azure/docs/models/thinkchunktype.md
deleted file mode 100644
index baf6f755..00000000
--- a/packages/mistralai_azure/docs/models/thinkchunktype.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# ThinkChunkType
-
-
-## Values
-
-| Name | Value |
-| ---------- | ---------- |
-| `THINKING` | thinking |
\ No newline at end of file
diff --git a/packages/mistralai_azure/docs/models/toolmessage.md b/packages/mistralai_azure/docs/models/toolmessage.md
index a54f4933..fa00d666 100644
--- a/packages/mistralai_azure/docs/models/toolmessage.md
+++ b/packages/mistralai_azure/docs/models/toolmessage.md
@@ -8,4 +8,4 @@
| `content` | [Nullable[models.ToolMessageContent]](../models/toolmessagecontent.md) | :heavy_check_mark: | N/A |
| `tool_call_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
| `name` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
-| `role` | [Optional[models.ToolMessageRole]](../models/toolmessagerole.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `role` | *Literal["tool"]* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/packages/mistralai_azure/docs/models/toolmessagerole.md b/packages/mistralai_azure/docs/models/toolmessagerole.md
deleted file mode 100644
index c24e59c0..00000000
--- a/packages/mistralai_azure/docs/models/toolmessagerole.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# ToolMessageRole
-
-
-## Values
-
-| Name | Value |
-| ------ | ------ |
-| `TOOL` | tool |
\ No newline at end of file
diff --git a/packages/mistralai_azure/docs/models/type.md b/packages/mistralai_azure/docs/models/type.md
deleted file mode 100644
index eb0581e7..00000000
--- a/packages/mistralai_azure/docs/models/type.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Type
-
-
-## Values
-
-| Name | Value |
-| ------ | ------ |
-| `TEXT` | text |
\ No newline at end of file
diff --git a/packages/mistralai_azure/docs/models/usermessage.md b/packages/mistralai_azure/docs/models/usermessage.md
index 63b01310..78ed066e 100644
--- a/packages/mistralai_azure/docs/models/usermessage.md
+++ b/packages/mistralai_azure/docs/models/usermessage.md
@@ -6,4 +6,4 @@
| Field | Type | Required | Description |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| `content` | [Nullable[models.UserMessageContent]](../models/usermessagecontent.md) | :heavy_check_mark: | N/A |
-| `role` | [Optional[models.UserMessageRole]](../models/usermessagerole.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `role` | *Literal["user"]* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/packages/mistralai_azure/docs/models/usermessagerole.md b/packages/mistralai_azure/docs/models/usermessagerole.md
deleted file mode 100644
index 171124e4..00000000
--- a/packages/mistralai_azure/docs/models/usermessagerole.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# UserMessageRole
-
-
-## Values
-
-| Name | Value |
-| ------ | ------ |
-| `USER` | user |
\ No newline at end of file
diff --git a/packages/mistralai_azure/docs/sdks/chat/README.md b/packages/mistralai_azure/docs/sdks/chat/README.md
index 26d20bb4..3c5e46b2 100644
--- a/packages/mistralai_azure/docs/sdks/chat/README.md
+++ b/packages/mistralai_azure/docs/sdks/chat/README.md
@@ -17,12 +17,12 @@ Mistral AI provides the ability to stream responses back to a client in order to
### Example Usage
```python
-from mistralai_azure import MistralAzure
+from mistralai.azure.client import MistralAzure
import os
s = MistralAzure(
- azure_api_key=os.getenv("AZURE_API_KEY", ""),
- azure_endpoint=os.getenv("AZURE_ENDPOINT", "")
+ api_key=os.getenv("AZURE_API_KEY", ""),
+ server_url=os.getenv("AZURE_ENDPOINT", "")
)
@@ -76,12 +76,12 @@ Chat Completion
### Example Usage
```python
-from mistralai_azure import MistralAzure
+from mistralai.azure.client import MistralAzure
import os
s = MistralAzure(
- azure_api_key=os.getenv("AZURE_API_KEY", ""),
- azure_endpoint=os.getenv("AZURE_ENDPOINT", "")
+ api_key=os.getenv("AZURE_API_KEY", ""),
+ server_url=os.getenv("AZURE_ENDPOINT", "")
)
diff --git a/packages/mistralai_azure/pyproject.toml b/packages/mistralai_azure/pyproject.toml
index d129a290..ba51cad1 100644
--- a/packages/mistralai_azure/pyproject.toml
+++ b/packages/mistralai_azure/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "mistralai_azure"
-version = "1.8.0"
+version = "2.0.0a4"
description = "Python Client SDK for the Mistral AI API in Azure."
authors = [{ name = "Mistral" }]
requires-python = ">=3.10"
@@ -21,20 +21,20 @@ dev = [
]
[tool.setuptools.package-data]
-"*" = ["py.typed", "src/mistralai_azure/py.typed"]
+"*" = ["py.typed", "src/mistralai/azure/client/py.typed"]
[tool.hatch.build.targets.sdist]
-include = ["src/mistralai_azure"]
+include = ["src/mistralai"]
[tool.hatch.build.targets.sdist.force-include]
"py.typed" = "py.typed"
-"src/mistralai_azure/py.typed" = "src/mistralai_azure/py.typed"
+"src/mistralai/azure/client/py.typed" = "src/mistralai/azure/client/py.typed"
[tool.hatch.build.targets.wheel]
-include = ["src/mistralai_azure"]
+include = ["src/mistralai"]
[tool.hatch.build.targets.wheel.sources]
-"src/mistralai_azure" = "mistralai_azure"
+"src" = ""
[virtualenvs]
in-project = true
diff --git a/packages/mistralai_azure/src/mistralai_azure/__init__.py b/packages/mistralai_azure/src/mistralai/azure/client/__init__.py
similarity index 100%
rename from packages/mistralai_azure/src/mistralai_azure/__init__.py
rename to packages/mistralai_azure/src/mistralai/azure/client/__init__.py
diff --git a/packages/mistralai_azure/src/mistralai_azure/_hooks/__init__.py b/packages/mistralai_azure/src/mistralai/azure/client/_hooks/__init__.py
similarity index 100%
rename from packages/mistralai_azure/src/mistralai_azure/_hooks/__init__.py
rename to packages/mistralai_azure/src/mistralai/azure/client/_hooks/__init__.py
diff --git a/packages/mistralai_azure/src/mistralai_azure/_hooks/registration.py b/packages/mistralai_azure/src/mistralai/azure/client/_hooks/registration.py
similarity index 79%
rename from packages/mistralai_azure/src/mistralai_azure/_hooks/registration.py
rename to packages/mistralai_azure/src/mistralai/azure/client/_hooks/registration.py
index 304edfa2..cab47787 100644
--- a/packages/mistralai_azure/src/mistralai_azure/_hooks/registration.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/_hooks/registration.py
@@ -1,6 +1,6 @@
-from .custom_user_agent import CustomUserAgentHook
from .types import Hooks
+
# This file is only ever generated once on the first generation and then is free to be modified.
# Any hooks you wish to add should be registered in the init_hooks function. Feel free to define them
# in this file or in separate files in the hooks folder.
@@ -10,6 +10,4 @@ def init_hooks(hooks: Hooks):
# pylint: disable=unused-argument
"""Add hooks by calling hooks.register{sdk_init/before_request/after_success/after_error}Hook
with an instance of a hook that implements that specific Hook interface
- Hooks are registered per SDK instance, and are valid for the lifetime of the SDK instance
- """
- hooks.register_before_request_hook(CustomUserAgentHook())
+ Hooks are registered per SDK instance, and are valid for the lifetime of the SDK instance"""
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/_hooks/sdkhooks.py b/packages/mistralai_azure/src/mistralai/azure/client/_hooks/sdkhooks.py
similarity index 97%
rename from packages/mistralai_gcp/src/mistralai_gcp/_hooks/sdkhooks.py
rename to packages/mistralai_azure/src/mistralai/azure/client/_hooks/sdkhooks.py
index b81c2a27..2080681b 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/_hooks/sdkhooks.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/_hooks/sdkhooks.py
@@ -13,7 +13,7 @@
)
from .registration import init_hooks
from typing import List, Optional, Tuple
-from mistralai_gcp.httpclient import HttpClient
+from mistralai.azure.client.httpclient import HttpClient
class SDKHooks(Hooks):
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/_hooks/types.py b/packages/mistralai_azure/src/mistralai/azure/client/_hooks/types.py
similarity index 95%
rename from packages/mistralai_gcp/src/mistralai_gcp/_hooks/types.py
rename to packages/mistralai_azure/src/mistralai/azure/client/_hooks/types.py
index f8088f4c..3e4e3955 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/_hooks/types.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/_hooks/types.py
@@ -2,8 +2,8 @@
from abc import ABC, abstractmethod
import httpx
-from mistralai_gcp.httpclient import HttpClient
-from mistralai_gcp.sdkconfiguration import SDKConfiguration
+from mistralai.azure.client.httpclient import HttpClient
+from mistralai.azure.client.sdkconfiguration import SDKConfiguration
from typing import Any, Callable, List, Optional, Tuple, Union
diff --git a/packages/mistralai_azure/src/mistralai_azure/_version.py b/packages/mistralai_azure/src/mistralai/azure/client/_version.py
similarity index 69%
rename from packages/mistralai_azure/src/mistralai_azure/_version.py
rename to packages/mistralai_azure/src/mistralai/azure/client/_version.py
index 79277f9a..4448d2a0 100644
--- a/packages/mistralai_azure/src/mistralai_azure/_version.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/_version.py
@@ -2,11 +2,11 @@
import importlib.metadata
-__title__: str = "mistralai_azure"
-__version__: str = "1.8.1"
+__title__: str = "mistralai-azure"
+__version__: str = "2.0.0a4"
__openapi_doc_version__: str = "1.0.0"
__gen_version__: str = "2.794.1"
-__user_agent__: str = "speakeasy-sdk/python 1.8.1 2.794.1 1.0.0 mistralai_azure"
+__user_agent__: str = "speakeasy-sdk/python 2.0.0a4 2.794.1 1.0.0 mistralai-azure"
try:
if __package__ is not None:
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/basesdk.py b/packages/mistralai_azure/src/mistralai/azure/client/basesdk.py
similarity index 98%
rename from packages/mistralai_gcp/src/mistralai_gcp/basesdk.py
rename to packages/mistralai_azure/src/mistralai/azure/client/basesdk.py
index 7a93de23..b0391ac0 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/basesdk.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/basesdk.py
@@ -2,13 +2,17 @@
from .sdkconfiguration import SDKConfiguration
import httpx
-from mistralai_gcp import models, utils
-from mistralai_gcp._hooks import (
+from mistralai.azure.client import models, utils
+from mistralai.azure.client._hooks import (
AfterErrorContext,
AfterSuccessContext,
BeforeRequestContext,
)
-from mistralai_gcp.utils import RetryConfig, SerializedRequestBody, get_body_content
+from mistralai.azure.client.utils import (
+ RetryConfig,
+ SerializedRequestBody,
+ get_body_content,
+)
from typing import Callable, List, Mapping, Optional, Tuple
from urllib.parse import parse_qs, urlparse
diff --git a/packages/mistralai_azure/src/mistralai_azure/chat.py b/packages/mistralai_azure/src/mistralai/azure/client/chat.py
similarity index 96%
rename from packages/mistralai_azure/src/mistralai_azure/chat.py
rename to packages/mistralai_azure/src/mistralai/azure/client/chat.py
index 10bb247f..3348bf47 100644
--- a/packages/mistralai_azure/src/mistralai_azure/chat.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/chat.py
@@ -1,11 +1,11 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from .basesdk import BaseSDK
-from mistralai_azure import models, utils
-from mistralai_azure._hooks import HookContext
-from mistralai_azure.types import OptionalNullable, UNSET
-from mistralai_azure.utils import eventstreaming
-from mistralai_azure.utils.unmarshal_json_response import unmarshal_json_response
+from mistralai.azure.client import models, utils
+from mistralai.azure.client._hooks import HookContext
+from mistralai.azure.client.types import OptionalNullable, UNSET
+from mistralai.azure.client.utils import eventstreaming
+from mistralai.azure.client.utils.unmarshal_json_response import unmarshal_json_response
from typing import Any, Dict, List, Mapping, Optional, Union
@@ -15,13 +15,21 @@ class Chat(BaseSDK):
def stream(
self,
*,
- messages: Union[List[models.Messages], List[models.MessagesTypedDict]],
+ messages: Union[
+ List[models.ChatCompletionStreamRequestMessage],
+ List[models.ChatCompletionStreamRequestMessageTypedDict],
+ ],
model: Optional[str] = "azureai",
temperature: OptionalNullable[float] = UNSET,
top_p: Optional[float] = None,
max_tokens: OptionalNullable[int] = UNSET,
stream: Optional[bool] = True,
- stop: Optional[Union[models.Stop, models.StopTypedDict]] = None,
+ stop: Optional[
+ Union[
+ models.ChatCompletionStreamRequestStop,
+ models.ChatCompletionStreamRequestStopTypedDict,
+ ]
+ ] = None,
random_seed: OptionalNullable[int] = UNSET,
metadata: OptionalNullable[Dict[str, Any]] = UNSET,
response_format: Optional[
@@ -97,7 +105,9 @@ def stream(
stop=stop,
random_seed=random_seed,
metadata=metadata,
- messages=utils.get_pydantic_model(messages, List[models.Messages]),
+ messages=utils.get_pydantic_model(
+ messages, List[models.ChatCompletionStreamRequestMessage]
+ ),
response_format=utils.get_pydantic_model(
response_format, Optional[models.ResponseFormat]
),
@@ -185,13 +195,21 @@ def stream(
async def stream_async(
self,
*,
- messages: Union[List[models.Messages], List[models.MessagesTypedDict]],
+ messages: Union[
+ List[models.ChatCompletionStreamRequestMessage],
+ List[models.ChatCompletionStreamRequestMessageTypedDict],
+ ],
model: Optional[str] = "azureai",
temperature: OptionalNullable[float] = UNSET,
top_p: Optional[float] = None,
max_tokens: OptionalNullable[int] = UNSET,
stream: Optional[bool] = True,
- stop: Optional[Union[models.Stop, models.StopTypedDict]] = None,
+ stop: Optional[
+ Union[
+ models.ChatCompletionStreamRequestStop,
+ models.ChatCompletionStreamRequestStopTypedDict,
+ ]
+ ] = None,
random_seed: OptionalNullable[int] = UNSET,
metadata: OptionalNullable[Dict[str, Any]] = UNSET,
response_format: Optional[
@@ -267,7 +285,9 @@ async def stream_async(
stop=stop,
random_seed=random_seed,
metadata=metadata,
- messages=utils.get_pydantic_model(messages, List[models.Messages]),
+ messages=utils.get_pydantic_model(
+ messages, List[models.ChatCompletionStreamRequestMessage]
+ ),
response_format=utils.get_pydantic_model(
response_format, Optional[models.ResponseFormat]
),
@@ -356,8 +376,8 @@ def complete(
self,
*,
messages: Union[
- List[models.ChatCompletionRequestMessages],
- List[models.ChatCompletionRequestMessagesTypedDict],
+ List[models.ChatCompletionRequestMessage],
+ List[models.ChatCompletionRequestMessageTypedDict],
],
model: Optional[str] = "azureai",
temperature: OptionalNullable[float] = UNSET,
@@ -444,7 +464,7 @@ def complete(
random_seed=random_seed,
metadata=metadata,
messages=utils.get_pydantic_model(
- messages, List[models.ChatCompletionRequestMessages]
+ messages, List[models.ChatCompletionRequestMessage]
),
response_format=utils.get_pydantic_model(
response_format, Optional[models.ResponseFormat]
@@ -526,8 +546,8 @@ async def complete_async(
self,
*,
messages: Union[
- List[models.ChatCompletionRequestMessages],
- List[models.ChatCompletionRequestMessagesTypedDict],
+ List[models.ChatCompletionRequestMessage],
+ List[models.ChatCompletionRequestMessageTypedDict],
],
model: Optional[str] = "azureai",
temperature: OptionalNullable[float] = UNSET,
@@ -614,7 +634,7 @@ async def complete_async(
random_seed=random_seed,
metadata=metadata,
messages=utils.get_pydantic_model(
- messages, List[models.ChatCompletionRequestMessages]
+ messages, List[models.ChatCompletionRequestMessage]
),
response_format=utils.get_pydantic_model(
response_format, Optional[models.ResponseFormat]
diff --git a/packages/mistralai_azure/src/mistralai_azure/httpclient.py b/packages/mistralai_azure/src/mistralai/azure/client/httpclient.py
similarity index 100%
rename from packages/mistralai_azure/src/mistralai_azure/httpclient.py
rename to packages/mistralai_azure/src/mistralai/azure/client/httpclient.py
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/__init__.py b/packages/mistralai_azure/src/mistralai/azure/client/models/__init__.py
similarity index 88%
rename from packages/mistralai_azure/src/mistralai_azure/models/__init__.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/__init__.py
index 9baa3ff1..4bad2c07 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/__init__.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/__init__.py
@@ -11,8 +11,8 @@
AssistantMessage,
AssistantMessageContent,
AssistantMessageContentTypedDict,
- AssistantMessageRole,
AssistantMessageTypedDict,
+ RoleEnum,
)
from .chatcompletionchoice import (
ChatCompletionChoice,
@@ -21,8 +21,8 @@
)
from .chatcompletionrequest import (
ChatCompletionRequest,
- ChatCompletionRequestMessages,
- ChatCompletionRequestMessagesTypedDict,
+ ChatCompletionRequestMessage,
+ ChatCompletionRequestMessageTypedDict,
ChatCompletionRequestStop,
ChatCompletionRequestStopTypedDict,
ChatCompletionRequestToolChoice,
@@ -35,26 +35,26 @@
)
from .chatcompletionstreamrequest import (
ChatCompletionStreamRequest,
+ ChatCompletionStreamRequestMessage,
+ ChatCompletionStreamRequestMessageTypedDict,
+ ChatCompletionStreamRequestStop,
+ ChatCompletionStreamRequestStopTypedDict,
ChatCompletionStreamRequestToolChoice,
ChatCompletionStreamRequestToolChoiceTypedDict,
ChatCompletionStreamRequestTypedDict,
- Messages,
- MessagesTypedDict,
- Stop,
- StopTypedDict,
)
from .completionchunk import CompletionChunk, CompletionChunkTypedDict
from .completionevent import CompletionEvent, CompletionEventTypedDict
from .completionresponsestreamchoice import (
CompletionResponseStreamChoice,
+ CompletionResponseStreamChoiceFinishReason,
CompletionResponseStreamChoiceTypedDict,
- FinishReason,
)
from .contentchunk import ContentChunk, ContentChunkTypedDict
from .deltamessage import (
- Content,
- ContentTypedDict,
DeltaMessage,
+ DeltaMessageContent,
+ DeltaMessageContentTypedDict,
DeltaMessageTypedDict,
)
from .documenturlchunk import (
@@ -75,10 +75,10 @@
from .imageurl import ImageURL, ImageURLTypedDict
from .imageurlchunk import (
ImageURLChunk,
- ImageURLChunkImageURL,
- ImageURLChunkImageURLTypedDict,
ImageURLChunkType,
ImageURLChunkTypedDict,
+ ImageURLUnion,
+ ImageURLUnionTypedDict,
)
from .jsonschema import JSONSchema, JSONSchemaTypedDict
from .mistralpromptmode import MistralPromptMode
@@ -108,7 +108,6 @@
from .sdkerror import SDKError
from .security import Security, SecurityTypedDict
from .systemmessage import (
- Role,
SystemMessage,
SystemMessageContent,
SystemMessageContentTypedDict,
@@ -118,14 +117,8 @@
SystemMessageContentChunks,
SystemMessageContentChunksTypedDict,
)
- from .textchunk import TextChunk, TextChunkTypedDict, Type
- from .thinkchunk import (
- ThinkChunk,
- ThinkChunkType,
- ThinkChunkTypedDict,
- Thinking,
- ThinkingTypedDict,
- )
+ from .textchunk import TextChunk, TextChunkTypedDict
+ from .thinkchunk import ThinkChunk, ThinkChunkTypedDict, Thinking, ThinkingTypedDict
from .tool import Tool, ToolTypedDict
from .toolcall import ToolCall, ToolCallTypedDict
from .toolchoice import ToolChoice, ToolChoiceTypedDict
@@ -134,7 +127,6 @@
ToolMessage,
ToolMessageContent,
ToolMessageContentTypedDict,
- ToolMessageRole,
ToolMessageTypedDict,
)
from .tooltypes import ToolTypes
@@ -143,7 +135,6 @@
UserMessage,
UserMessageContent,
UserMessageContentTypedDict,
- UserMessageRole,
UserMessageTypedDict,
)
from .validationerror import (
@@ -159,14 +150,13 @@
"AssistantMessage",
"AssistantMessageContent",
"AssistantMessageContentTypedDict",
- "AssistantMessageRole",
"AssistantMessageTypedDict",
"ChatCompletionChoice",
"ChatCompletionChoiceFinishReason",
"ChatCompletionChoiceTypedDict",
"ChatCompletionRequest",
- "ChatCompletionRequestMessages",
- "ChatCompletionRequestMessagesTypedDict",
+ "ChatCompletionRequestMessage",
+ "ChatCompletionRequestMessageTypedDict",
"ChatCompletionRequestStop",
"ChatCompletionRequestStopTypedDict",
"ChatCompletionRequestToolChoice",
@@ -175,6 +165,10 @@
"ChatCompletionResponse",
"ChatCompletionResponseTypedDict",
"ChatCompletionStreamRequest",
+ "ChatCompletionStreamRequestMessage",
+ "ChatCompletionStreamRequestMessageTypedDict",
+ "ChatCompletionStreamRequestStop",
+ "ChatCompletionStreamRequestStopTypedDict",
"ChatCompletionStreamRequestToolChoice",
"ChatCompletionStreamRequestToolChoiceTypedDict",
"ChatCompletionStreamRequestTypedDict",
@@ -183,12 +177,13 @@
"CompletionEvent",
"CompletionEventTypedDict",
"CompletionResponseStreamChoice",
+ "CompletionResponseStreamChoiceFinishReason",
"CompletionResponseStreamChoiceTypedDict",
- "Content",
"ContentChunk",
"ContentChunkTypedDict",
- "ContentTypedDict",
"DeltaMessage",
+ "DeltaMessageContent",
+ "DeltaMessageContentTypedDict",
"DeltaMessageTypedDict",
"Document",
"DocumentTypedDict",
@@ -197,7 +192,6 @@
"DocumentURLChunkTypedDict",
"FileChunk",
"FileChunkTypedDict",
- "FinishReason",
"Format",
"Function",
"FunctionCall",
@@ -209,17 +203,15 @@
"HTTPValidationErrorData",
"ImageURL",
"ImageURLChunk",
- "ImageURLChunkImageURL",
- "ImageURLChunkImageURLTypedDict",
"ImageURLChunkType",
"ImageURLChunkTypedDict",
"ImageURLTypedDict",
+ "ImageURLUnion",
+ "ImageURLUnionTypedDict",
"JSONSchema",
"JSONSchemaTypedDict",
"Loc",
"LocTypedDict",
- "Messages",
- "MessagesTypedDict",
"MistralAzureError",
"MistralPromptMode",
"NoResponseError",
@@ -246,12 +238,10 @@
"ResponseFormatTypedDict",
"ResponseFormats",
"ResponseValidationError",
- "Role",
+ "RoleEnum",
"SDKError",
"Security",
"SecurityTypedDict",
- "Stop",
- "StopTypedDict",
"SystemMessage",
"SystemMessageContent",
"SystemMessageContentChunks",
@@ -262,7 +252,6 @@
"TextChunk",
"TextChunkTypedDict",
"ThinkChunk",
- "ThinkChunkType",
"ThinkChunkTypedDict",
"Thinking",
"ThinkingTypedDict",
@@ -275,17 +264,14 @@
"ToolMessage",
"ToolMessageContent",
"ToolMessageContentTypedDict",
- "ToolMessageRole",
"ToolMessageTypedDict",
"ToolTypedDict",
"ToolTypes",
- "Type",
"UsageInfo",
"UsageInfoTypedDict",
"UserMessage",
"UserMessageContent",
"UserMessageContentTypedDict",
- "UserMessageRole",
"UserMessageTypedDict",
"ValidationError",
"ValidationErrorTypedDict",
@@ -295,14 +281,14 @@
"AssistantMessage": ".assistantmessage",
"AssistantMessageContent": ".assistantmessage",
"AssistantMessageContentTypedDict": ".assistantmessage",
- "AssistantMessageRole": ".assistantmessage",
"AssistantMessageTypedDict": ".assistantmessage",
+ "RoleEnum": ".assistantmessage",
"ChatCompletionChoice": ".chatcompletionchoice",
"ChatCompletionChoiceFinishReason": ".chatcompletionchoice",
"ChatCompletionChoiceTypedDict": ".chatcompletionchoice",
"ChatCompletionRequest": ".chatcompletionrequest",
- "ChatCompletionRequestMessages": ".chatcompletionrequest",
- "ChatCompletionRequestMessagesTypedDict": ".chatcompletionrequest",
+ "ChatCompletionRequestMessage": ".chatcompletionrequest",
+ "ChatCompletionRequestMessageTypedDict": ".chatcompletionrequest",
"ChatCompletionRequestStop": ".chatcompletionrequest",
"ChatCompletionRequestStopTypedDict": ".chatcompletionrequest",
"ChatCompletionRequestToolChoice": ".chatcompletionrequest",
@@ -311,25 +297,25 @@
"ChatCompletionResponse": ".chatcompletionresponse",
"ChatCompletionResponseTypedDict": ".chatcompletionresponse",
"ChatCompletionStreamRequest": ".chatcompletionstreamrequest",
+ "ChatCompletionStreamRequestMessage": ".chatcompletionstreamrequest",
+ "ChatCompletionStreamRequestMessageTypedDict": ".chatcompletionstreamrequest",
+ "ChatCompletionStreamRequestStop": ".chatcompletionstreamrequest",
+ "ChatCompletionStreamRequestStopTypedDict": ".chatcompletionstreamrequest",
"ChatCompletionStreamRequestToolChoice": ".chatcompletionstreamrequest",
"ChatCompletionStreamRequestToolChoiceTypedDict": ".chatcompletionstreamrequest",
"ChatCompletionStreamRequestTypedDict": ".chatcompletionstreamrequest",
- "Messages": ".chatcompletionstreamrequest",
- "MessagesTypedDict": ".chatcompletionstreamrequest",
- "Stop": ".chatcompletionstreamrequest",
- "StopTypedDict": ".chatcompletionstreamrequest",
"CompletionChunk": ".completionchunk",
"CompletionChunkTypedDict": ".completionchunk",
"CompletionEvent": ".completionevent",
"CompletionEventTypedDict": ".completionevent",
"CompletionResponseStreamChoice": ".completionresponsestreamchoice",
+ "CompletionResponseStreamChoiceFinishReason": ".completionresponsestreamchoice",
"CompletionResponseStreamChoiceTypedDict": ".completionresponsestreamchoice",
- "FinishReason": ".completionresponsestreamchoice",
"ContentChunk": ".contentchunk",
"ContentChunkTypedDict": ".contentchunk",
- "Content": ".deltamessage",
- "ContentTypedDict": ".deltamessage",
"DeltaMessage": ".deltamessage",
+ "DeltaMessageContent": ".deltamessage",
+ "DeltaMessageContentTypedDict": ".deltamessage",
"DeltaMessageTypedDict": ".deltamessage",
"DocumentURLChunk": ".documenturlchunk",
"DocumentURLChunkType": ".documenturlchunk",
@@ -349,10 +335,10 @@
"ImageURL": ".imageurl",
"ImageURLTypedDict": ".imageurl",
"ImageURLChunk": ".imageurlchunk",
- "ImageURLChunkImageURL": ".imageurlchunk",
- "ImageURLChunkImageURLTypedDict": ".imageurlchunk",
"ImageURLChunkType": ".imageurlchunk",
"ImageURLChunkTypedDict": ".imageurlchunk",
+ "ImageURLUnion": ".imageurlchunk",
+ "ImageURLUnionTypedDict": ".imageurlchunk",
"JSONSchema": ".jsonschema",
"JSONSchemaTypedDict": ".jsonschema",
"MistralPromptMode": ".mistralpromptmode",
@@ -387,7 +373,6 @@
"SDKError": ".sdkerror",
"Security": ".security",
"SecurityTypedDict": ".security",
- "Role": ".systemmessage",
"SystemMessage": ".systemmessage",
"SystemMessageContent": ".systemmessage",
"SystemMessageContentTypedDict": ".systemmessage",
@@ -396,9 +381,7 @@
"SystemMessageContentChunksTypedDict": ".systemmessagecontentchunks",
"TextChunk": ".textchunk",
"TextChunkTypedDict": ".textchunk",
- "Type": ".textchunk",
"ThinkChunk": ".thinkchunk",
- "ThinkChunkType": ".thinkchunk",
"ThinkChunkTypedDict": ".thinkchunk",
"Thinking": ".thinkchunk",
"ThinkingTypedDict": ".thinkchunk",
@@ -412,7 +395,6 @@
"ToolMessage": ".toolmessage",
"ToolMessageContent": ".toolmessage",
"ToolMessageContentTypedDict": ".toolmessage",
- "ToolMessageRole": ".toolmessage",
"ToolMessageTypedDict": ".toolmessage",
"ToolTypes": ".tooltypes",
"UsageInfo": ".usageinfo",
@@ -420,7 +402,6 @@
"UserMessage": ".usermessage",
"UserMessageContent": ".usermessage",
"UserMessageContentTypedDict": ".usermessage",
- "UserMessageRole": ".usermessage",
"UserMessageTypedDict": ".usermessage",
"Loc": ".validationerror",
"LocTypedDict": ".validationerror",
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/assistantmessage.py b/packages/mistralai_azure/src/mistralai/azure/client/models/assistantmessage.py
similarity index 93%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/assistantmessage.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/assistantmessage.py
index 17d740b6..b9350ee2 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/assistantmessage.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/assistantmessage.py
@@ -3,7 +3,7 @@
from __future__ import annotations
from .contentchunk import ContentChunk, ContentChunkTypedDict
from .toolcall import ToolCall, ToolCallTypedDict
-from mistralai_gcp.types import (
+from mistralai.azure.client.types import (
BaseModel,
Nullable,
OptionalNullable,
@@ -25,7 +25,7 @@
)
-AssistantMessageRole = Literal["assistant",]
+RoleEnum = Literal["assistant",]
class AssistantMessageTypedDict(TypedDict):
@@ -33,7 +33,7 @@ class AssistantMessageTypedDict(TypedDict):
tool_calls: NotRequired[Nullable[List[ToolCallTypedDict]]]
prefix: NotRequired[bool]
r"""Set this to `true` when adding an assistant message as prefix to condition the model response. The role of the prefix message is to force the model to start its answer by the content of the message."""
- role: NotRequired[AssistantMessageRole]
+ role: NotRequired[RoleEnum]
class AssistantMessage(BaseModel):
@@ -44,7 +44,7 @@ class AssistantMessage(BaseModel):
prefix: Optional[bool] = False
r"""Set this to `true` when adding an assistant message as prefix to condition the model response. The role of the prefix message is to force the model to start its answer by the content of the message."""
- role: Optional[AssistantMessageRole] = "assistant"
+ role: Optional[RoleEnum] = "assistant"
@model_serializer(mode="wrap")
def serialize_model(self, handler):
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/chatcompletionchoice.py b/packages/mistralai_azure/src/mistralai/azure/client/models/chatcompletionchoice.py
similarity index 91%
rename from packages/mistralai_azure/src/mistralai_azure/models/chatcompletionchoice.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/chatcompletionchoice.py
index 7c6eb933..67b5ba69 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/chatcompletionchoice.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/chatcompletionchoice.py
@@ -2,7 +2,7 @@
from __future__ import annotations
from .assistantmessage import AssistantMessage, AssistantMessageTypedDict
-from mistralai_azure.types import BaseModel, UnrecognizedStr
+from mistralai.azure.client.types import BaseModel, UnrecognizedStr
from typing import Literal, Union
from typing_extensions import TypedDict
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/chatcompletionrequest.py b/packages/mistralai_azure/src/mistralai/azure/client/models/chatcompletionrequest.py
similarity index 97%
rename from packages/mistralai_azure/src/mistralai_azure/models/chatcompletionrequest.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/chatcompletionrequest.py
index a7b095f3..92179095 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/chatcompletionrequest.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/chatcompletionrequest.py
@@ -11,14 +11,14 @@
from .toolchoiceenum import ToolChoiceEnum
from .toolmessage import ToolMessage, ToolMessageTypedDict
from .usermessage import UserMessage, UserMessageTypedDict
-from mistralai_azure.types import (
+from mistralai.azure.client.types import (
BaseModel,
Nullable,
OptionalNullable,
UNSET,
UNSET_SENTINEL,
)
-from mistralai_azure.utils import get_discriminator
+from mistralai.azure.client.utils import get_discriminator
from pydantic import Discriminator, Tag, model_serializer
from typing import Any, Dict, List, Optional, Union
from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
@@ -36,8 +36,8 @@
r"""Stop generation if this token is detected. Or if one of these tokens is detected when providing an array"""
-ChatCompletionRequestMessagesTypedDict = TypeAliasType(
- "ChatCompletionRequestMessagesTypedDict",
+ChatCompletionRequestMessageTypedDict = TypeAliasType(
+ "ChatCompletionRequestMessageTypedDict",
Union[
SystemMessageTypedDict,
UserMessageTypedDict,
@@ -47,7 +47,7 @@
)
-ChatCompletionRequestMessages = Annotated[
+ChatCompletionRequestMessage = Annotated[
Union[
Annotated[AssistantMessage, Tag("assistant")],
Annotated[SystemMessage, Tag("system")],
@@ -72,7 +72,7 @@
class ChatCompletionRequestTypedDict(TypedDict):
- messages: List[ChatCompletionRequestMessagesTypedDict]
+ messages: List[ChatCompletionRequestMessageTypedDict]
r"""The prompt(s) to generate completions for, encoded as a list of dict with role and content."""
model: NotRequired[str]
r"""The ID of the model to use for this request."""
@@ -112,7 +112,7 @@ class ChatCompletionRequestTypedDict(TypedDict):
class ChatCompletionRequest(BaseModel):
- messages: List[ChatCompletionRequestMessages]
+ messages: List[ChatCompletionRequestMessage]
r"""The prompt(s) to generate completions for, encoded as a list of dict with role and content."""
model: Optional[str] = "azureai"
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/chatcompletionresponse.py b/packages/mistralai_azure/src/mistralai/azure/client/models/chatcompletionresponse.py
similarity index 92%
rename from packages/mistralai_azure/src/mistralai_azure/models/chatcompletionresponse.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/chatcompletionresponse.py
index 7a66f322..d41f9c6f 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/chatcompletionresponse.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/chatcompletionresponse.py
@@ -3,7 +3,7 @@
from __future__ import annotations
from .chatcompletionchoice import ChatCompletionChoice, ChatCompletionChoiceTypedDict
from .usageinfo import UsageInfo, UsageInfoTypedDict
-from mistralai_azure.types import BaseModel
+from mistralai.azure.client.types import BaseModel
from typing import List
from typing_extensions import TypedDict
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/chatcompletionstreamrequest.py b/packages/mistralai_azure/src/mistralai/azure/client/models/chatcompletionstreamrequest.py
similarity index 94%
rename from packages/mistralai_azure/src/mistralai_azure/models/chatcompletionstreamrequest.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/chatcompletionstreamrequest.py
index 96cd631b..be21eed2 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/chatcompletionstreamrequest.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/chatcompletionstreamrequest.py
@@ -11,29 +11,33 @@
from .toolchoiceenum import ToolChoiceEnum
from .toolmessage import ToolMessage, ToolMessageTypedDict
from .usermessage import UserMessage, UserMessageTypedDict
-from mistralai_azure.types import (
+from mistralai.azure.client.types import (
BaseModel,
Nullable,
OptionalNullable,
UNSET,
UNSET_SENTINEL,
)
-from mistralai_azure.utils import get_discriminator
+from mistralai.azure.client.utils import get_discriminator
from pydantic import Discriminator, Tag, model_serializer
from typing import Any, Dict, List, Optional, Union
from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
-StopTypedDict = TypeAliasType("StopTypedDict", Union[str, List[str]])
+ChatCompletionStreamRequestStopTypedDict = TypeAliasType(
+ "ChatCompletionStreamRequestStopTypedDict", Union[str, List[str]]
+)
r"""Stop generation if this token is detected. Or if one of these tokens is detected when providing an array"""
-Stop = TypeAliasType("Stop", Union[str, List[str]])
+ChatCompletionStreamRequestStop = TypeAliasType(
+ "ChatCompletionStreamRequestStop", Union[str, List[str]]
+)
r"""Stop generation if this token is detected. Or if one of these tokens is detected when providing an array"""
-MessagesTypedDict = TypeAliasType(
- "MessagesTypedDict",
+ChatCompletionStreamRequestMessageTypedDict = TypeAliasType(
+ "ChatCompletionStreamRequestMessageTypedDict",
Union[
SystemMessageTypedDict,
UserMessageTypedDict,
@@ -43,7 +47,7 @@
)
-Messages = Annotated[
+ChatCompletionStreamRequestMessage = Annotated[
Union[
Annotated[AssistantMessage, Tag("assistant")],
Annotated[SystemMessage, Tag("system")],
@@ -68,7 +72,7 @@
class ChatCompletionStreamRequestTypedDict(TypedDict):
- messages: List[MessagesTypedDict]
+ messages: List[ChatCompletionStreamRequestMessageTypedDict]
r"""The prompt(s) to generate completions for, encoded as a list of dict with role and content."""
model: NotRequired[str]
r"""The ID of the model to use for this request."""
@@ -79,7 +83,7 @@ class ChatCompletionStreamRequestTypedDict(TypedDict):
max_tokens: NotRequired[Nullable[int]]
r"""The maximum number of tokens to generate in the completion. The token count of your prompt plus `max_tokens` cannot exceed the model's context length."""
stream: NotRequired[bool]
- stop: NotRequired[StopTypedDict]
+ stop: NotRequired[ChatCompletionStreamRequestStopTypedDict]
r"""Stop generation if this token is detected. Or if one of these tokens is detected when providing an array"""
random_seed: NotRequired[Nullable[int]]
r"""The seed to use for random sampling. If set, different calls will generate deterministic results."""
@@ -107,7 +111,7 @@ class ChatCompletionStreamRequestTypedDict(TypedDict):
class ChatCompletionStreamRequest(BaseModel):
- messages: List[Messages]
+ messages: List[ChatCompletionStreamRequestMessage]
r"""The prompt(s) to generate completions for, encoded as a list of dict with role and content."""
model: Optional[str] = "azureai"
@@ -124,7 +128,7 @@ class ChatCompletionStreamRequest(BaseModel):
stream: Optional[bool] = True
- stop: Optional[Stop] = None
+ stop: Optional[ChatCompletionStreamRequestStop] = None
r"""Stop generation if this token is detected. Or if one of these tokens is detected when providing an array"""
random_seed: OptionalNullable[int] = UNSET
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/completionchunk.py b/packages/mistralai_azure/src/mistralai/azure/client/models/completionchunk.py
similarity index 94%
rename from packages/mistralai_azure/src/mistralai_azure/models/completionchunk.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/completionchunk.py
index d6cc2a86..b94284b2 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/completionchunk.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/completionchunk.py
@@ -6,7 +6,7 @@
CompletionResponseStreamChoiceTypedDict,
)
from .usageinfo import UsageInfo, UsageInfoTypedDict
-from mistralai_azure.types import BaseModel
+from mistralai.azure.client.types import BaseModel
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/completionevent.py b/packages/mistralai_azure/src/mistralai/azure/client/models/completionevent.py
similarity index 87%
rename from packages/mistralai_azure/src/mistralai_azure/models/completionevent.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/completionevent.py
index 5a2039c2..c4b27287 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/completionevent.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/completionevent.py
@@ -2,7 +2,7 @@
from __future__ import annotations
from .completionchunk import CompletionChunk, CompletionChunkTypedDict
-from mistralai_azure.types import BaseModel
+from mistralai.azure.client.types import BaseModel
from typing_extensions import TypedDict
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/completionresponsestreamchoice.py b/packages/mistralai_azure/src/mistralai/azure/client/models/completionresponsestreamchoice.py
similarity index 82%
rename from packages/mistralai_azure/src/mistralai_azure/models/completionresponsestreamchoice.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/completionresponsestreamchoice.py
index 0e890aac..2a4d053f 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/completionresponsestreamchoice.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/completionresponsestreamchoice.py
@@ -2,13 +2,18 @@
from __future__ import annotations
from .deltamessage import DeltaMessage, DeltaMessageTypedDict
-from mistralai_azure.types import BaseModel, Nullable, UNSET_SENTINEL, UnrecognizedStr
+from mistralai.azure.client.types import (
+ BaseModel,
+ Nullable,
+ UNSET_SENTINEL,
+ UnrecognizedStr,
+)
from pydantic import model_serializer
from typing import Literal, Union
from typing_extensions import TypedDict
-FinishReason = Union[
+CompletionResponseStreamChoiceFinishReason = Union[
Literal[
"stop",
"length",
@@ -22,7 +27,7 @@
class CompletionResponseStreamChoiceTypedDict(TypedDict):
index: int
delta: DeltaMessageTypedDict
- finish_reason: Nullable[FinishReason]
+ finish_reason: Nullable[CompletionResponseStreamChoiceFinishReason]
class CompletionResponseStreamChoice(BaseModel):
@@ -30,7 +35,7 @@ class CompletionResponseStreamChoice(BaseModel):
delta: DeltaMessage
- finish_reason: Nullable[FinishReason]
+ finish_reason: Nullable[CompletionResponseStreamChoiceFinishReason]
@model_serializer(mode="wrap")
def serialize_model(self, handler):
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/contentchunk.py b/packages/mistralai_azure/src/mistralai/azure/client/models/contentchunk.py
similarity index 93%
rename from packages/mistralai_azure/src/mistralai_azure/models/contentchunk.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/contentchunk.py
index e6a3e24a..0f09f767 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/contentchunk.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/contentchunk.py
@@ -4,7 +4,7 @@
from .imageurlchunk import ImageURLChunk, ImageURLChunkTypedDict
from .referencechunk import ReferenceChunk, ReferenceChunkTypedDict
from .textchunk import TextChunk, TextChunkTypedDict
-from mistralai_azure.utils import get_discriminator
+from mistralai.azure.client.utils import get_discriminator
from pydantic import Discriminator, Tag
from typing import Union
from typing_extensions import Annotated, TypeAliasType
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/deltamessage.py b/packages/mistralai_azure/src/mistralai/azure/client/models/deltamessage.py
similarity index 81%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/deltamessage.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/deltamessage.py
index 1801ac76..2c01feae 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/deltamessage.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/deltamessage.py
@@ -3,7 +3,7 @@
from __future__ import annotations
from .contentchunk import ContentChunk, ContentChunkTypedDict
from .toolcall import ToolCall, ToolCallTypedDict
-from mistralai_gcp.types import (
+from mistralai.azure.client.types import (
BaseModel,
Nullable,
OptionalNullable,
@@ -15,24 +15,26 @@
from typing_extensions import NotRequired, TypeAliasType, TypedDict
-ContentTypedDict = TypeAliasType(
- "ContentTypedDict", Union[str, List[ContentChunkTypedDict]]
+DeltaMessageContentTypedDict = TypeAliasType(
+ "DeltaMessageContentTypedDict", Union[str, List[ContentChunkTypedDict]]
)
-Content = TypeAliasType("Content", Union[str, List[ContentChunk]])
+DeltaMessageContent = TypeAliasType(
+ "DeltaMessageContent", Union[str, List[ContentChunk]]
+)
class DeltaMessageTypedDict(TypedDict):
role: NotRequired[Nullable[str]]
- content: NotRequired[Nullable[ContentTypedDict]]
+ content: NotRequired[Nullable[DeltaMessageContentTypedDict]]
tool_calls: NotRequired[Nullable[List[ToolCallTypedDict]]]
class DeltaMessage(BaseModel):
role: OptionalNullable[str] = UNSET
- content: OptionalNullable[Content] = UNSET
+ content: OptionalNullable[DeltaMessageContent] = UNSET
tool_calls: OptionalNullable[List[ToolCall]] = UNSET
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/documenturlchunk.py b/packages/mistralai_azure/src/mistralai/azure/client/models/documenturlchunk.py
similarity index 97%
rename from packages/mistralai_azure/src/mistralai_azure/models/documenturlchunk.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/documenturlchunk.py
index ea8d5625..efc0fff4 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/documenturlchunk.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/documenturlchunk.py
@@ -1,7 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_azure.types import (
+from mistralai.azure.client.types import (
BaseModel,
Nullable,
OptionalNullable,
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/filechunk.py b/packages/mistralai_azure/src/mistralai/azure/client/models/filechunk.py
similarity index 83%
rename from packages/mistralai_azure/src/mistralai_azure/models/filechunk.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/filechunk.py
index 2c3edc07..829f03d8 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/filechunk.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/filechunk.py
@@ -1,8 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_azure.types import BaseModel
-from mistralai_azure.utils import validate_const
+from mistralai.azure.client.types import BaseModel
+from mistralai.azure.client.utils import validate_const
import pydantic
from pydantic.functional_validators import AfterValidator
from typing import Literal, Optional
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/function.py b/packages/mistralai_azure/src/mistralai/azure/client/models/function.py
similarity index 90%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/function.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/function.py
index 7ad1ae64..f4edce0f 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/function.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/function.py
@@ -1,7 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_gcp.types import BaseModel
+from mistralai.azure.client.types import BaseModel
from typing import Any, Dict, Optional
from typing_extensions import NotRequired, TypedDict
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/functioncall.py b/packages/mistralai_azure/src/mistralai/azure/client/models/functioncall.py
similarity index 91%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/functioncall.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/functioncall.py
index 99554c88..d476792c 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/functioncall.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/functioncall.py
@@ -1,7 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_gcp.types import BaseModel
+from mistralai.azure.client.types import BaseModel
from typing import Any, Dict, Union
from typing_extensions import TypeAliasType, TypedDict
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/functionname.py b/packages/mistralai_azure/src/mistralai/azure/client/models/functionname.py
similarity index 89%
rename from packages/mistralai_azure/src/mistralai_azure/models/functionname.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/functionname.py
index b55c82af..839e0d55 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/functionname.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/functionname.py
@@ -1,7 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_azure.types import BaseModel
+from mistralai.azure.client.types import BaseModel
from typing_extensions import TypedDict
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/httpvalidationerror.py b/packages/mistralai_azure/src/mistralai/azure/client/models/httpvalidationerror.py
similarity index 87%
rename from packages/mistralai_azure/src/mistralai_azure/models/httpvalidationerror.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/httpvalidationerror.py
index 56607d94..40bccddc 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/httpvalidationerror.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/httpvalidationerror.py
@@ -4,8 +4,8 @@
from .validationerror import ValidationError
from dataclasses import dataclass, field
import httpx
-from mistralai_azure.models import MistralAzureError
-from mistralai_azure.types import BaseModel
+from mistralai.azure.client.models import MistralAzureError
+from mistralai.azure.client.types import BaseModel
from typing import List, Optional
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/imageurl.py b/packages/mistralai_azure/src/mistralai/azure/client/models/imageurl.py
similarity index 96%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/imageurl.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/imageurl.py
index 20d4ba77..08c954fa 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/imageurl.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/imageurl.py
@@ -1,7 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_gcp.types import (
+from mistralai.azure.client.types import (
BaseModel,
Nullable,
OptionalNullable,
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/imageurlchunk.py b/packages/mistralai_azure/src/mistralai/azure/client/models/imageurlchunk.py
similarity index 67%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/imageurlchunk.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/imageurlchunk.py
index ddb53f21..ad7c8184 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/imageurlchunk.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/imageurlchunk.py
@@ -2,17 +2,17 @@
from __future__ import annotations
from .imageurl import ImageURL, ImageURLTypedDict
-from mistralai_gcp.types import BaseModel
+from mistralai.azure.client.types import BaseModel
from typing import Literal, Optional, Union
from typing_extensions import NotRequired, TypeAliasType, TypedDict
-ImageURLChunkImageURLTypedDict = TypeAliasType(
- "ImageURLChunkImageURLTypedDict", Union[ImageURLTypedDict, str]
+ImageURLUnionTypedDict = TypeAliasType(
+ "ImageURLUnionTypedDict", Union[ImageURLTypedDict, str]
)
-ImageURLChunkImageURL = TypeAliasType("ImageURLChunkImageURL", Union[ImageURL, str])
+ImageURLUnion = TypeAliasType("ImageURLUnion", Union[ImageURL, str])
ImageURLChunkType = Literal["image_url",]
@@ -21,13 +21,13 @@
class ImageURLChunkTypedDict(TypedDict):
r"""{\"type\":\"image_url\",\"image_url\":{\"url\":\"data:image/png;base64,iVBORw0"""
- image_url: ImageURLChunkImageURLTypedDict
+ image_url: ImageURLUnionTypedDict
type: NotRequired[ImageURLChunkType]
class ImageURLChunk(BaseModel):
r"""{\"type\":\"image_url\",\"image_url\":{\"url\":\"data:image/png;base64,iVBORw0"""
- image_url: ImageURLChunkImageURL
+ image_url: ImageURLUnion
type: Optional[ImageURLChunkType] = "image_url"
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/jsonschema.py b/packages/mistralai_azure/src/mistralai/azure/client/models/jsonschema.py
similarity index 97%
rename from packages/mistralai_azure/src/mistralai_azure/models/jsonschema.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/jsonschema.py
index 0f7563fc..5aaa490a 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/jsonschema.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/jsonschema.py
@@ -1,7 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_azure.types import (
+from mistralai.azure.client.types import (
BaseModel,
Nullable,
OptionalNullable,
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/mistralazureerror.py b/packages/mistralai_azure/src/mistralai/azure/client/models/mistralazureerror.py
similarity index 100%
rename from packages/mistralai_azure/src/mistralai_azure/models/mistralazureerror.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/mistralazureerror.py
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/mistralpromptmode.py b/packages/mistralai_azure/src/mistralai/azure/client/models/mistralpromptmode.py
similarity index 89%
rename from packages/mistralai_azure/src/mistralai_azure/models/mistralpromptmode.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/mistralpromptmode.py
index 77230b7e..26e7adbd 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/mistralpromptmode.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/mistralpromptmode.py
@@ -1,7 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_azure.types import UnrecognizedStr
+from mistralai.azure.client.types import UnrecognizedStr
from typing import Literal, Union
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/no_response_error.py b/packages/mistralai_azure/src/mistralai/azure/client/models/no_response_error.py
similarity index 100%
rename from packages/mistralai_azure/src/mistralai_azure/models/no_response_error.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/no_response_error.py
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/ocrimageobject.py b/packages/mistralai_azure/src/mistralai/azure/client/models/ocrimageobject.py
similarity index 98%
rename from packages/mistralai_azure/src/mistralai_azure/models/ocrimageobject.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/ocrimageobject.py
index 9d0dd01d..38e9d3e4 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/ocrimageobject.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/ocrimageobject.py
@@ -1,7 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_azure.types import (
+from mistralai.azure.client.types import (
BaseModel,
Nullable,
OptionalNullable,
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/ocrpagedimensions.py b/packages/mistralai_azure/src/mistralai/azure/client/models/ocrpagedimensions.py
similarity index 91%
rename from packages/mistralai_azure/src/mistralai_azure/models/ocrpagedimensions.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/ocrpagedimensions.py
index efb62a58..12858da9 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/ocrpagedimensions.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/ocrpagedimensions.py
@@ -1,7 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_azure.types import BaseModel
+from mistralai.azure.client.types import BaseModel
from typing_extensions import TypedDict
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/ocrpageobject.py b/packages/mistralai_azure/src/mistralai/azure/client/models/ocrpageobject.py
similarity index 98%
rename from packages/mistralai_azure/src/mistralai_azure/models/ocrpageobject.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/ocrpageobject.py
index e9571800..5fb821c1 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/ocrpageobject.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/ocrpageobject.py
@@ -4,7 +4,7 @@
from .ocrimageobject import OCRImageObject, OCRImageObjectTypedDict
from .ocrpagedimensions import OCRPageDimensions, OCRPageDimensionsTypedDict
from .ocrtableobject import OCRTableObject, OCRTableObjectTypedDict
-from mistralai_azure.types import (
+from mistralai.azure.client.types import (
BaseModel,
Nullable,
OptionalNullable,
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/ocrrequest.py b/packages/mistralai_azure/src/mistralai/azure/client/models/ocrrequest.py
similarity index 99%
rename from packages/mistralai_azure/src/mistralai_azure/models/ocrrequest.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/ocrrequest.py
index e9c23afc..fece2713 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/ocrrequest.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/ocrrequest.py
@@ -5,7 +5,7 @@
from .filechunk import FileChunk, FileChunkTypedDict
from .imageurlchunk import ImageURLChunk, ImageURLChunkTypedDict
from .responseformat import ResponseFormat, ResponseFormatTypedDict
-from mistralai_azure.types import (
+from mistralai.azure.client.types import (
BaseModel,
Nullable,
OptionalNullable,
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/ocrresponse.py b/packages/mistralai_azure/src/mistralai/azure/client/models/ocrresponse.py
similarity index 97%
rename from packages/mistralai_azure/src/mistralai_azure/models/ocrresponse.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/ocrresponse.py
index 3e43fa8e..787289fa 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/ocrresponse.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/ocrresponse.py
@@ -3,7 +3,7 @@
from __future__ import annotations
from .ocrpageobject import OCRPageObject, OCRPageObjectTypedDict
from .ocrusageinfo import OCRUsageInfo, OCRUsageInfoTypedDict
-from mistralai_azure.types import (
+from mistralai.azure.client.types import (
BaseModel,
Nullable,
OptionalNullable,
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/ocrtableobject.py b/packages/mistralai_azure/src/mistralai/azure/client/models/ocrtableobject.py
similarity index 78%
rename from packages/mistralai_azure/src/mistralai_azure/models/ocrtableobject.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/ocrtableobject.py
index 189f059e..3e3c2583 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/ocrtableobject.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/ocrtableobject.py
@@ -1,15 +1,18 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_azure.types import BaseModel
+from mistralai.azure.client.types import BaseModel, UnrecognizedStr
import pydantic
-from typing import Literal
+from typing import Literal, Union
from typing_extensions import Annotated, TypedDict
-Format = Literal[
- "markdown",
- "html",
+Format = Union[
+ Literal[
+ "markdown",
+ "html",
+ ],
+ UnrecognizedStr,
]
r"""Format of the table"""
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/ocrusageinfo.py b/packages/mistralai_azure/src/mistralai/azure/client/models/ocrusageinfo.py
similarity index 97%
rename from packages/mistralai_azure/src/mistralai_azure/models/ocrusageinfo.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/ocrusageinfo.py
index 1f5c9f1b..e2ceba35 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/ocrusageinfo.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/ocrusageinfo.py
@@ -1,7 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_azure.types import (
+from mistralai.azure.client.types import (
BaseModel,
Nullable,
OptionalNullable,
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/prediction.py b/packages/mistralai_azure/src/mistralai/azure/client/models/prediction.py
similarity index 89%
rename from packages/mistralai_azure/src/mistralai_azure/models/prediction.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/prediction.py
index b23a935c..6b8d6480 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/prediction.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/prediction.py
@@ -1,8 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_azure.types import BaseModel
-from mistralai_azure.utils import validate_const
+from mistralai.azure.client.types import BaseModel
+from mistralai.azure.client.utils import validate_const
import pydantic
from pydantic.functional_validators import AfterValidator
from typing import Literal, Optional
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/referencechunk.py b/packages/mistralai_azure/src/mistralai/azure/client/models/referencechunk.py
similarity index 90%
rename from packages/mistralai_azure/src/mistralai_azure/models/referencechunk.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/referencechunk.py
index 32d2ca68..c48e7607 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/referencechunk.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/referencechunk.py
@@ -1,7 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_azure.types import BaseModel
+from mistralai.azure.client.types import BaseModel
from typing import List, Literal, Optional
from typing_extensions import NotRequired, TypedDict
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/responseformat.py b/packages/mistralai_azure/src/mistralai/azure/client/models/responseformat.py
similarity index 98%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/responseformat.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/responseformat.py
index 9fe5116c..39fb03a2 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/responseformat.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/responseformat.py
@@ -3,7 +3,7 @@
from __future__ import annotations
from .jsonschema import JSONSchema, JSONSchemaTypedDict
from .responseformats import ResponseFormats
-from mistralai_gcp.types import (
+from mistralai.azure.client.types import (
BaseModel,
Nullable,
OptionalNullable,
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/responseformats.py b/packages/mistralai_azure/src/mistralai/azure/client/models/responseformats.py
similarity index 100%
rename from packages/mistralai_azure/src/mistralai_azure/models/responseformats.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/responseformats.py
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/responsevalidationerror.py b/packages/mistralai_azure/src/mistralai/azure/client/models/responsevalidationerror.py
similarity index 92%
rename from packages/mistralai_azure/src/mistralai_azure/models/responsevalidationerror.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/responsevalidationerror.py
index a33954cc..cbdffcbb 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/responsevalidationerror.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/responsevalidationerror.py
@@ -4,7 +4,7 @@
from typing import Optional
from dataclasses import dataclass
-from mistralai_azure.models import MistralAzureError
+from mistralai.azure.client.models import MistralAzureError
@dataclass(unsafe_hash=True)
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/sdkerror.py b/packages/mistralai_azure/src/mistralai/azure/client/models/sdkerror.py
similarity index 95%
rename from packages/mistralai_azure/src/mistralai_azure/models/sdkerror.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/sdkerror.py
index 216d7f8f..a1e9aaca 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/sdkerror.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/sdkerror.py
@@ -4,7 +4,7 @@
from typing import Optional
from dataclasses import dataclass
-from mistralai_azure.models import MistralAzureError
+from mistralai.azure.client.models import MistralAzureError
MAX_MESSAGE_LEN = 10_000
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/security.py b/packages/mistralai_azure/src/mistralai/azure/client/models/security.py
similarity index 80%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/security.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/security.py
index 38574942..9b83ba98 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/security.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/security.py
@@ -1,8 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_gcp.types import BaseModel
-from mistralai_gcp.utils import FieldMetadata, SecurityMetadata
+from mistralai.azure.client.types import BaseModel
+from mistralai.azure.client.utils import FieldMetadata, SecurityMetadata
from typing_extensions import Annotated, TypedDict
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/systemmessage.py b/packages/mistralai_azure/src/mistralai/azure/client/models/systemmessage.py
similarity index 57%
rename from packages/mistralai_azure/src/mistralai_azure/models/systemmessage.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/systemmessage.py
index f99bf4ff..38c280c8 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/systemmessage.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/systemmessage.py
@@ -5,9 +5,12 @@
SystemMessageContentChunks,
SystemMessageContentChunksTypedDict,
)
-from mistralai_azure.types import BaseModel
-from typing import List, Literal, Optional, Union
-from typing_extensions import NotRequired, TypeAliasType, TypedDict
+from mistralai.azure.client.types import BaseModel
+from mistralai.azure.client.utils import validate_const
+import pydantic
+from pydantic.functional_validators import AfterValidator
+from typing import List, Literal, Union
+from typing_extensions import Annotated, TypeAliasType, TypedDict
SystemMessageContentTypedDict = TypeAliasType(
@@ -21,15 +24,15 @@
)
-Role = Literal["system",]
-
-
class SystemMessageTypedDict(TypedDict):
content: SystemMessageContentTypedDict
- role: NotRequired[Role]
+ role: Literal["system"]
class SystemMessage(BaseModel):
content: SystemMessageContent
- role: Optional[Role] = "system"
+ ROLE: Annotated[
+ Annotated[Literal["system"], AfterValidator(validate_const("system"))],
+ pydantic.Field(alias="role"),
+ ] = "system"
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/systemmessagecontentchunks.py b/packages/mistralai_azure/src/mistralai/azure/client/models/systemmessagecontentchunks.py
similarity index 66%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/systemmessagecontentchunks.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/systemmessagecontentchunks.py
index e0b5bbc3..225f38b7 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/systemmessagecontentchunks.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/systemmessagecontentchunks.py
@@ -3,8 +3,7 @@
from __future__ import annotations
from .textchunk import TextChunk, TextChunkTypedDict
from .thinkchunk import ThinkChunk, ThinkChunkTypedDict
-from mistralai_gcp.utils import get_discriminator
-from pydantic import Discriminator, Tag
+from pydantic import Field
from typing import Union
from typing_extensions import Annotated, TypeAliasType
@@ -16,6 +15,5 @@
SystemMessageContentChunks = Annotated[
- Union[Annotated[TextChunk, Tag("text")], Annotated[ThinkChunk, Tag("thinking")]],
- Discriminator(lambda m: get_discriminator(m, "type", "type")),
+ Union[TextChunk, ThinkChunk], Field(discriminator="TYPE")
]
diff --git a/packages/mistralai_azure/src/mistralai/azure/client/models/textchunk.py b/packages/mistralai_azure/src/mistralai/azure/client/models/textchunk.py
new file mode 100644
index 00000000..e513c143
--- /dev/null
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/textchunk.py
@@ -0,0 +1,23 @@
+"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
+
+from __future__ import annotations
+from mistralai.azure.client.types import BaseModel
+from mistralai.azure.client.utils import validate_const
+import pydantic
+from pydantic.functional_validators import AfterValidator
+from typing import Literal
+from typing_extensions import Annotated, TypedDict
+
+
+class TextChunkTypedDict(TypedDict):
+ text: str
+ type: Literal["text"]
+
+
+class TextChunk(BaseModel):
+ text: str
+
+ TYPE: Annotated[
+ Annotated[Literal["text"], AfterValidator(validate_const("text"))],
+ pydantic.Field(alias="type"),
+ ] = "text"
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/thinkchunk.py b/packages/mistralai_azure/src/mistralai/azure/client/models/thinkchunk.py
similarity index 65%
rename from packages/mistralai_azure/src/mistralai_azure/models/thinkchunk.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/thinkchunk.py
index f53a9f1a..18c77482 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/thinkchunk.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/thinkchunk.py
@@ -3,9 +3,12 @@
from __future__ import annotations
from .referencechunk import ReferenceChunk, ReferenceChunkTypedDict
from .textchunk import TextChunk, TextChunkTypedDict
-from mistralai_azure.types import BaseModel
+from mistralai.azure.client.types import BaseModel
+from mistralai.azure.client.utils import validate_const
+import pydantic
+from pydantic.functional_validators import AfterValidator
from typing import List, Literal, Optional, Union
-from typing_extensions import NotRequired, TypeAliasType, TypedDict
+from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
ThinkingTypedDict = TypeAliasType(
@@ -16,14 +19,11 @@
Thinking = TypeAliasType("Thinking", Union[ReferenceChunk, TextChunk])
-ThinkChunkType = Literal["thinking",]
-
-
class ThinkChunkTypedDict(TypedDict):
thinking: List[ThinkingTypedDict]
closed: NotRequired[bool]
r"""Whether the thinking chunk is closed or not. Currently only used for prefixing."""
- type: NotRequired[ThinkChunkType]
+ type: Literal["thinking"]
class ThinkChunk(BaseModel):
@@ -32,4 +32,7 @@ class ThinkChunk(BaseModel):
closed: Optional[bool] = None
r"""Whether the thinking chunk is closed or not. Currently only used for prefixing."""
- type: Optional[ThinkChunkType] = "thinking"
+ TYPE: Annotated[
+ Annotated[Literal["thinking"], AfterValidator(validate_const("thinking"))],
+ pydantic.Field(alias="type"),
+ ] = "thinking"
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/tool.py b/packages/mistralai_azure/src/mistralai/azure/client/models/tool.py
similarity index 89%
rename from packages/mistralai_azure/src/mistralai_azure/models/tool.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/tool.py
index c91deec2..169305bc 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/tool.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/tool.py
@@ -3,7 +3,7 @@
from __future__ import annotations
from .function import Function, FunctionTypedDict
from .tooltypes import ToolTypes
-from mistralai_azure.types import BaseModel
+from mistralai.azure.client.types import BaseModel
from typing import Optional
from typing_extensions import NotRequired, TypedDict
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/toolcall.py b/packages/mistralai_azure/src/mistralai/azure/client/models/toolcall.py
similarity index 92%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/toolcall.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/toolcall.py
index 23ef157a..a589b1b3 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/toolcall.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/toolcall.py
@@ -3,7 +3,7 @@
from __future__ import annotations
from .functioncall import FunctionCall, FunctionCallTypedDict
from .tooltypes import ToolTypes
-from mistralai_gcp.types import BaseModel
+from mistralai.azure.client.types import BaseModel
from typing import Optional
from typing_extensions import NotRequired, TypedDict
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/toolchoice.py b/packages/mistralai_azure/src/mistralai/azure/client/models/toolchoice.py
similarity index 93%
rename from packages/mistralai_azure/src/mistralai_azure/models/toolchoice.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/toolchoice.py
index 93b4b7fe..1f623222 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/toolchoice.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/toolchoice.py
@@ -3,7 +3,7 @@
from __future__ import annotations
from .functionname import FunctionName, FunctionNameTypedDict
from .tooltypes import ToolTypes
-from mistralai_azure.types import BaseModel
+from mistralai.azure.client.types import BaseModel
from typing import Optional
from typing_extensions import NotRequired, TypedDict
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/toolchoiceenum.py b/packages/mistralai_azure/src/mistralai/azure/client/models/toolchoiceenum.py
similarity index 100%
rename from packages/mistralai_azure/src/mistralai_azure/models/toolchoiceenum.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/toolchoiceenum.py
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/toolmessage.py b/packages/mistralai_azure/src/mistralai/azure/client/models/toolmessage.py
similarity index 77%
rename from packages/mistralai_azure/src/mistralai_azure/models/toolmessage.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/toolmessage.py
index 4bc5c9a9..6e9a7903 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/toolmessage.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/toolmessage.py
@@ -2,16 +2,19 @@
from __future__ import annotations
from .contentchunk import ContentChunk, ContentChunkTypedDict
-from mistralai_azure.types import (
+from mistralai.azure.client.types import (
BaseModel,
Nullable,
OptionalNullable,
UNSET,
UNSET_SENTINEL,
)
+from mistralai.azure.client.utils import validate_const
+import pydantic
from pydantic import model_serializer
-from typing import List, Literal, Optional, Union
-from typing_extensions import NotRequired, TypeAliasType, TypedDict
+from pydantic.functional_validators import AfterValidator
+from typing import List, Literal, Union
+from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
ToolMessageContentTypedDict = TypeAliasType(
@@ -22,14 +25,11 @@
ToolMessageContent = TypeAliasType("ToolMessageContent", Union[str, List[ContentChunk]])
-ToolMessageRole = Literal["tool",]
-
-
class ToolMessageTypedDict(TypedDict):
content: Nullable[ToolMessageContentTypedDict]
tool_call_id: NotRequired[Nullable[str]]
name: NotRequired[Nullable[str]]
- role: NotRequired[ToolMessageRole]
+ role: Literal["tool"]
class ToolMessage(BaseModel):
@@ -39,11 +39,14 @@ class ToolMessage(BaseModel):
name: OptionalNullable[str] = UNSET
- role: Optional[ToolMessageRole] = "tool"
+ ROLE: Annotated[
+ Annotated[Literal["tool"], AfterValidator(validate_const("tool"))],
+ pydantic.Field(alias="role"),
+ ] = "tool"
@model_serializer(mode="wrap")
def serialize_model(self, handler):
- optional_fields = ["tool_call_id", "name", "role"]
+ optional_fields = ["tool_call_id", "name"]
nullable_fields = ["content", "tool_call_id", "name"]
null_default_fields = []
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/tooltypes.py b/packages/mistralai_azure/src/mistralai/azure/client/models/tooltypes.py
similarity index 77%
rename from packages/mistralai_azure/src/mistralai_azure/models/tooltypes.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/tooltypes.py
index 638890c5..1cce7446 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/tooltypes.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/tooltypes.py
@@ -1,7 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_azure.types import UnrecognizedStr
+from mistralai.azure.client.types import UnrecognizedStr
from typing import Literal, Union
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/usageinfo.py b/packages/mistralai_azure/src/mistralai/azure/client/models/usageinfo.py
similarity index 98%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/usageinfo.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/usageinfo.py
index 59f36158..19a6b09f 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/usageinfo.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/usageinfo.py
@@ -1,7 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_gcp.types import (
+from mistralai.azure.client.types import (
BaseModel,
Nullable,
OptionalNullable,
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/usermessage.py b/packages/mistralai_azure/src/mistralai/azure/client/models/usermessage.py
similarity index 73%
rename from packages/mistralai_azure/src/mistralai_azure/models/usermessage.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/usermessage.py
index 85fedb4b..96439c64 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/usermessage.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/usermessage.py
@@ -2,10 +2,13 @@
from __future__ import annotations
from .contentchunk import ContentChunk, ContentChunkTypedDict
-from mistralai_azure.types import BaseModel, Nullable, UNSET_SENTINEL
+from mistralai.azure.client.types import BaseModel, Nullable, UNSET_SENTINEL
+from mistralai.azure.client.utils import validate_const
+import pydantic
from pydantic import model_serializer
-from typing import List, Literal, Optional, Union
-from typing_extensions import NotRequired, TypeAliasType, TypedDict
+from pydantic.functional_validators import AfterValidator
+from typing import List, Literal, Union
+from typing_extensions import Annotated, TypeAliasType, TypedDict
UserMessageContentTypedDict = TypeAliasType(
@@ -16,22 +19,22 @@
UserMessageContent = TypeAliasType("UserMessageContent", Union[str, List[ContentChunk]])
-UserMessageRole = Literal["user",]
-
-
class UserMessageTypedDict(TypedDict):
content: Nullable[UserMessageContentTypedDict]
- role: NotRequired[UserMessageRole]
+ role: Literal["user"]
class UserMessage(BaseModel):
content: Nullable[UserMessageContent]
- role: Optional[UserMessageRole] = "user"
+ ROLE: Annotated[
+ Annotated[Literal["user"], AfterValidator(validate_const("user"))],
+ pydantic.Field(alias="role"),
+ ] = "user"
@model_serializer(mode="wrap")
def serialize_model(self, handler):
- optional_fields = ["role"]
+ optional_fields = []
nullable_fields = ["content"]
null_default_fields = []
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/validationerror.py b/packages/mistralai_azure/src/mistralai/azure/client/models/validationerror.py
similarity index 90%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/validationerror.py
rename to packages/mistralai_azure/src/mistralai/azure/client/models/validationerror.py
index 033d4b63..817ecf7a 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/validationerror.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/models/validationerror.py
@@ -1,7 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_gcp.types import BaseModel
+from mistralai.azure.client.types import BaseModel
from typing import List, Union
from typing_extensions import TypeAliasType, TypedDict
diff --git a/packages/mistralai_azure/src/mistralai_azure/ocr.py b/packages/mistralai_azure/src/mistralai/azure/client/ocr.py
similarity index 97%
rename from packages/mistralai_azure/src/mistralai_azure/ocr.py
rename to packages/mistralai_azure/src/mistralai/azure/client/ocr.py
index 31e27f6e..098e764b 100644
--- a/packages/mistralai_azure/src/mistralai_azure/ocr.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/ocr.py
@@ -1,10 +1,10 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from .basesdk import BaseSDK
-from mistralai_azure import models, utils
-from mistralai_azure._hooks import HookContext
-from mistralai_azure.types import Nullable, OptionalNullable, UNSET
-from mistralai_azure.utils.unmarshal_json_response import unmarshal_json_response
+from mistralai.azure.client import models, utils
+from mistralai.azure.client._hooks import HookContext
+from mistralai.azure.client.types import Nullable, OptionalNullable, UNSET
+from mistralai.azure.client.utils.unmarshal_json_response import unmarshal_json_response
from typing import Any, List, Mapping, Optional, Union
diff --git a/packages/mistralai_azure/src/mistralai_azure/py.typed b/packages/mistralai_azure/src/mistralai/azure/client/py.typed
similarity index 100%
rename from packages/mistralai_azure/src/mistralai_azure/py.typed
rename to packages/mistralai_azure/src/mistralai/azure/client/py.typed
diff --git a/packages/mistralai_azure/src/mistralai_azure/sdk.py b/packages/mistralai_azure/src/mistralai/azure/client/sdk.py
similarity index 72%
rename from packages/mistralai_azure/src/mistralai_azure/sdk.py
rename to packages/mistralai_azure/src/mistralai/azure/client/sdk.py
index 04bc7743..879c841d 100644
--- a/packages/mistralai_azure/src/mistralai_azure/sdk.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/sdk.py
@@ -7,32 +7,37 @@
from .utils.retries import RetryConfig
import httpx
import importlib
-from mistralai_azure import models, utils
-from mistralai_azure._hooks import SDKHooks
-from mistralai_azure.types import OptionalNullable, UNSET
+from mistralai.azure.client import models, utils
+from mistralai.azure.client._hooks import SDKHooks
+from mistralai.azure.client.types import OptionalNullable, UNSET
+import sys
from typing import Any, Callable, Dict, Optional, TYPE_CHECKING, Union, cast
import weakref
if TYPE_CHECKING:
- from mistralai_azure.chat import Chat
- from mistralai_azure.ocr import Ocr
+ from mistralai.azure.client.chat import Chat
+ from mistralai.azure.client.ocr import Ocr
class MistralAzure(BaseSDK):
- r"""Mistral AI API: Our Chat Completion and Embeddings APIs specification. Create your account on [La Plateforme](https://console.mistral.ai) to get access and read the [docs](https://docs.mistral.ai) to learn how to use it."""
+ r"""Mistral AI API: Dora OpenAPI schema
+
+ Our Chat Completion and Embeddings APIs specification. Create your account on [La Plateforme](https://console.mistral.ai) to get access and read the [docs](https://docs.mistral.ai) to learn how to use it.
+ """
chat: "Chat"
r"""Chat Completion API."""
ocr: "Ocr"
_sub_sdk_map = {
- "chat": ("mistralai_azure.chat", "Chat"),
- "ocr": ("mistralai_azure.ocr", "Ocr"),
+ "chat": ("mistralai.azure.client.chat", "Chat"),
+ "ocr": ("mistralai.azure.client.ocr", "Ocr"),
}
def __init__(
self,
- azure_api_key: Union[str, Callable[[], str]],
- azure_endpoint: str,
+ api_key: Union[str, Callable[[], str]],
+ server: Optional[str] = None,
+ server_url: Optional[str] = None,
url_params: Optional[Dict[str, str]] = None,
client: Optional[HttpClient] = None,
async_client: Optional[AsyncHttpClient] = None,
@@ -42,25 +47,18 @@ def __init__(
) -> None:
r"""Instantiates the SDK configuring it with the provided parameters.
- :param azure_api_key: The azure_api_key required for authentication
- :param azure_endpoint: The Azure AI endpoint URL to use for all methods
+ :param api_key: The api_key required for authentication
+ :param server: The server by name to use for all methods
+ :param server_url: The server URL to use for all methods
:param url_params: Parameters to optionally template the server URL with
:param client: The HTTP client to use for all synchronous methods
:param async_client: The Async HTTP client to use for all asynchronous methods
:param retry_config: The retry configuration to use for all supported methods
:param timeout_ms: Optional request timeout applied to each operation in milliseconds
"""
-
- # if azure_endpoint doesn't end with `/v1` add it
- if not azure_endpoint.endswith("/"):
- azure_endpoint += "/"
- if not azure_endpoint.endswith("v1/"):
- azure_endpoint += "v1/"
- server_url = azure_endpoint
-
client_supplied = True
if client is None:
- client = httpx.Client()
+ client = httpx.Client(follow_redirects=True)
client_supplied = False
assert issubclass(
@@ -69,7 +67,7 @@ def __init__(
async_client_supplied = True
if async_client is None:
- async_client = httpx.AsyncClient()
+ async_client = httpx.AsyncClient(follow_redirects=True)
async_client_supplied = False
if debug_logger is None:
@@ -80,10 +78,11 @@ def __init__(
), "The provided async_client must implement the AsyncHttpClient protocol."
security: Any = None
- if callable(azure_api_key):
- security = lambda: models.Security(api_key=azure_api_key()) # pylint: disable=unnecessary-lambda-assignment
+ if callable(api_key):
+ # pylint: disable=unnecessary-lambda-assignment
+ security = lambda: models.Security(api_key=api_key())
else:
- security = models.Security(api_key=azure_api_key)
+ security = models.Security(api_key=api_key)
if server_url is not None:
if url_params is not None:
@@ -98,11 +97,12 @@ def __init__(
async_client_supplied=async_client_supplied,
security=security,
server_url=server_url,
- server=None,
+ server=server,
retry_config=retry_config,
timeout_ms=timeout_ms,
debug_logger=debug_logger,
),
+ parent_ref=self,
)
hooks = SDKHooks()
@@ -127,13 +127,24 @@ def __init__(
self.sdk_configuration.async_client_supplied,
)
+ def dynamic_import(self, modname, retries=3):
+ for attempt in range(retries):
+ try:
+ return importlib.import_module(modname)
+ except KeyError:
+ # Clear any half-initialized module and retry
+ sys.modules.pop(modname, None)
+ if attempt == retries - 1:
+ break
+ raise KeyError(f"Failed to import module '{modname}' after {retries} attempts")
+
def __getattr__(self, name: str):
if name in self._sub_sdk_map:
module_path, class_name = self._sub_sdk_map[name]
try:
- module = importlib.import_module(module_path)
+ module = self.dynamic_import(module_path)
klass = getattr(module, class_name)
- instance = klass(self.sdk_configuration)
+ instance = klass(self.sdk_configuration, parent_ref=self)
setattr(self, name, instance)
return instance
except ImportError as e:
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/sdkconfiguration.py b/packages/mistralai_azure/src/mistralai/azure/client/sdkconfiguration.py
similarity index 93%
rename from packages/mistralai_gcp/src/mistralai_gcp/sdkconfiguration.py
rename to packages/mistralai_azure/src/mistralai/azure/client/sdkconfiguration.py
index cf85c47e..919225f9 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/sdkconfiguration.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/sdkconfiguration.py
@@ -9,8 +9,8 @@
from .httpclient import AsyncHttpClient, HttpClient
from .utils import Logger, RetryConfig, remove_suffix
from dataclasses import dataclass
-from mistralai_gcp import models
-from mistralai_gcp.types import OptionalNullable, UNSET
+from mistralai.azure.client import models
+from mistralai.azure.client.types import OptionalNullable, UNSET
from pydantic import Field
from typing import Callable, Dict, Optional, Tuple, Union
diff --git a/packages/mistralai_azure/src/mistralai_azure/types/__init__.py b/packages/mistralai_azure/src/mistralai/azure/client/types/__init__.py
similarity index 100%
rename from packages/mistralai_azure/src/mistralai_azure/types/__init__.py
rename to packages/mistralai_azure/src/mistralai/azure/client/types/__init__.py
diff --git a/packages/mistralai_azure/src/mistralai_azure/types/basemodel.py b/packages/mistralai_azure/src/mistralai/azure/client/types/basemodel.py
similarity index 100%
rename from packages/mistralai_azure/src/mistralai_azure/types/basemodel.py
rename to packages/mistralai_azure/src/mistralai/azure/client/types/basemodel.py
diff --git a/packages/mistralai_azure/src/mistralai_azure/utils/__init__.py b/packages/mistralai_azure/src/mistralai/azure/client/utils/__init__.py
similarity index 100%
rename from packages/mistralai_azure/src/mistralai_azure/utils/__init__.py
rename to packages/mistralai_azure/src/mistralai/azure/client/utils/__init__.py
diff --git a/packages/mistralai_azure/src/mistralai_azure/utils/annotations.py b/packages/mistralai_azure/src/mistralai/azure/client/utils/annotations.py
similarity index 100%
rename from packages/mistralai_azure/src/mistralai_azure/utils/annotations.py
rename to packages/mistralai_azure/src/mistralai/azure/client/utils/annotations.py
diff --git a/packages/mistralai_azure/src/mistralai_azure/utils/datetimes.py b/packages/mistralai_azure/src/mistralai/azure/client/utils/datetimes.py
similarity index 100%
rename from packages/mistralai_azure/src/mistralai_azure/utils/datetimes.py
rename to packages/mistralai_azure/src/mistralai/azure/client/utils/datetimes.py
diff --git a/packages/mistralai_azure/src/mistralai_azure/utils/enums.py b/packages/mistralai_azure/src/mistralai/azure/client/utils/enums.py
similarity index 100%
rename from packages/mistralai_azure/src/mistralai_azure/utils/enums.py
rename to packages/mistralai_azure/src/mistralai/azure/client/utils/enums.py
diff --git a/packages/mistralai_azure/src/mistralai_azure/utils/eventstreaming.py b/packages/mistralai_azure/src/mistralai/azure/client/utils/eventstreaming.py
similarity index 100%
rename from packages/mistralai_azure/src/mistralai_azure/utils/eventstreaming.py
rename to packages/mistralai_azure/src/mistralai/azure/client/utils/eventstreaming.py
diff --git a/packages/mistralai_azure/src/mistralai_azure/utils/forms.py b/packages/mistralai_azure/src/mistralai/azure/client/utils/forms.py
similarity index 100%
rename from packages/mistralai_azure/src/mistralai_azure/utils/forms.py
rename to packages/mistralai_azure/src/mistralai/azure/client/utils/forms.py
diff --git a/packages/mistralai_azure/src/mistralai_azure/utils/headers.py b/packages/mistralai_azure/src/mistralai/azure/client/utils/headers.py
similarity index 100%
rename from packages/mistralai_azure/src/mistralai_azure/utils/headers.py
rename to packages/mistralai_azure/src/mistralai/azure/client/utils/headers.py
diff --git a/packages/mistralai_azure/src/mistralai_azure/utils/logger.py b/packages/mistralai_azure/src/mistralai/azure/client/utils/logger.py
similarity index 100%
rename from packages/mistralai_azure/src/mistralai_azure/utils/logger.py
rename to packages/mistralai_azure/src/mistralai/azure/client/utils/logger.py
diff --git a/packages/mistralai_azure/src/mistralai_azure/utils/metadata.py b/packages/mistralai_azure/src/mistralai/azure/client/utils/metadata.py
similarity index 100%
rename from packages/mistralai_azure/src/mistralai_azure/utils/metadata.py
rename to packages/mistralai_azure/src/mistralai/azure/client/utils/metadata.py
diff --git a/packages/mistralai_azure/src/mistralai_azure/utils/queryparams.py b/packages/mistralai_azure/src/mistralai/azure/client/utils/queryparams.py
similarity index 100%
rename from packages/mistralai_azure/src/mistralai_azure/utils/queryparams.py
rename to packages/mistralai_azure/src/mistralai/azure/client/utils/queryparams.py
diff --git a/packages/mistralai_azure/src/mistralai_azure/utils/requestbodies.py b/packages/mistralai_azure/src/mistralai/azure/client/utils/requestbodies.py
similarity index 100%
rename from packages/mistralai_azure/src/mistralai_azure/utils/requestbodies.py
rename to packages/mistralai_azure/src/mistralai/azure/client/utils/requestbodies.py
diff --git a/packages/mistralai_azure/src/mistralai_azure/utils/retries.py b/packages/mistralai_azure/src/mistralai/azure/client/utils/retries.py
similarity index 100%
rename from packages/mistralai_azure/src/mistralai_azure/utils/retries.py
rename to packages/mistralai_azure/src/mistralai/azure/client/utils/retries.py
diff --git a/packages/mistralai_azure/src/mistralai_azure/utils/security.py b/packages/mistralai_azure/src/mistralai/azure/client/utils/security.py
similarity index 100%
rename from packages/mistralai_azure/src/mistralai_azure/utils/security.py
rename to packages/mistralai_azure/src/mistralai/azure/client/utils/security.py
diff --git a/packages/mistralai_azure/src/mistralai_azure/utils/serializers.py b/packages/mistralai_azure/src/mistralai/azure/client/utils/serializers.py
similarity index 100%
rename from packages/mistralai_azure/src/mistralai_azure/utils/serializers.py
rename to packages/mistralai_azure/src/mistralai/azure/client/utils/serializers.py
diff --git a/packages/mistralai_azure/src/mistralai_azure/utils/unmarshal_json_response.py b/packages/mistralai_azure/src/mistralai/azure/client/utils/unmarshal_json_response.py
similarity index 95%
rename from packages/mistralai_azure/src/mistralai_azure/utils/unmarshal_json_response.py
rename to packages/mistralai_azure/src/mistralai/azure/client/utils/unmarshal_json_response.py
index f5813119..5317ac87 100644
--- a/packages/mistralai_azure/src/mistralai_azure/utils/unmarshal_json_response.py
+++ b/packages/mistralai_azure/src/mistralai/azure/client/utils/unmarshal_json_response.py
@@ -5,7 +5,7 @@
import httpx
from .serializers import unmarshal_json
-from mistralai_azure import models
+from mistralai.azure.client import models
T = TypeVar("T")
diff --git a/packages/mistralai_azure/src/mistralai_azure/utils/url.py b/packages/mistralai_azure/src/mistralai/azure/client/utils/url.py
similarity index 100%
rename from packages/mistralai_azure/src/mistralai_azure/utils/url.py
rename to packages/mistralai_azure/src/mistralai/azure/client/utils/url.py
diff --git a/packages/mistralai_azure/src/mistralai_azure/utils/values.py b/packages/mistralai_azure/src/mistralai/azure/client/utils/values.py
similarity index 100%
rename from packages/mistralai_azure/src/mistralai_azure/utils/values.py
rename to packages/mistralai_azure/src/mistralai/azure/client/utils/values.py
diff --git a/packages/mistralai_azure/src/mistralai_azure/_hooks/custom_user_agent.py b/packages/mistralai_azure/src/mistralai_azure/_hooks/custom_user_agent.py
deleted file mode 100644
index 77df6aef..00000000
--- a/packages/mistralai_azure/src/mistralai_azure/_hooks/custom_user_agent.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# THIS FILE IS THE EXACT COPY OF THE ORIGINAL FILE FROM src/mistralai/_hooks/custom_user_agent.py
-from typing import Union
-
-import httpx
-
-from .types import BeforeRequestContext, BeforeRequestHook
-
-PREFIX = "mistral-client-python/"
-
-class CustomUserAgentHook(BeforeRequestHook):
- def before_request(
- self, hook_ctx: BeforeRequestContext, request: httpx.Request
- ) -> Union[httpx.Request, Exception]:
- current = request.headers["user-agent"]
- if current.startswith(PREFIX):
- return request
-
- request.headers["user-agent"] = (
- PREFIX + current.split(" ")[1]
- )
-
- return request
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/imageurlchunk.py b/packages/mistralai_azure/src/mistralai_azure/models/imageurlchunk.py
deleted file mode 100644
index a40e451c..00000000
--- a/packages/mistralai_azure/src/mistralai_azure/models/imageurlchunk.py
+++ /dev/null
@@ -1,33 +0,0 @@
-"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
-
-from __future__ import annotations
-from .imageurl import ImageURL, ImageURLTypedDict
-from mistralai_azure.types import BaseModel
-from typing import Literal, Optional, Union
-from typing_extensions import NotRequired, TypeAliasType, TypedDict
-
-
-ImageURLChunkImageURLTypedDict = TypeAliasType(
- "ImageURLChunkImageURLTypedDict", Union[ImageURLTypedDict, str]
-)
-
-
-ImageURLChunkImageURL = TypeAliasType("ImageURLChunkImageURL", Union[ImageURL, str])
-
-
-ImageURLChunkType = Literal["image_url",]
-
-
-class ImageURLChunkTypedDict(TypedDict):
- r"""{\"type\":\"image_url\",\"image_url\":{\"url\":\"data:image/png;base64,iVBORw0"""
-
- image_url: ImageURLChunkImageURLTypedDict
- type: NotRequired[ImageURLChunkType]
-
-
-class ImageURLChunk(BaseModel):
- r"""{\"type\":\"image_url\",\"image_url\":{\"url\":\"data:image/png;base64,iVBORw0"""
-
- image_url: ImageURLChunkImageURL
-
- type: Optional[ImageURLChunkType] = "image_url"
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/textchunk.py b/packages/mistralai_azure/src/mistralai_azure/models/textchunk.py
deleted file mode 100644
index 5845456e..00000000
--- a/packages/mistralai_azure/src/mistralai_azure/models/textchunk.py
+++ /dev/null
@@ -1,20 +0,0 @@
-"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
-
-from __future__ import annotations
-from mistralai_azure.types import BaseModel
-from typing import Literal, Optional
-from typing_extensions import NotRequired, TypedDict
-
-
-Type = Literal["text",]
-
-
-class TextChunkTypedDict(TypedDict):
- text: str
- type: NotRequired[Type]
-
-
-class TextChunk(BaseModel):
- text: str
-
- type: Optional[Type] = "text"
diff --git a/packages/mistralai_azure/uv.lock b/packages/mistralai_azure/uv.lock
index a227d093..cedb1ce8 100644
--- a/packages/mistralai_azure/uv.lock
+++ b/packages/mistralai_azure/uv.lock
@@ -154,7 +154,7 @@ wheels = [
[[package]]
name = "mistralai-azure"
-version = "1.8.0"
+version = "2.0.0a4"
source = { editable = "." }
dependencies = [
{ name = "httpcore" },
diff --git a/packages/mistralai_gcp/.speakeasy/gen.lock b/packages/mistralai_gcp/.speakeasy/gen.lock
index 31eb1bc7..337c9a55 100644
--- a/packages/mistralai_gcp/.speakeasy/gen.lock
+++ b/packages/mistralai_gcp/.speakeasy/gen.lock
@@ -5,20 +5,21 @@ management:
docVersion: 1.0.0
speakeasyVersion: 1.685.0
generationVersion: 2.794.1
- releaseVersion: 1.8.0
- configChecksum: 42a1e5752a774fcdb0a5949bd6535933
+ releaseVersion: 2.0.0a4
+ configChecksum: 234ab955be3214c3769c926f06dcd40a
repoURL: https://github.com/mistralai/client-python.git
repoSubDirectory: packages/mistralai_gcp
installationURL: https://github.com/mistralai/client-python.git#subdirectory=packages/mistralai_gcp
published: true
persistentEdits:
- generation_id: e1cf1217-2a08-4cb8-b92c-542b4f885caa
- pristine_commit_hash: 57fe0df69b76fe4754f039d49f7c40770fb3097d
- pristine_tree_hash: c4c1037865fb86650ada485b300f96784045922f
+ generation_id: 5d03f9dd-9e48-45e2-893e-ae3d323a3834
+ pristine_commit_hash: ef7533c5e58c5f50521b490c0ce388da5b76c1d6
+ pristine_tree_hash: eea5e4afc33d7339b65aa260834703d94c0f4f8b
features:
python:
additionalDependencies: 1.0.0
additionalProperties: 1.0.1
+ configurableModuleName: 0.2.0
constsAndDefaults: 1.0.5
core: 5.23.18
defaultEnabledRetries: 0.2.0
@@ -57,16 +58,12 @@ trackedFiles:
pristine_git_object: 2e54e27e0ca97bee87918b2ae38cc6c335669a79
docs/models/assistantmessage.md:
id: 7e0218023943
- last_write_checksum: sha1:e75d407349842b2de46ee3ca6250f9f51121cf38
- pristine_git_object: 3d0bd90b4433c1a919f917f4bcf2518927cdcd50
+ last_write_checksum: sha1:8e8cc655e97126a378118a213e6167a7929e7600
+ pristine_git_object: 1ca5ac82d3e785e026a667800759efa9d2b246ac
docs/models/assistantmessagecontent.md:
id: 9f1795bbe642
last_write_checksum: sha1:1ce4066623a8d62d969e5ed3a088d73a9ba26643
pristine_git_object: 047b7cf95f4db203bf2c501680b73ca0562a122d
- docs/models/assistantmessagerole.md:
- id: bb5d2a4bc72f
- last_write_checksum: sha1:82f2c4f469426bd476c1003a91394afb89cb7c91
- pristine_git_object: 658229e77eb6419391cf7941568164541c528387
docs/models/chatcompletionchoice.md:
id: 0d15c59ab501
last_write_checksum: sha1:a6274a39a4239e054816d08517bf8507cb5c4564
@@ -77,12 +74,12 @@ trackedFiles:
pristine_git_object: b2f15ecbe88328de95b4961ddb3940fd8a6ee64b
docs/models/chatcompletionrequest.md:
id: adffe90369d0
- last_write_checksum: sha1:1ac7d6b5a8aba9c922cf5fe45f94aee55228f9db
- pristine_git_object: 6886f9dcd43e8d61f4ec6692235f281cb03a5c86
- docs/models/chatcompletionrequestmessages.md:
- id: ec996b350e12
- last_write_checksum: sha1:2ecec8d12cdb48426f4eb62732066fc79fcd4ec3
- pristine_git_object: bc7708a67f06d74e8a5bf1facb2b23fb1e08053c
+ last_write_checksum: sha1:2bf5152388f18436be4fe1c541b8d423dcae175c
+ pristine_git_object: 61a25d86e7dc292621f7f6c0f8909137a16b9112
+ docs/models/chatcompletionrequestmessage.md:
+ id: 3f5e170d418c
+ last_write_checksum: sha1:7921c5a508a9f88adc01caab34e26182b8035607
+ pristine_git_object: 91e9e062d0ef0cb69235c4ae4516548733ce28a9
docs/models/chatcompletionrequeststop.md:
id: fcaf5bbea451
last_write_checksum: sha1:71a25f84f0d88c7acf72e801ced6159546201851
@@ -97,8 +94,16 @@ trackedFiles:
pristine_git_object: a0465ffbfc5558628953e03fbc53b80bbdc8649b
docs/models/chatcompletionstreamrequest.md:
id: cf8f29558a68
- last_write_checksum: sha1:33778fdf71aa9b934ae48d51664daaa0dd817e04
- pristine_git_object: ff1940dd8a92d7892d895c3fc0e0a4b321e55534
+ last_write_checksum: sha1:f30b2a7353e7406eb30af841a1a211ea5cb30cb0
+ pristine_git_object: 3e790e7dc7143b0ae287ad2df14ae7e7a4085e3f
+ docs/models/chatcompletionstreamrequestmessage.md:
+ id: 053a98476cd2
+ last_write_checksum: sha1:8270692463fab1243d9de4bbef7162daa64e52c5
+ pristine_git_object: 2e4e93acca8983a3ea27b391d4606518946e13fe
+ docs/models/chatcompletionstreamrequeststop.md:
+ id: d0e89a4dca78
+ last_write_checksum: sha1:a889e9580fa94bda7c848682d6ba501b7f5c0f41
+ pristine_git_object: a48460a92ac47fec1de2188ba46b238229736d32
docs/models/chatcompletionstreamrequesttoolchoice.md:
id: 210d5e5b1413
last_write_checksum: sha1:0543164caf3f4fb2bef3061dbd1a5e6b34b17ae9
@@ -113,20 +118,24 @@ trackedFiles:
pristine_git_object: 7a66e8fee2bb0f1c58166177653893bb05b98f1d
docs/models/completionresponsestreamchoice.md:
id: d56824d615a6
- last_write_checksum: sha1:dcf4b125b533192cb5aea1a68551866954712dc5
- pristine_git_object: c807dacd98eb3561ee45f40db71a92cb72b0f6de
- docs/models/content.md:
- id: bfd859c99f86
- last_write_checksum: sha1:6673dbd19871a701955a322348a4f7e51c38ffc8
- pristine_git_object: a833dc2c6043e36b85131c9243b4cc02b9fcc4c6
+ last_write_checksum: sha1:0296a490df009dbfd04893fdebcc88dd6102a872
+ pristine_git_object: 1532c25b8fc065d486f52d4610a7f757e5340875
+ docs/models/completionresponsestreamchoicefinishreason.md:
+ id: 5f1fbfc90b8e
+ last_write_checksum: sha1:20824b4a223cbd3658b32440973a7d47dcd108b9
+ pristine_git_object: 0fece473297227c75db4e7ded63417a2f117cac0
docs/models/contentchunk.md:
id: d2d3a32080cd
last_write_checksum: sha1:5839a26cdc412b78caad7fb59df97bdcea57be6d
pristine_git_object: 22023e8b19692df969693b7a14f8cf6e0143859f
docs/models/deltamessage.md:
id: 6c5ed6b60968
- last_write_checksum: sha1:c213149256c620715d744c89685d5b6cbdea6f58
- pristine_git_object: 61deabbf7e37388fdd4c1789089d120cc0b937b9
+ last_write_checksum: sha1:00052476b9b2474dbc149f18dd18c71c86d0fc74
+ pristine_git_object: e0ee575f3fce7c312114ce8c5390efc5c4854952
+ docs/models/deltamessagecontent.md:
+ id: 7307bedc8733
+ last_write_checksum: sha1:a1211b8cb576ad1358e68983680ee326c3920a5e
+ pristine_git_object: 8142772d7ea33ad8a75cf9cf822564ba3f630de2
docs/models/fimcompletionrequest.md:
id: b44677ecc293
last_write_checksum: sha1:24bcb54d39b3fabd487549a27b4c0a65dd5ffe50
@@ -147,10 +156,6 @@ trackedFiles:
id: c97a11b764e9
last_write_checksum: sha1:958d5087050fdeb128745884ebcf565b4fdc3886
pristine_git_object: 5a9e2ff020d4939f7fd42c0673ea7bdd16cca99d
- docs/models/finishreason.md:
- id: 73315c2a39b3
- last_write_checksum: sha1:5b58c7fa9219f728b9731287e21abe1be9f11e4a
- pristine_git_object: 45a5aedb7241cf080df3eb976a4413064d314009
docs/models/function.md:
id: 416a80fba031
last_write_checksum: sha1:a9485076d430a7753558461ce87bf42d09e34511
@@ -173,16 +178,12 @@ trackedFiles:
pristine_git_object: 7c2bcbc36e99c3cf467d213d6a6a59d6300433d8
docs/models/imageurlchunk.md:
id: 4407097bfff3
- last_write_checksum: sha1:7a478fd638234ece78770c7fc5e8d0adaf1c3727
- pristine_git_object: f1b926ef8e82443aa1446b1c64c2f02e33d7c789
- docs/models/imageurlchunkimageurl.md:
- id: c7fae88454ce
- last_write_checksum: sha1:5eff71b7a8be7baacb9ba8ca0be0a0f7a391a325
- pristine_git_object: 767389082d25f06e617fec2ef0134dd9fb2d4064
- docs/models/imageurlchunktype.md:
- id: b9af2db9ff60
- last_write_checksum: sha1:990546f94648a09faf9d3ae55d7f6ee66de13e85
- pristine_git_object: 2064a0b405870313bd4b802a3b1988418ce8439e
+ last_write_checksum: sha1:b0d8050eaed2058ed8a2e019e31a060345dc508a
+ pristine_git_object: 68515bc367d71b7917fbe219450c727804ef207f
+ docs/models/imageurlunion.md:
+ id: 9d3c691a9db0
+ last_write_checksum: sha1:4e32bcd7d44746d2ddbfafbef96152bb2bdb2a15
+ pristine_git_object: db97130f26199dcb354ecb7469d09530b035daa2
docs/models/jsonschema.md:
id: a6b15ed6fac8
last_write_checksum: sha1:523465666ad3c292252b3fe60f345c7ffb29053f
@@ -191,10 +192,6 @@ trackedFiles:
id: b071d5a509cc
last_write_checksum: sha1:09a04749333ab50ae806c3ac6adcaa90d54df0f1
pristine_git_object: d6094ac2c6e0326c039dad2f6b89158694ef6aa7
- docs/models/messages.md:
- id: 2103cd675c2f
- last_write_checksum: sha1:f6940c9c67b98c49ae2bc2764f6c14178321f244
- pristine_git_object: 1d394500e8ffdd140457575568fc2ce465a1cc3a
docs/models/mistralpromptmode.md:
id: d17d5db4d3b6
last_write_checksum: sha1:abcb7205c5086169c7d9449d15ac142448a7d258
@@ -205,12 +202,8 @@ trackedFiles:
pristine_git_object: fae3c1ca4ba2c2ddb3b7de401ecdc8d56dcc7740
docs/models/referencechunk.md:
id: 07895f9debfd
- last_write_checksum: sha1:97d01dd2b907e87b58bebd9c950e1bef29747c89
- pristine_git_object: a132ca2fe6fbbaca644491cbc36d88b0c67cc6bc
- docs/models/referencechunktype.md:
- id: 0944b80ea9c8
- last_write_checksum: sha1:956b270766c7f11fe99f4a9b484cc29c159e7471
- pristine_git_object: 1e0e2fe64883ef5f3e628777b261b1224661d257
+ last_write_checksum: sha1:b8c24b748cf87df322aa31cb78bf84053ebc20d6
+ pristine_git_object: 96e4df7f06661a84f43ad1b22bbad4d48ccdb403
docs/models/responseformat.md:
id: 50a1e4140614
last_write_checksum: sha1:e877b2e81470ef5eec5675dfb91a47e74d5d3add
@@ -219,22 +212,18 @@ trackedFiles:
id: cf1f250b82db
last_write_checksum: sha1:105e1f9181913104b554051838cbdd0f728aa2c4
pristine_git_object: 2f5f1e5511b048323fee18a0ffdd506fe2b3d56f
- docs/models/role.md:
- id: b694540a5b1e
- last_write_checksum: sha1:260a50c56a8bd03cc535edf98ebec06437f87f8d
- pristine_git_object: affca78d5574cc42d8e6169f21968e5a8765e053
+ docs/models/roleenum.md:
+ id: 0d7e1c46e8a4
+ last_write_checksum: sha1:61fa8e7b302bffb18a9e4c19e7099580025a92c1
+ pristine_git_object: 4213c18d66e0508d066f3317b5fbbca05bef3ac3
docs/models/security.md:
id: 452e4d4eb67a
last_write_checksum: sha1:ce2871b49c1632d50e22d0b1ebe4999021d52313
pristine_git_object: c698674c513f5b20c04f629e50154e67977275f7
- docs/models/stop.md:
- id: f231cc9f5041
- last_write_checksum: sha1:86903cac5f57ad9b8ac07ecba6c454d40a53bdc8
- pristine_git_object: ba40ca83136d6d6cb4f1ef9e5ca3104a704e4846
docs/models/systemmessage.md:
id: fdb7963e1cdf
- last_write_checksum: sha1:97e726dff19a39b468767d5c01fc6256277ee71f
- pristine_git_object: 0dba71c00f40c85e74b2c1967e077ffff9660f13
+ last_write_checksum: sha1:561c3372391e093c890f477b3213c308ead50b81
+ pristine_git_object: dfb0cd0bd17aecbc1fe4b8410e78440f65038fef
docs/models/systemmessagecontent.md:
id: 94a56febaeda
last_write_checksum: sha1:6cb10b4b860b4204df57a29c650c85c826395aeb
@@ -245,16 +234,12 @@ trackedFiles:
pristine_git_object: 40030c170746d9953d25b979ab7e6f522018e230
docs/models/textchunk.md:
id: 6cd12e0ef110
- last_write_checksum: sha1:6d41d1991d122805734ed0d90ee01592aa5ae6ff
- pristine_git_object: 6daab3c381bd8c13d2935bf62578648a8470fc76
+ last_write_checksum: sha1:43bc634db23ae0ca56e9e0073817aa0b5a7a43c6
+ pristine_git_object: 8521a2c1049ccdcd75c01b34c85eabeeac4e2af5
docs/models/thinkchunk.md:
id: bca24d7153f6
- last_write_checksum: sha1:feb95a931bb9cdbfe28ab351618687e513cf830b
- pristine_git_object: 66b2e0cde70e25e2927180d2e709503401fddeab
- docs/models/thinkchunktype.md:
- id: 0fbeed985341
- last_write_checksum: sha1:790f991f95c86c26a6abb9c9c5debda8b53526f5
- pristine_git_object: baf6f755252d027295be082b53ecf80555039414
+ last_write_checksum: sha1:714ab1ad03b7641a9225bcb6bd47015e482b70c3
+ pristine_git_object: 07f6f7b13336f2766723bcdff1d535a53962487e
docs/models/thinking.md:
id: 07234f8dd364
last_write_checksum: sha1:a5962d1615b57996730da19e59fbfaa684321442
@@ -277,40 +262,32 @@ trackedFiles:
pristine_git_object: 0be3d6c54b13a8bf30773398a2c12e0d30d3ae58
docs/models/toolmessage.md:
id: 0553747c37a1
- last_write_checksum: sha1:3ac87031fdd4ba8b0996e95be8e7ef1a7ff41167
- pristine_git_object: a54f49332c2873471759b477fb4c712fa4fb61f5
+ last_write_checksum: sha1:f35fa287b94d2c1a9de46c2c479dadd5dca7144d
+ pristine_git_object: fa00d666d6d2baea0aac10fcdeff449eb73c9d39
docs/models/toolmessagecontent.md:
id: f0522d2d3c93
last_write_checksum: sha1:783769c0200baa1b6751327aa3e009fa83da72ee
pristine_git_object: 5c76091fbd2c8e0d768921fab19c7b761df73411
- docs/models/toolmessagerole.md:
- id: f333d4d1ab56
- last_write_checksum: sha1:7e1c004bad24e928da0c286a9f053516b172d24f
- pristine_git_object: c24e59c0c79ea886d266e38c673edd51531b9be6
docs/models/tooltypes.md:
id: adb50fe63ea2
last_write_checksum: sha1:f224c3d8732450b9c969b3e04027b7df7892694c
pristine_git_object: 84e49253c9b9bd1bd314e2a126106404cbb52f16
- docs/models/type.md:
- id: 98c32f09b2c8
- last_write_checksum: sha1:8aa9ca999e9648ddc2240bf80780684e3e858ddf
- pristine_git_object: eb0581e7174b6951d69c485a64af5244cb8687fa
+ docs/models/typeenum.md:
+ id: d306d1d601a4
+ last_write_checksum: sha1:33e1ed53f75cf8979b05d1de7f8176e7a087500f
+ pristine_git_object: 35a6f34c28d408da6b3ff9c9b527a88290f327e0
docs/models/usageinfo.md:
id: ec6fe65028a9
last_write_checksum: sha1:cf71fb9676d870eba7c4d10a69636e1db4054adc
pristine_git_object: f5204ac94a4d6191839031c66c5a9bc0124a1f35
docs/models/usermessage.md:
id: ed66d7a0f80b
- last_write_checksum: sha1:8291f7703e49ed669775dc953ea8cab6715dc7ed
- pristine_git_object: 63b0131091cd211b3b1477c1d63b5666a26db546
+ last_write_checksum: sha1:627f88dbb89e226a7d92564658c23a0e8d71342a
+ pristine_git_object: 78ed066eed9f0638edc6db697eaeaad6f32b4770
docs/models/usermessagecontent.md:
id: 52c072c851e8
last_write_checksum: sha1:1de02bcf7082768ebe1bb912fdbebbec5a577b5a
pristine_git_object: 8350f9e8f8996c136093e38760990f62fd01f8cf
- docs/models/usermessagerole.md:
- id: 99ffa937c462
- last_write_checksum: sha1:52014480516828b43827aa966b7319d9074f1111
- pristine_git_object: 171124e45988e784c56a6b92a0057ba00efc0db4
docs/models/utils/retryconfig.md:
id: 4343ac43161c
last_write_checksum: sha1:562c0f21e308ad10c27f85f75704c15592c6929d
@@ -335,300 +312,304 @@ trackedFiles:
id: fe273b08f514
last_write_checksum: sha1:b290b25b36dca3d5eb1a2e66a2e1bcf2e7326cf3
pristine_git_object: c35748f360329c2bc370e9b189f49b1a360b2c48
- src/mistralai_gcp/__init__.py:
- id: b6565f49e73b
+ src/mistralai/gcp/client/__init__.py:
+ id: 4f63decd432e
last_write_checksum: sha1:36306d1d404b6aeb912d27f1d9c52f098ff7bf9b
pristine_git_object: dd02e42e4cc509dc90e6ae70493054021faa5f9c
- src/mistralai_gcp/_hooks/__init__.py:
- id: 663f3129700b
+ src/mistralai/gcp/client/_hooks/__init__.py:
+ id: adcb191838d1
last_write_checksum: sha1:e3111289afd28ad557c21d9e2f918caabfb7037d
pristine_git_object: 2ee66cdd592fe41731c24ddd407c8ca31c50aec1
- src/mistralai_gcp/_hooks/sdkhooks.py:
- id: 46ab7e644296
- last_write_checksum: sha1:a2c018871bea47706a76b03d9a17dab717c339c0
- pristine_git_object: b81c2a2739d316cfed54daec48df6375155eb802
- src/mistralai_gcp/_hooks/types.py:
- id: 1f77198243ec
- last_write_checksum: sha1:fbf5f1fb258b75133c6b12ae688c03c18b2debd5
- pristine_git_object: f8088f4c26d3ae27202c716c80c391d4daed4156
- src/mistralai_gcp/_version.py:
- id: 4e2b8c406f49
- last_write_checksum: sha1:18c7db41065d76e733dc84c997f2a7808892a7c7
- pristine_git_object: a170f0ab6d229979b9077477809b10f2774a0144
- src/mistralai_gcp/basesdk.py:
- id: b84fa6111b69
- last_write_checksum: sha1:41381dd799bd5e1f8a15bb65a0672dc6cc4796c4
- pristine_git_object: 7a93de23ad83096b2392e05b11f29030b5961456
- src/mistralai_gcp/chat.py:
- id: 1cc7d54332ba
- last_write_checksum: sha1:b4b4db3cfeac555718e2d74e897c6ba22b07a672
- pristine_git_object: 3dd6040fc7a565ffc4854bcc25e1e24a6683896d
- src/mistralai_gcp/fim.py:
- id: 1e5bec08157c
- last_write_checksum: sha1:2c27170c5932893d4e8bec8ce45b2dc6e0957cd6
- pristine_git_object: 36d9fd60baaad606d9d57a30afdd9566b06b4caa
- src/mistralai_gcp/httpclient.py:
- id: 7de4ac861042
+ src/mistralai/gcp/client/_hooks/sdkhooks.py:
+ id: 7e23394c3f65
+ last_write_checksum: sha1:4a03a16da35168f25ed0cccfdb0d4c4d86bbe242
+ pristine_git_object: 2af4deeda8055f4c57c0c7f00a7b79033435cf34
+ src/mistralai/gcp/client/_hooks/types.py:
+ id: 4f37fd18bfd9
+ last_write_checksum: sha1:2b295cc28d5fa2c79495510c8b97a1ea60f993e0
+ pristine_git_object: ea95bed210db9180824efddfb1b3e47f5bf96489
+ src/mistralai/gcp/client/_version.py:
+ id: f87319e32c7b
+ last_write_checksum: sha1:8c07e6351bf2df8239b3c02db75ee469dba53394
+ pristine_git_object: ba48dac120cadd3f586b38659dc04e50838daa11
+ src/mistralai/gcp/client/basesdk.py:
+ id: 4d594572857b
+ last_write_checksum: sha1:45ed4b6078e01d52d1dcf4bdc5494b700f1a6cde
+ pristine_git_object: 6f9f5fd9a2cadc8893d6693c1d40a8114c0fdc2a
+ src/mistralai/gcp/client/chat.py:
+ id: 4c41f05f786e
+ last_write_checksum: sha1:a4d5609f51dee25dfc34f83e1eda2888aa01dda6
+ pristine_git_object: 78541248204cbd5b92b6d6d362924fcdada8a948
+ src/mistralai/gcp/client/fim.py:
+ id: 13d2d208e0ef
+ last_write_checksum: sha1:e6226c1720effd314afa7b9a21e5ec2347e5a74f
+ pristine_git_object: e2acacd58c28fa7ea718240b01a3714f7fc0b8f6
+ src/mistralai/gcp/client/httpclient.py:
+ id: a53dd7be6a4c
last_write_checksum: sha1:5e55338d6ee9f01ab648cad4380201a8a3da7dd7
pristine_git_object: 89560b566073785535643e694c112bedbd3db13d
- src/mistralai_gcp/models/__init__.py:
- id: 9a7b2a1f0dba
- last_write_checksum: sha1:54654df1aecc8d4f634ebd4dbcb0fed16da80309
- pristine_git_object: fe85b133a3a7652cfcfd3b44074be3729c8a9b7b
- src/mistralai_gcp/models/assistantmessage.py:
- id: 0779dd85c548
- last_write_checksum: sha1:ccf5d6a93bf007d47f0415320afb047278e10172
- pristine_git_object: 17d740b6eeb433b2865a652d1dd760227ad38191
- src/mistralai_gcp/models/chatcompletionchoice.py:
- id: b5843c853153
- last_write_checksum: sha1:d389ddcfb64980b6c56a42d53bce7c63e26cc569
- pristine_git_object: fe3ee952a207f772ec49972cbd30f83654c84ad9
- src/mistralai_gcp/models/chatcompletionrequest.py:
- id: 42d6cdf4646f
- last_write_checksum: sha1:9685d594f13e8500e9c7fbab1e0d4042fccfc23d
- pristine_git_object: 80345f9d956f64396f48850641842b2a3a6f8bee
- src/mistralai_gcp/models/chatcompletionresponse.py:
- id: 14720f23411e
- last_write_checksum: sha1:46f14c3e00d21e9f01756f111d353768ad939494
- pristine_git_object: a7953eb156cc8185d70f92df8a75a2ebb77840b9
- src/mistralai_gcp/models/chatcompletionstreamrequest.py:
- id: 2e17680adc7e
- last_write_checksum: sha1:37c2daaad5c557234b5f067152280440f4c96933
- pristine_git_object: e857d51522dc9964cde865d7f681bd856a3cbdaf
- src/mistralai_gcp/models/completionchunk.py:
- id: 7fa670acf4b8
- last_write_checksum: sha1:0d0fdb8efda7f0b6a8ff376b7da94cac8060e4e2
- pristine_git_object: ca002f52239f69b96dd967b5e91cb4ed544e51d0
- src/mistralai_gcp/models/completionevent.py:
- id: c25e6676e263
- last_write_checksum: sha1:528f13beedc9befc6fb71d4f9f2a2d4ff5e91817
- pristine_git_object: 33278c119c62205b8d9b09297066dc61c2a86cd1
- src/mistralai_gcp/models/completionresponsestreamchoice.py:
- id: 46946832a23e
- last_write_checksum: sha1:bc42569eb80dc034a1bde9170c35e6bc4ff52bb8
- pristine_git_object: ec9df52818fabf6bef33094bc7d25398066df3af
- src/mistralai_gcp/models/contentchunk.py:
- id: 96dd7160dff7
- last_write_checksum: sha1:484722b90615ca7af20993c570de79fe990a50f2
- pristine_git_object: da5671e348d363927af77188da6af07240398826
- src/mistralai_gcp/models/deltamessage.py:
- id: db6c3c4d3384
- last_write_checksum: sha1:e596610fa0dd100203cd7e515750782bfbdb0445
- pristine_git_object: 1801ac76522df2efc362712d46262aeba95abc87
- src/mistralai_gcp/models/fimcompletionrequest.py:
- id: ed8593c435af
- last_write_checksum: sha1:6561263425e385568189ffc61e6b00034136adc3
- pristine_git_object: bcc97c90d4d327c83666423317dae2dc90db3b82
- src/mistralai_gcp/models/fimcompletionresponse.py:
- id: 5f85a7cdb5fd
- last_write_checksum: sha1:3ac2057157c7d1cb1bfc81fca2915ba72546f968
- pristine_git_object: e1940b0a2290fc3f9afcbd9e945397b1b90660ec
- src/mistralai_gcp/models/fimcompletionstreamrequest.py:
- id: f17c4f8fa580
- last_write_checksum: sha1:ebbe89e576d498070fde6b195d5afa2dc8bd5eac
- pristine_git_object: 34d2ba65682b971f675f427cdf3aa6539071ce3a
- src/mistralai_gcp/models/function.py:
- id: 4612d6f83b9a
- last_write_checksum: sha1:7692ea8102475e4d82d83722a8aea1efde668774
- pristine_git_object: 7ad1ae645f99ab13c022c92e7733ff4b15d39cac
- src/mistralai_gcp/models/functioncall.py:
- id: a3ca765a9368
- last_write_checksum: sha1:e044de5b26b15d46dce8ad8bd0d13bdf3d24ef7d
- pristine_git_object: 99554c8862922184a05074bf01f71fbe20ac8fea
- src/mistralai_gcp/models/functionname.py:
- id: f97eb2c1bae3
- last_write_checksum: sha1:6343e5b4f724db6088c2055b058a9ebdd9bda995
- pristine_git_object: 00ec22f5ca6ff2d68d5cce2a020846a672ab0a1b
- src/mistralai_gcp/models/httpvalidationerror.py:
- id: f1ac6b7c81f3
- last_write_checksum: sha1:8e98e27a5440e2e1dbe330d1c889d43919d90b51
- pristine_git_object: 79609351e675148ef074988bb6ea8a11b81087dc
- src/mistralai_gcp/models/imageurl.py:
- id: 1668e9d55730
- last_write_checksum: sha1:2b8eaac00c956beb87434f8d5a21dff12611c788
- pristine_git_object: 20d4ba7719a6c04d2c7864459a68cca808e1a3f2
- src/mistralai_gcp/models/imageurlchunk.py:
- id: ebc4dfed0347
- last_write_checksum: sha1:5c625584449139a410138c9986323d1f86b52735
- pristine_git_object: ddb53f21a13aeed7884e213e92752de1870d9fb5
- src/mistralai_gcp/models/jsonschema.py:
- id: 4c32e4fa593e
- last_write_checksum: sha1:3c972f731f2bd92262ea04a65771c093254d3a5f
- pristine_git_object: 26914b2f8562da07e2d54d68a5806bedd32ec16a
- src/mistralai_gcp/models/mistralgcperror.py:
- id: 690cf29f596b
+ src/mistralai/gcp/client/models/__init__.py:
+ id: d9e976d01972
+ last_write_checksum: sha1:8c826229be899d2da60348eefd1cf36a1ca649af
+ pristine_git_object: 063bc6122e318eeca54ec3eb08075f1438c394b0
+ src/mistralai/gcp/client/models/assistantmessage.py:
+ id: d39c4bdd289e
+ last_write_checksum: sha1:63b70230041daf3e63b8fa296c82cf66e2bb0a88
+ pristine_git_object: a85535c6f558a98afad97a7e23e9545ad782d550
+ src/mistralai/gcp/client/models/chatcompletionchoice.py:
+ id: 8e65b56f3e6d
+ last_write_checksum: sha1:e6d1382e9f880b866130d900fd866997aaf80e45
+ pristine_git_object: ae5a2fbf38afbd86233dcaa8aa1c8441f5ed9eba
+ src/mistralai/gcp/client/models/chatcompletionrequest.py:
+ id: 4694a31c0003
+ last_write_checksum: sha1:edb744ec2baca1f9ba6574662fffb36fb7d3faab
+ pristine_git_object: 1bc039221910bf88396c96affe735c8ac822920b
+ src/mistralai/gcp/client/models/chatcompletionresponse.py:
+ id: dd9e4796fca9
+ last_write_checksum: sha1:76d7257583389ff5021e320a8f9a45a6deb07c7c
+ pristine_git_object: 317c4d84e378c14294d58c5aefd8c55ffe28754a
+ src/mistralai/gcp/client/models/chatcompletionstreamrequest.py:
+ id: 7294862af8ea
+ last_write_checksum: sha1:75d5bfcc204339b152dc78e33ac449c3aa9b5432
+ pristine_git_object: 0a5a0021a4862e7b92a5c31679bf42bfa704d15b
+ src/mistralai/gcp/client/models/completionchunk.py:
+ id: 6b9ed8c30877
+ last_write_checksum: sha1:4afc07c1824d81640f52a5c8bf89fde8893269b9
+ pristine_git_object: 9e54cb6dfaccf7f815b40be585e11585cb5fef78
+ src/mistralai/gcp/client/models/completionevent.py:
+ id: 3f55c4b8fc75
+ last_write_checksum: sha1:66665d921fd27df6ef0efce996a5446e49b989d8
+ pristine_git_object: bb1550093ce9adcb9bcd0548b69796e82f4f260b
+ src/mistralai/gcp/client/models/completionresponsestreamchoice.py:
+ id: ad9b98ca7e1c
+ last_write_checksum: sha1:04d195584fe4ea16544685e9989e5ae35205179a
+ pristine_git_object: 6f306721fbe47780c778833b80e97ab5d25d8367
+ src/mistralai/gcp/client/models/contentchunk.py:
+ id: 8714d3bf2698
+ last_write_checksum: sha1:347f43b4d7dcab18e09e6c3323f745a25ecfb04c
+ pristine_git_object: 1cd9e502ab7d4860daa79f907beafa71da086ab3
+ src/mistralai/gcp/client/models/deltamessage.py:
+ id: 404fc85f1a4c
+ last_write_checksum: sha1:3375624531d12279d225fb07a68e0396483b962f
+ pristine_git_object: 96923518438137cb729a69149b5b99be49836ad7
+ src/mistralai/gcp/client/models/fimcompletionrequest.py:
+ id: 5b79e2595d31
+ last_write_checksum: sha1:cc4fa68c60a6a500a9887e47dd2e9220327c6226
+ pristine_git_object: f37bbcc3cab020224531da898dd99cc175d49cd9
+ src/mistralai/gcp/client/models/fimcompletionresponse.py:
+ id: 402f602d29b8
+ last_write_checksum: sha1:cfe26848c7b14d6e374b7944d7ad44df822990b0
+ pristine_git_object: 5b80da3f03e4e99dfca971a53af1cf6472c889bb
+ src/mistralai/gcp/client/models/fimcompletionstreamrequest.py:
+ id: 31190cf25070
+ last_write_checksum: sha1:720f0a039a62cb508d513475a0e4bad45a9aa03c
+ pristine_git_object: 8e6102612998bde70d830bb0b8ee3a5e2a4dd01e
+ src/mistralai/gcp/client/models/function.py:
+ id: 2285a899b32e
+ last_write_checksum: sha1:a69ad9c8cd723e78a3949deefe43bcbf57426916
+ pristine_git_object: 28577eff06d052aeb58c2795dd0a92ae4f2e7552
+ src/mistralai/gcp/client/models/functioncall.py:
+ id: 17bb51f08e5f
+ last_write_checksum: sha1:b5fe2f061ea5f47057ee50011babc80de27e0ee6
+ pristine_git_object: 0f1b24251ce728b3c2a0fb9e9ca94f90a9c3b7be
+ src/mistralai/gcp/client/models/functionname.py:
+ id: 313a6001145f
+ last_write_checksum: sha1:fe1eefaed314efa788bd15beb63bf6b81abb307e
+ pristine_git_object: 585b9e39762e49356823e211ad86f701bca389b8
+ src/mistralai/gcp/client/models/httpvalidationerror.py:
+ id: bdb67f678798
+ last_write_checksum: sha1:c64a1b1b4e3a5a18781c4347b561629dec4658b5
+ pristine_git_object: d7944d1edc9334e142b81af48085081495407b47
+ src/mistralai/gcp/client/models/imageurl.py:
+ id: 4e330f3eae74
+ last_write_checksum: sha1:a64daae7e0ef71f8024a6381e7f4da465a13f427
+ pristine_git_object: e66d77ec412bc27c0c44a94a1da5525438dd7338
+ src/mistralai/gcp/client/models/imageurlchunk.py:
+ id: e68a4a393e9b
+ last_write_checksum: sha1:2eb2c8a205e5f8b320e2f597075cad9e5e27475b
+ pristine_git_object: fc5284c102c17a33c1ba6029c87515d509cd014b
+ src/mistralai/gcp/client/models/jsonschema.py:
+ id: 39c6e7d412a0
+ last_write_checksum: sha1:29ba87457959588ff7d8188ae2382fb88740151d
+ pristine_git_object: 443c429dd1461d7a6817335626cd585577c5bffe
+ src/mistralai/gcp/client/models/mistralgcperror.py:
+ id: 278d296220ff
last_write_checksum: sha1:0ec55c68e3daccf2aba3c52f0a7c77ad5102f4c9
pristine_git_object: fec729a590b2ea981e01f4af99d8b36ba52b4664
- src/mistralai_gcp/models/mistralpromptmode.py:
- id: d2ba58ed5184
- last_write_checksum: sha1:6fb8323de88682846a2a09e68550f3508a29f1f5
- pristine_git_object: a5cc534f8c53bc87b8451aac1b2a79e695530e71
- src/mistralai_gcp/models/no_response_error.py:
- id: 7a773ba0687f
+ src/mistralai/gcp/client/models/mistralpromptmode.py:
+ id: 8be4a4a683e4
+ last_write_checksum: sha1:c958567e95490abf3941fde69be69733e8afb90e
+ pristine_git_object: c765e4f1a0b86735255771231377f13d62f3d7a6
+ src/mistralai/gcp/client/models/no_response_error.py:
+ id: 2a7fa173594b
last_write_checksum: sha1:7f326424a7d5ae1bcd5c89a0d6b3dbda9138942f
pristine_git_object: 1deab64bc43e1e65bf3c412d326a4032ce342366
- src/mistralai_gcp/models/prediction.py:
- id: cd3b43190e22
- last_write_checksum: sha1:a0411a8e3b1ecb42b91405dd9ee2a2ee5f3fad59
- pristine_git_object: 36c87ab046ed9f1a28a371fbdc5c7d584d71b6d3
- src/mistralai_gcp/models/referencechunk.py:
- id: ee00a52fb6dd
- last_write_checksum: sha1:d0c05b6b1e7d085833d4a9ef85f1e0088c86d3a5
- pristine_git_object: 904e8b8250570371e2b59895196986a45e6d3562
- src/mistralai_gcp/models/responseformat.py:
- id: ad17dac36a51
- last_write_checksum: sha1:296d4b52f934c48490b71d85e1e9d0e207cee21a
- pristine_git_object: 9fe5116ca46d713f5f23c92ec1de8a73c5124408
- src/mistralai_gcp/models/responseformats.py:
- id: deb9c36c5ec5
+ src/mistralai/gcp/client/models/prediction.py:
+ id: 7a5463285bc8
+ last_write_checksum: sha1:1d1e81082d1c2bfd613f0bc00f7173995ad67c0c
+ pristine_git_object: f53579edc665dd7fc1cc2497b0cd05b69e541cd8
+ src/mistralai/gcp/client/models/referencechunk.py:
+ id: 523e477f8725
+ last_write_checksum: sha1:49f8538014ff95e566f65fa362517a7a9332678c
+ pristine_git_object: 7396378a3246d869a12e722878c4fb345e6352c0
+ src/mistralai/gcp/client/models/responseformat.py:
+ id: 06774bb65b42
+ last_write_checksum: sha1:a52a60dc45c0b0939b99754d6c0c603ef2f737d3
+ pristine_git_object: 34ae6b039a6c83c603fc6d47f6b2f233ec6c817a
+ src/mistralai/gcp/client/models/responseformats.py:
+ id: 18112ad0f6db
last_write_checksum: sha1:a212e85d286b5b49219f57d071a2232ff8b5263b
pristine_git_object: cbf83ce7b54ff8634f741334831807bfb5c98991
- src/mistralai_gcp/models/responsevalidationerror.py:
- id: 78e210042d35
- last_write_checksum: sha1:b8ba70238453017393e721c7d61b5f1e268d7c17
- pristine_git_object: ebd4f214747d451dc2733d6ea838c67bb0c84797
- src/mistralai_gcp/models/sdkerror.py:
- id: beed68eccaa1
- last_write_checksum: sha1:a058f2519ec22f72457e800600be469f13ff9915
- pristine_git_object: 7f53bbcd548d15f4fdd529bd3caea5249eb5e8e6
- src/mistralai_gcp/models/security.py:
- id: 32f877bd1399
- last_write_checksum: sha1:7bad1150440143f9f6faefe33911edf6c2afdec1
- pristine_git_object: 3857494264c0444d330c54570483710a5ed321f0
- src/mistralai_gcp/models/systemmessage.py:
- id: 13826cd6cb74
- last_write_checksum: sha1:876e84816c4e27ad77d6313777ba841ea3086cf9
- pristine_git_object: d74bdf3255bac53335eea08a6010cf1cc19380dd
- src/mistralai_gcp/models/systemmessagecontentchunks.py:
- id: 8233735d37db
- last_write_checksum: sha1:38fedfdb83824054a1734bcc7d39e7e040bf4792
- pristine_git_object: e0b5bbc30828cbf572e603efc86ee2695102ea31
- src/mistralai_gcp/models/textchunk.py:
- id: a330626b2006
- last_write_checksum: sha1:b801cf9b1913a70841c8fbdc9d433f0380ea82d8
- pristine_git_object: c4a8cf28cd2281cfda40cefa70ce1bd64d3e750d
- src/mistralai_gcp/models/thinkchunk.py:
- id: c38f6a213cc1
- last_write_checksum: sha1:a072f3bf01c2dc90ef6cc1b188b2e00e15923e07
- pristine_git_object: b88c0cb54c6926b3c896b3c192c5f3c51c676a51
- src/mistralai_gcp/models/tool.py:
- id: 86b94d6a3bcb
- last_write_checksum: sha1:14a081eb8639d834a7c4f209a79e7d1270202205
- pristine_git_object: 800de633962a0ccddab52596eae542318bb491b0
- src/mistralai_gcp/models/toolcall.py:
- id: 3047e78c2ac3
- last_write_checksum: sha1:d219f8d7de19f501b799caf0e232bdce95e2c891
- pristine_git_object: 23ef157aa1d24498805a489a8cebf3c0e257d919
- src/mistralai_gcp/models/toolchoice.py:
- id: 1f3d5233426e
- last_write_checksum: sha1:936b1ac7b44bc1bf357e6a66cc42ed0127ad015e
- pristine_git_object: 4a1483305f606afcc704e8d51ae363468354849e
- src/mistralai_gcp/models/toolchoiceenum.py:
- id: b4431b9cf3fd
+ src/mistralai/gcp/client/models/responsevalidationerror.py:
+ id: b90c1c09ac00
+ last_write_checksum: sha1:8251d902bf13c636e4fcf25b1a65436dbf8f56a0
+ pristine_git_object: e7e010177cd00eb395124b517d0c0f7e5f1f9018
+ src/mistralai/gcp/client/models/sdkerror.py:
+ id: a7cf4fa8974b
+ last_write_checksum: sha1:6a1c20e187cf03d3b59749ae5d314dd3eabe36b8
+ pristine_git_object: 5bd5b6dcb96dc85459e7cf1267acd2a12c52bc98
+ src/mistralai/gcp/client/models/security.py:
+ id: 7e13bda8273b
+ last_write_checksum: sha1:7086e929823d4eefe80cc279b605adfc8bbb08aa
+ pristine_git_object: 10a469b54d5e03873fb7d7d98627f2376c93d484
+ src/mistralai/gcp/client/models/systemmessage.py:
+ id: 6537664d2d1b
+ last_write_checksum: sha1:e7f8dc73154c6985fcdbb77259df9bbc4745f976
+ pristine_git_object: a7d695a7791eb5e97cd8f74e81c475c78e4b1a67
+ src/mistralai/gcp/client/models/systemmessagecontentchunks.py:
+ id: e120a6469c89
+ last_write_checksum: sha1:55529f2f29ba3087fbf117dbbe64e1dda92b2958
+ pristine_git_object: 225f38b712f5f3c7abfd526cc8c0386687814f36
+ src/mistralai/gcp/client/models/textchunk.py:
+ id: a134f120d4dc
+ last_write_checksum: sha1:9f46381e01f235560017ea80fbc85210eb625a99
+ pristine_git_object: 77576c9fd87f0861bf6a3496aeae7e8bb8dc986a
+ src/mistralai/gcp/client/models/thinkchunk.py:
+ id: 59a1d1ef2020
+ last_write_checksum: sha1:8cbcefd333957e4d725bcf379b9e1d3f995ac6a0
+ pristine_git_object: 2409c6dd4ec87f3616286eed52c9ac87567a178c
+ src/mistralai/gcp/client/models/tool.py:
+ id: 4b27d45e56ad
+ last_write_checksum: sha1:6d139575b740ea1f9f68a73b7bc2c95c30a10345
+ pristine_git_object: d09c68542f2cb1f3bae0ffc7a7b163ad08a8e973
+ src/mistralai/gcp/client/models/toolcall.py:
+ id: e6c25869a579
+ last_write_checksum: sha1:5acf0eca8b1f4c459c6d8cadbbbd90605201ddc0
+ pristine_git_object: a1edf3370426957980ff212367d56909ea8fa548
+ src/mistralai/gcp/client/models/toolchoice.py:
+ id: cb13a9f64c92
+ last_write_checksum: sha1:3ad6b48b24b39609e86229193ad18d84b1b3c818
+ pristine_git_object: de3828dac8bc23e32b9f9434adccc770b5ce1212
+ src/mistralai/gcp/client/models/toolchoiceenum.py:
+ id: d62e9c92d93c
last_write_checksum: sha1:3dbba9a58c5569aafe115f3f7713a52b01ad8620
pristine_git_object: 01f6f677b379f9e3c99db9d1ad248cb0033a2804
- src/mistralai_gcp/models/toolmessage.py:
- id: e21a2326eb31
- last_write_checksum: sha1:c332f72e272fff7970f52e2b15223a2898ce9b15
- pristine_git_object: d6aa2621b83bde261fab7bd15f58273861f88738
- src/mistralai_gcp/models/tooltypes.py:
- id: b4c1716d51b3
- last_write_checksum: sha1:0f8fe0c437736eb584cce298a5e72c4e25f7c42b
- pristine_git_object: 8b812ae0cfee81a1cd8ab0180e65f57d19a0dcbd
- src/mistralai_gcp/models/usageinfo.py:
- id: 574d1999c265
- last_write_checksum: sha1:a0a88fe5b3cae9317781b99cb3cc1916a9ba17cc
- pristine_git_object: 59f36158761c3a86900256a6ed73845c455417c7
- src/mistralai_gcp/models/usermessage.py:
- id: cf3691ffafa6
- last_write_checksum: sha1:d0ed86a67403d65ed6ac7a31aa5f73e19ecfa670
- pristine_git_object: 0168b45235bc891888c095565af832535dd26139
- src/mistralai_gcp/models/validationerror.py:
- id: f1a6468621bd
- last_write_checksum: sha1:a4cc5969f12e00be3506edc90ec21a01d5415eff
- pristine_git_object: 033d4b63d1c321ae2c49e8684b34817adddca4c2
- src/mistralai_gcp/py.typed:
- id: 7f25f97fed44
+ src/mistralai/gcp/client/models/toolmessage.py:
+ id: b3774786c2e9
+ last_write_checksum: sha1:4932bb256b1654e84dfce2f7af9f637bb560f0d5
+ pristine_git_object: 27a6ca277db0a9e613290a17241d7de77b293e3e
+ src/mistralai/gcp/client/models/tooltypes.py:
+ id: 5926c64f5229
+ last_write_checksum: sha1:ffd576511eed9f823c3d67df9fc5574d8d53c54b
+ pristine_git_object: fd1aa13d7b8c5d9bdb0922e04b8bd653ff843f60
+ src/mistralai/gcp/client/models/usageinfo.py:
+ id: 3aab1af66cff
+ last_write_checksum: sha1:47c6311bc1db47849a72c8e1bcc64dac9cec637e
+ pristine_git_object: 9b7207b10ea9d46d8216c104c45be1a52fb093d9
+ src/mistralai/gcp/client/models/usermessage.py:
+ id: 9cfa7260463e
+ last_write_checksum: sha1:580acf868a3d180eef34b2af9c2d20f78e4fb693
+ pristine_git_object: c083e16d4aa536beec9f9e1151ebbe8c1797798c
+ src/mistralai/gcp/client/models/validationerror.py:
+ id: 6b4f4910ea9c
+ last_write_checksum: sha1:2792fd656f55519902f37670fb9fb3b43b4aa016
+ pristine_git_object: 2d330e9acb579cc4928fa27fdd72288ce8832b8b
+ src/mistralai/gcp/client/py.typed:
+ id: 98b8ab80ab0d
last_write_checksum: sha1:8efc425ffe830805ffcc0f3055871bdcdc542c60
pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544
- src/mistralai_gcp/sdkconfiguration.py:
- id: 84fd7d3e219a
- last_write_checksum: sha1:df51450c87f807c849e2aefb0a154aa4426fd8e3
- pristine_git_object: cf85c47e5e33956a64ddea53d85cdb7cc4bb687e
- src/mistralai_gcp/types/__init__.py:
- id: 15a92fdbd0a1
+ src/mistralai/gcp/client/sdk.py:
+ id: a42547ea191a
+ last_write_checksum: sha1:8b94922e1ebf5af349bc7e0ff83250514bbfbfad
+ pristine_git_object: 63a766a48f35345038c4649fe185191afade5eaa
+ src/mistralai/gcp/client/sdkconfiguration.py:
+ id: 57be0f79ea1e
+ last_write_checksum: sha1:0c5905e7c6092f57c15ee4318a85c0985bcc1ccf
+ pristine_git_object: d56a634f688f6697ba84962381084dc2d0836ac9
+ src/mistralai/gcp/client/types/__init__.py:
+ id: f7ef15ac2ba1
last_write_checksum: sha1:140ebdd01a46f92ffc710c52c958c4eba3cf68ed
pristine_git_object: fc76fe0c5505e29859b5d2bb707d48fd27661b8c
- src/mistralai_gcp/types/basemodel.py:
- id: 0dd6dc277359
+ src/mistralai/gcp/client/types/basemodel.py:
+ id: 24babf758c19
last_write_checksum: sha1:10d84aedeb9d35edfdadf2c3020caa1d24d8b584
pristine_git_object: a9a640a1a7048736383f96c67c6290c86bf536ee
- src/mistralai_gcp/utils/__init__.py:
- id: bb44726e5fa4
+ src/mistralai/gcp/client/utils/__init__.py:
+ id: a30c8ff6dcff
last_write_checksum: sha1:887f56a717845fab7445cc368d2a17d850c3565a
pristine_git_object: 05f26ade57efb8c54a774fbcb939fb1a7dc655ce
- src/mistralai_gcp/utils/annotations.py:
- id: aeecca0c40a3
+ src/mistralai/gcp/client/utils/annotations.py:
+ id: 9b2cd4ffc6e9
last_write_checksum: sha1:a4824ad65f730303e4e1e3ec1febf87b4eb46dbc
pristine_git_object: 12e0aa4f1151bb52474cc02e88397329b90703f6
- src/mistralai_gcp/utils/datetimes.py:
- id: e3e3bb6cb264
+ src/mistralai/gcp/client/utils/datetimes.py:
+ id: dd1f0f91ea9d
last_write_checksum: sha1:c721e4123000e7dc61ec52b28a739439d9e17341
pristine_git_object: a6c52cd61bbe2d459046c940ce5e8c469f2f0664
- src/mistralai_gcp/utils/enums.py:
- id: 9f020fc8d361
+ src/mistralai/gcp/client/utils/enums.py:
+ id: 2341407d5443
last_write_checksum: sha1:bc8c3c1285ae09ba8a094ee5c3d9c7f41fa1284d
pristine_git_object: 3324e1bc2668c54c4d5f5a1a845675319757a828
- src/mistralai_gcp/utils/eventstreaming.py:
- id: d570df9074cf
+ src/mistralai/gcp/client/utils/eventstreaming.py:
+ id: bb66f0c3e0dc
last_write_checksum: sha1:bababae5d54b7efc360db701daa49e18a92c2f3b
pristine_git_object: 0969899bfc491e5e408d05643525f347ea95e4fc
- src/mistralai_gcp/utils/forms.py:
- id: fe642748c385
+ src/mistralai/gcp/client/utils/forms.py:
+ id: ebf34781d6bd
last_write_checksum: sha1:15fa7e9ab1611e062a9984cf06cb20969713d295
pristine_git_object: f961e76beaf0a8b1fe0dda44754a74eebd3608e7
- src/mistralai_gcp/utils/headers.py:
- id: 0cb933d098ed
+ src/mistralai/gcp/client/utils/headers.py:
+ id: 4c369582903e
last_write_checksum: sha1:7c6df233ee006332b566a8afa9ce9a245941d935
pristine_git_object: 37864cbbbc40d1a47112bbfdd3ba79568fc8818a
- src/mistralai_gcp/utils/logger.py:
- id: 2992f9bda9c7
+ src/mistralai/gcp/client/utils/logger.py:
+ id: 082d86b60820
last_write_checksum: sha1:f3fdb154a3f09b8cc43d74c7e9c02f899f8086e4
pristine_git_object: b661aff65d38b77d035149699aea09b2785d2fc6
- src/mistralai_gcp/utils/metadata.py:
- id: af274ae68c93
+ src/mistralai/gcp/client/utils/metadata.py:
+ id: ff0e832b8b9c
last_write_checksum: sha1:c6a560bd0c63ab158582f34dadb69433ea73b3d4
pristine_git_object: 173b3e5ce658675c2f504222a56b3daaaa68107d
- src/mistralai_gcp/utils/queryparams.py:
- id: b20aa8da5982
+ src/mistralai/gcp/client/utils/queryparams.py:
+ id: 133b8408e73e
last_write_checksum: sha1:b94c3f314fd3da0d1d215afc2731f48748e2aa59
pristine_git_object: c04e0db82b68eca041f2cb2614d748fbac80fd41
- src/mistralai_gcp/utils/requestbodies.py:
- id: 1a2ddaa8f5a2
+ src/mistralai/gcp/client/utils/requestbodies.py:
+ id: 1be13a660954
last_write_checksum: sha1:41e2d2d2d3ecc394c8122ca4d4b85e1c3e03f054
pristine_git_object: 1de32b6d26f46590232f398fdba6ce0072f1659c
- src/mistralai_gcp/utils/retries.py:
- id: 8caeba1fe4ab
+ src/mistralai/gcp/client/utils/retries.py:
+ id: 542ebd75b79b
last_write_checksum: sha1:5b97ac4f59357d70c2529975d50364c88bcad607
pristine_git_object: 88a91b10cd2076b4a2c6cff2ac6bfaa5e3c5ad13
- src/mistralai_gcp/utils/security.py:
- id: fa4f52aaad5d
+ src/mistralai/gcp/client/utils/security.py:
+ id: 5273152365f4
last_write_checksum: sha1:a17130ace2c0db6394f38dd941ad2b700cc755c8
pristine_git_object: 295a3f40031dbb40073ad227fd4a355660f97ab2
- src/mistralai_gcp/utils/serializers.py:
- id: 920ccb5c87f2
+ src/mistralai/gcp/client/utils/serializers.py:
+ id: a7836e553d41
last_write_checksum: sha1:ce1d8d7f500a9ccba0aeca5057cee9c271f4dfd7
pristine_git_object: 14321eb479de81d0d9580ec8291e0ff91bf29e57
- src/mistralai_gcp/utils/unmarshal_json_response.py:
- id: 65d5fa644cf8
- last_write_checksum: sha1:877dd4bb58700039a481fdf7d7216d2d9a0b3e92
- pristine_git_object: c168a293f7018fc3b83cac0d8f723475e5f05631
- src/mistralai_gcp/utils/url.py:
- id: 116eb5a78ca7
+ src/mistralai/gcp/client/utils/unmarshal_json_response.py:
+ id: d972d22cf934
+ last_write_checksum: sha1:a68b9e491188e6c1956a749530eac3c7dc8004e7
+ pristine_git_object: 83e8275e59adf51fb01a0579ae26627ee29fee49
+ src/mistralai/gcp/client/utils/url.py:
+ id: 0d311bbcb8f8
last_write_checksum: sha1:6479961baa90432ca25626f8e40a7bbc32e73b41
pristine_git_object: c78ccbae426ce6d385709d97ce0b1c2813ea2418
- src/mistralai_gcp/utils/values.py:
- id: 9cc9ee47c951
+ src/mistralai/gcp/client/utils/values.py:
+ id: 328207e9ae81
last_write_checksum: sha1:acaa178a7c41ddd000f58cc691e4632d925b2553
pristine_git_object: dae01a44384ac3bc13ae07453a053bf6c898ebe3
examples:
diff --git a/packages/mistralai_gcp/.speakeasy/gen.yaml b/packages/mistralai_gcp/.speakeasy/gen.yaml
index 2aacaa62..fd8ed632 100644
--- a/packages/mistralai_gcp/.speakeasy/gen.yaml
+++ b/packages/mistralai_gcp/.speakeasy/gen.yaml
@@ -8,11 +8,13 @@ generation:
useClassNamesForArrayFields: true
fixes:
nameResolutionDec2023: true
- nameResolutionFeb2025: false
+ nameResolutionFeb2025: true
parameterOrderingFeb2024: true
requestResponseComponentNamesFeb2024: true
- securityFeb2025: false
- sharedErrorComponentsApr2025: false
+ securityFeb2025: true
+ sharedErrorComponentsApr2025: true
+ methodSignaturesApr2024: true
+ sharedNestedComponentsJan2026: true
auth:
oAuth2ClientCredentialsEnabled: true
oAuth2PasswordEnabled: false
@@ -26,14 +28,11 @@ generation:
generateNewTests: false
skipResponseBodyAssertions: false
python:
- version: 1.8.0
+ version: 2.0.0a4
additionalDependencies:
dev:
pytest: ^8.2.2
pytest-asyncio: ^0.23.7
- main:
- google-auth: ^2.31.0
- requests: ^2.32.3
allowedRedefinedBuiltins:
- id
- object
@@ -48,10 +47,13 @@ python:
enableCustomCodeRegions: false
enumFormat: union
fixFlags:
- responseRequiredSep2024: false
+ responseRequiredSep2024: true
+ flatAdditionalProperties: true
flattenGlobalSecurity: true
flattenRequests: true
flatteningOrder: parameters-first
+ forwardCompatibleEnumsByDefault: true
+ forwardCompatibleUnionsByDefault: tagged-only
imports:
option: openapi
paths:
@@ -65,12 +67,12 @@ python:
license: ""
maxMethodParams: 15
methodArguments: infer-optional-args
- moduleName: ""
+ moduleName: mistralai.gcp.client
multipartArrayFormat: legacy
outputModelSuffix: output
packageManager: uv
packageName: mistralai-gcp
- preApplyUnionDiscriminators: false
+ preApplyUnionDiscriminators: true
pytestFilterWarnings: []
pytestTimeout: 0
responseFormat: flat
diff --git a/packages/mistralai_gcp/README.md b/packages/mistralai_gcp/README.md
index a4233244..2c6e3584 100644
--- a/packages/mistralai_gcp/README.md
+++ b/packages/mistralai_gcp/README.md
@@ -28,7 +28,7 @@ This example shows how to create chat completions.
```python
# Synchronous Example
-from mistralai_gcp import MistralGCP
+from mistralai.gcp.client import MistralGCP
import os
)
@@ -51,7 +51,7 @@ The same SDK client can also be used to make asychronous requests by importing a
```python
# Asynchronous Example
import asyncio
-from mistralai_gcp import MistralGCP
+from mistralai.gcp.client import MistralGCP
import os
async def main():
@@ -96,7 +96,7 @@ terminate when the server no longer has any events to send and closes the
underlying connection.
```python
-from mistralai_gcp import MistralGCP
+from mistralai.gcp.client import MistralGCP
import os
s = MistralGCP()
@@ -127,8 +127,8 @@ Some of the endpoints in this SDK support retries. If you use the SDK without an
To change the default retry strategy for a single API call, simply provide a `RetryConfig` object to the call:
```python
-from mistralai_gcp import MistralGCP
-from mistralgcp.utils import BackoffStrategy, RetryConfig
+from mistralai.gcp.client import MistralGCP
+from mistralai.gcp.client.utils import BackoffStrategy, RetryConfig
import os
s = MistralGCP()
@@ -158,8 +158,8 @@ if res is not None:
If you'd like to override the default retry strategy for all operations that support retries, you can use the `retry_config` optional parameter when initializing the SDK:
```python
-from mistralai_gcp import MistralGCP
-from mistralgcp.utils import BackoffStrategy, RetryConfig
+from mistralai.gcp.client import MistralGCP
+from mistralai.gcp.client.utils import BackoffStrategy, RetryConfig
import os
s = MistralGCP(
@@ -198,7 +198,8 @@ Handling errors in this SDK should largely match your expectations. All operati
### Example
```python
-from mistralai_gcp import MistralGCP, models
+from mistralai.gcp.client import MistralGCP
+from mistralai.gcp.client import models
import os
s = MistralGCP()
@@ -243,7 +244,7 @@ You can override the default server globally by passing a server name to the `se
#### Example
```python
-from mistralai_gcp import MistralGCP
+from mistralai.gcp.client import MistralGCP
import os
s = MistralGCP(server="prod")
@@ -271,7 +272,7 @@ if res is not None:
The default server can also be overridden globally by passing a URL to the `server_url: str` optional parameter when initializing the SDK client instance. For example:
```python
-from mistralai_gcp import MistralGCP
+from mistralai.gcp.client import MistralGCP
import os
s = MistralGCP(
@@ -306,7 +307,7 @@ This allows you to wrap the client with your own custom logic, such as adding cu
For example, you could specify a header for every request that this sdk makes as follows:
```python
-from mistralai_gcp import MistralGCP
+from mistralai.gcp.client import MistralGCP
import httpx
http_client = httpx.Client(headers={"x-custom-header": "someValue"})
@@ -315,8 +316,8 @@ s = MistralGCP(client=http_client)
or you could wrap the client with your own custom logic:
```python
-from mistralai_gcp import MistralGCP
-from mistralai_gcp.httpclient import AsyncHttpClient
+from mistralai.gcp.client import MistralGCP
+from mistralai.gcp.client.httpclient import AsyncHttpClient
import httpx
class CustomClient(AsyncHttpClient):
@@ -391,7 +392,7 @@ This SDK supports the following security scheme globally:
To authenticate with the API the `api_key` parameter must be set when initializing the SDK client instance. For example:
```python
-from mistralai_gcp import MistralGCP
+from mistralai.gcp.client import MistralGCP
import os
s = MistralGCP()
diff --git a/packages/mistralai_gcp/USAGE.md b/packages/mistralai_gcp/USAGE.md
index 30fa08aa..732d92e3 100644
--- a/packages/mistralai_gcp/USAGE.md
+++ b/packages/mistralai_gcp/USAGE.md
@@ -5,7 +5,7 @@ This example shows how to create chat completions.
```python
# Synchronous Example
-from mistralai_gcp import MistralGCP
+from mistralai.gcp.client import MistralGCP
import os
s = MistralGCP()
@@ -29,7 +29,7 @@ The same SDK client can also be used to make asychronous requests by importing a
```python
# Asynchronous Example
import asyncio
-from mistralai_gcp import MistralGCP
+from mistralai.gcp.client import MistralGCP
import os
async def main():
diff --git a/packages/mistralai_gcp/docs/models/assistantmessage.md b/packages/mistralai_gcp/docs/models/assistantmessage.md
index 3d0bd90b..1ca5ac82 100644
--- a/packages/mistralai_gcp/docs/models/assistantmessage.md
+++ b/packages/mistralai_gcp/docs/models/assistantmessage.md
@@ -8,4 +8,4 @@
| `content` | [OptionalNullable[models.AssistantMessageContent]](../models/assistantmessagecontent.md) | :heavy_minus_sign: | N/A |
| `tool_calls` | List[[models.ToolCall](../models/toolcall.md)] | :heavy_minus_sign: | N/A |
| `prefix` | *Optional[bool]* | :heavy_minus_sign: | Set this to `true` when adding an assistant message as prefix to condition the model response. The role of the prefix message is to force the model to start its answer by the content of the message. |
-| `role` | [Optional[models.AssistantMessageRole]](../models/assistantmessagerole.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `role` | [Optional[models.RoleEnum]](../models/roleenum.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/packages/mistralai_gcp/docs/models/chatcompletionrequest.md b/packages/mistralai_gcp/docs/models/chatcompletionrequest.md
index 6886f9dc..61a25d86 100644
--- a/packages/mistralai_gcp/docs/models/chatcompletionrequest.md
+++ b/packages/mistralai_gcp/docs/models/chatcompletionrequest.md
@@ -13,7 +13,7 @@
| `stop` | [Optional[models.ChatCompletionRequestStop]](../models/chatcompletionrequeststop.md) | :heavy_minus_sign: | Stop generation if this token is detected. Or if one of these tokens is detected when providing an array | |
| `random_seed` | *OptionalNullable[int]* | :heavy_minus_sign: | The seed to use for random sampling. If set, different calls will generate deterministic results. | |
| `metadata` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |
-| `messages` | List[[models.ChatCompletionRequestMessages](../models/chatcompletionrequestmessages.md)] | :heavy_check_mark: | The prompt(s) to generate completions for, encoded as a list of dict with role and content. | [
{
"role": "user",
"content": "Who is the best French painter? Answer in one short sentence."
}
] |
+| `messages` | List[[models.ChatCompletionRequestMessage](../models/chatcompletionrequestmessage.md)] | :heavy_check_mark: | The prompt(s) to generate completions for, encoded as a list of dict with role and content. | [
{
"role": "user",
"content": "Who is the best French painter? Answer in one short sentence."
}
] |
| `response_format` | [Optional[models.ResponseFormat]](../models/responseformat.md) | :heavy_minus_sign: | Specify the format that the model must output. By default it will use `{ "type": "text" }`. Setting to `{ "type": "json_object" }` enables JSON mode, which guarantees the message the model generates is in JSON. When using JSON mode you MUST also instruct the model to produce JSON yourself with a system or a user message. Setting to `{ "type": "json_schema" }` enables JSON schema mode, which guarantees the message the model generates is in JSON and follows the schema you provide. | {
"type": "text"
} |
| `tools` | List[[models.Tool](../models/tool.md)] | :heavy_minus_sign: | A list of tools the model may call. Use this to provide a list of functions the model may generate JSON inputs for. | |
| `tool_choice` | [Optional[models.ChatCompletionRequestToolChoice]](../models/chatcompletionrequesttoolchoice.md) | :heavy_minus_sign: | Controls which (if any) tool is called by the model. `none` means the model will not call any tool and instead generates a message. `auto` means the model can pick between generating a message or calling one or more tools. `any` or `required` means the model must call one or more tools. Specifying a particular tool via `{"type": "function", "function": {"name": "my_function"}}` forces the model to call that tool. | |
diff --git a/packages/mistralai_gcp/docs/models/messages.md b/packages/mistralai_gcp/docs/models/chatcompletionrequestmessage.md
similarity index 92%
rename from packages/mistralai_gcp/docs/models/messages.md
rename to packages/mistralai_gcp/docs/models/chatcompletionrequestmessage.md
index 1d394500..91e9e062 100644
--- a/packages/mistralai_gcp/docs/models/messages.md
+++ b/packages/mistralai_gcp/docs/models/chatcompletionrequestmessage.md
@@ -1,4 +1,4 @@
-# Messages
+# ChatCompletionRequestMessage
## Supported Types
diff --git a/packages/mistralai_gcp/docs/models/chatcompletionstreamrequest.md b/packages/mistralai_gcp/docs/models/chatcompletionstreamrequest.md
index ff1940dd..3e790e7d 100644
--- a/packages/mistralai_gcp/docs/models/chatcompletionstreamrequest.md
+++ b/packages/mistralai_gcp/docs/models/chatcompletionstreamrequest.md
@@ -10,10 +10,10 @@
| `top_p` | *Optional[float]* | :heavy_minus_sign: | Nucleus sampling, where the model considers the results of the tokens with `top_p` probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. We generally recommend altering this or `temperature` but not both. | |
| `max_tokens` | *OptionalNullable[int]* | :heavy_minus_sign: | The maximum number of tokens to generate in the completion. The token count of your prompt plus `max_tokens` cannot exceed the model's context length. | |
| `stream` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
-| `stop` | [Optional[models.Stop]](../models/stop.md) | :heavy_minus_sign: | Stop generation if this token is detected. Or if one of these tokens is detected when providing an array | |
+| `stop` | [Optional[models.ChatCompletionStreamRequestStop]](../models/chatcompletionstreamrequeststop.md) | :heavy_minus_sign: | Stop generation if this token is detected. Or if one of these tokens is detected when providing an array | |
| `random_seed` | *OptionalNullable[int]* | :heavy_minus_sign: | The seed to use for random sampling. If set, different calls will generate deterministic results. | |
| `metadata` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |
-| `messages` | List[[models.Messages](../models/messages.md)] | :heavy_check_mark: | The prompt(s) to generate completions for, encoded as a list of dict with role and content. | [
{
"role": "user",
"content": "Who is the best French painter? Answer in one short sentence."
}
] |
+| `messages` | List[[models.ChatCompletionStreamRequestMessage](../models/chatcompletionstreamrequestmessage.md)] | :heavy_check_mark: | The prompt(s) to generate completions for, encoded as a list of dict with role and content. | [
{
"role": "user",
"content": "Who is the best French painter? Answer in one short sentence."
}
] |
| `response_format` | [Optional[models.ResponseFormat]](../models/responseformat.md) | :heavy_minus_sign: | Specify the format that the model must output. By default it will use `{ "type": "text" }`. Setting to `{ "type": "json_object" }` enables JSON mode, which guarantees the message the model generates is in JSON. When using JSON mode you MUST also instruct the model to produce JSON yourself with a system or a user message. Setting to `{ "type": "json_schema" }` enables JSON schema mode, which guarantees the message the model generates is in JSON and follows the schema you provide. | {
"type": "text"
} |
| `tools` | List[[models.Tool](../models/tool.md)] | :heavy_minus_sign: | A list of tools the model may call. Use this to provide a list of functions the model may generate JSON inputs for. | |
| `tool_choice` | [Optional[models.ChatCompletionStreamRequestToolChoice]](../models/chatcompletionstreamrequesttoolchoice.md) | :heavy_minus_sign: | Controls which (if any) tool is called by the model. `none` means the model will not call any tool and instead generates a message. `auto` means the model can pick between generating a message or calling one or more tools. `any` or `required` means the model must call one or more tools. Specifying a particular tool via `{"type": "function", "function": {"name": "my_function"}}` forces the model to call that tool. | |
diff --git a/packages/mistralai_azure/docs/models/chatcompletionrequestmessages.md b/packages/mistralai_gcp/docs/models/chatcompletionstreamrequestmessage.md
similarity index 91%
rename from packages/mistralai_azure/docs/models/chatcompletionrequestmessages.md
rename to packages/mistralai_gcp/docs/models/chatcompletionstreamrequestmessage.md
index bc7708a6..2e4e93ac 100644
--- a/packages/mistralai_azure/docs/models/chatcompletionrequestmessages.md
+++ b/packages/mistralai_gcp/docs/models/chatcompletionstreamrequestmessage.md
@@ -1,4 +1,4 @@
-# ChatCompletionRequestMessages
+# ChatCompletionStreamRequestMessage
## Supported Types
diff --git a/packages/mistralai_azure/docs/models/stop.md b/packages/mistralai_gcp/docs/models/chatcompletionstreamrequeststop.md
similarity index 88%
rename from packages/mistralai_azure/docs/models/stop.md
rename to packages/mistralai_gcp/docs/models/chatcompletionstreamrequeststop.md
index ba40ca83..a48460a9 100644
--- a/packages/mistralai_azure/docs/models/stop.md
+++ b/packages/mistralai_gcp/docs/models/chatcompletionstreamrequeststop.md
@@ -1,4 +1,4 @@
-# Stop
+# ChatCompletionStreamRequestStop
Stop generation if this token is detected. Or if one of these tokens is detected when providing an array
diff --git a/packages/mistralai_gcp/docs/models/completionresponsestreamchoice.md b/packages/mistralai_gcp/docs/models/completionresponsestreamchoice.md
index c807dacd..1532c25b 100644
--- a/packages/mistralai_gcp/docs/models/completionresponsestreamchoice.md
+++ b/packages/mistralai_gcp/docs/models/completionresponsestreamchoice.md
@@ -3,8 +3,8 @@
## Fields
-| Field | Type | Required | Description |
-| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- |
-| `index` | *int* | :heavy_check_mark: | N/A |
-| `delta` | [models.DeltaMessage](../models/deltamessage.md) | :heavy_check_mark: | N/A |
-| `finish_reason` | [Nullable[models.FinishReason]](../models/finishreason.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| Field | Type | Required | Description |
+| ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
+| `index` | *int* | :heavy_check_mark: | N/A |
+| `delta` | [models.DeltaMessage](../models/deltamessage.md) | :heavy_check_mark: | N/A |
+| `finish_reason` | [Nullable[models.CompletionResponseStreamChoiceFinishReason]](../models/completionresponsestreamchoicefinishreason.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/packages/mistralai_gcp/docs/models/finishreason.md b/packages/mistralai_gcp/docs/models/completionresponsestreamchoicefinishreason.md
similarity index 81%
rename from packages/mistralai_gcp/docs/models/finishreason.md
rename to packages/mistralai_gcp/docs/models/completionresponsestreamchoicefinishreason.md
index 45a5aedb..0fece473 100644
--- a/packages/mistralai_gcp/docs/models/finishreason.md
+++ b/packages/mistralai_gcp/docs/models/completionresponsestreamchoicefinishreason.md
@@ -1,4 +1,4 @@
-# FinishReason
+# CompletionResponseStreamChoiceFinishReason
## Values
diff --git a/packages/mistralai_gcp/docs/models/deltamessage.md b/packages/mistralai_gcp/docs/models/deltamessage.md
index 61deabbf..e0ee575f 100644
--- a/packages/mistralai_gcp/docs/models/deltamessage.md
+++ b/packages/mistralai_gcp/docs/models/deltamessage.md
@@ -3,8 +3,8 @@
## Fields
-| Field | Type | Required | Description |
-| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- |
-| `role` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
-| `content` | [OptionalNullable[models.Content]](../models/content.md) | :heavy_minus_sign: | N/A |
-| `tool_calls` | List[[models.ToolCall](../models/toolcall.md)] | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| Field | Type | Required | Description |
+| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
+| `role` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
+| `content` | [OptionalNullable[models.DeltaMessageContent]](../models/deltamessagecontent.md) | :heavy_minus_sign: | N/A |
+| `tool_calls` | List[[models.ToolCall](../models/toolcall.md)] | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/packages/mistralai_gcp/docs/models/content.md b/packages/mistralai_gcp/docs/models/deltamessagecontent.md
similarity index 89%
rename from packages/mistralai_gcp/docs/models/content.md
rename to packages/mistralai_gcp/docs/models/deltamessagecontent.md
index a833dc2c..8142772d 100644
--- a/packages/mistralai_gcp/docs/models/content.md
+++ b/packages/mistralai_gcp/docs/models/deltamessagecontent.md
@@ -1,4 +1,4 @@
-# Content
+# DeltaMessageContent
## Supported Types
diff --git a/packages/mistralai_gcp/docs/models/imageurlchunk.md b/packages/mistralai_gcp/docs/models/imageurlchunk.md
index f1b926ef..68515bc3 100644
--- a/packages/mistralai_gcp/docs/models/imageurlchunk.md
+++ b/packages/mistralai_gcp/docs/models/imageurlchunk.md
@@ -5,7 +5,7 @@
## Fields
-| Field | Type | Required | Description |
-| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- |
-| `image_url` | [models.ImageURLChunkImageURL](../models/imageurlchunkimageurl.md) | :heavy_check_mark: | N/A |
-| `type` | [Optional[models.ImageURLChunkType]](../models/imageurlchunktype.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| Field | Type | Required | Description |
+| -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- |
+| `image_url` | [models.ImageURLUnion](../models/imageurlunion.md) | :heavy_check_mark: | N/A |
+| `type` | *Literal["image_url"]* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/packages/mistralai_gcp/docs/models/imageurlchunktype.md b/packages/mistralai_gcp/docs/models/imageurlchunktype.md
deleted file mode 100644
index 2064a0b4..00000000
--- a/packages/mistralai_gcp/docs/models/imageurlchunktype.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# ImageURLChunkType
-
-
-## Values
-
-| Name | Value |
-| ----------- | ----------- |
-| `IMAGE_URL` | image_url |
\ No newline at end of file
diff --git a/packages/mistralai_azure/docs/models/imageurlchunkimageurl.md b/packages/mistralai_gcp/docs/models/imageurlunion.md
similarity index 86%
rename from packages/mistralai_azure/docs/models/imageurlchunkimageurl.md
rename to packages/mistralai_gcp/docs/models/imageurlunion.md
index 76738908..db97130f 100644
--- a/packages/mistralai_azure/docs/models/imageurlchunkimageurl.md
+++ b/packages/mistralai_gcp/docs/models/imageurlunion.md
@@ -1,4 +1,4 @@
-# ImageURLChunkImageURL
+# ImageURLUnion
## Supported Types
diff --git a/packages/mistralai_gcp/docs/models/referencechunk.md b/packages/mistralai_gcp/docs/models/referencechunk.md
index a132ca2f..96e4df7f 100644
--- a/packages/mistralai_gcp/docs/models/referencechunk.md
+++ b/packages/mistralai_gcp/docs/models/referencechunk.md
@@ -3,7 +3,7 @@
## Fields
-| Field | Type | Required | Description |
-| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
-| `reference_ids` | List[*int*] | :heavy_check_mark: | N/A |
-| `type` | [Optional[models.ReferenceChunkType]](../models/referencechunktype.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| Field | Type | Required | Description |
+| -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- |
+| `reference_ids` | List[*int*] | :heavy_check_mark: | N/A |
+| `type` | [Optional[models.TypeEnum]](../models/typeenum.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/packages/mistralai_gcp/docs/models/role.md b/packages/mistralai_gcp/docs/models/role.md
deleted file mode 100644
index affca78d..00000000
--- a/packages/mistralai_gcp/docs/models/role.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Role
-
-
-## Values
-
-| Name | Value |
-| -------- | -------- |
-| `SYSTEM` | system |
\ No newline at end of file
diff --git a/packages/mistralai_azure/docs/models/assistantmessagerole.md b/packages/mistralai_gcp/docs/models/roleenum.md
similarity index 81%
rename from packages/mistralai_azure/docs/models/assistantmessagerole.md
rename to packages/mistralai_gcp/docs/models/roleenum.md
index 658229e7..4213c18d 100644
--- a/packages/mistralai_azure/docs/models/assistantmessagerole.md
+++ b/packages/mistralai_gcp/docs/models/roleenum.md
@@ -1,4 +1,4 @@
-# AssistantMessageRole
+# RoleEnum
## Values
diff --git a/packages/mistralai_gcp/docs/models/systemmessage.md b/packages/mistralai_gcp/docs/models/systemmessage.md
index 0dba71c0..dfb0cd0b 100644
--- a/packages/mistralai_gcp/docs/models/systemmessage.md
+++ b/packages/mistralai_gcp/docs/models/systemmessage.md
@@ -6,4 +6,4 @@
| Field | Type | Required | Description |
| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- |
| `content` | [models.SystemMessageContent](../models/systemmessagecontent.md) | :heavy_check_mark: | N/A |
-| `role` | [Optional[models.Role]](../models/role.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `role` | *Literal["system"]* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/packages/mistralai_gcp/docs/models/textchunk.md b/packages/mistralai_gcp/docs/models/textchunk.md
index 6daab3c3..8521a2c1 100644
--- a/packages/mistralai_gcp/docs/models/textchunk.md
+++ b/packages/mistralai_gcp/docs/models/textchunk.md
@@ -3,7 +3,7 @@
## Fields
-| Field | Type | Required | Description |
-| ------------------------------------------ | ------------------------------------------ | ------------------------------------------ | ------------------------------------------ |
-| `text` | *str* | :heavy_check_mark: | N/A |
-| `type` | [Optional[models.Type]](../models/type.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `text` | *str* | :heavy_check_mark: | N/A |
+| `type` | *Literal["text"]* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/packages/mistralai_gcp/docs/models/thinkchunk.md b/packages/mistralai_gcp/docs/models/thinkchunk.md
index 66b2e0cd..07f6f7b1 100644
--- a/packages/mistralai_gcp/docs/models/thinkchunk.md
+++ b/packages/mistralai_gcp/docs/models/thinkchunk.md
@@ -7,4 +7,4 @@
| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| `thinking` | List[[models.Thinking](../models/thinking.md)] | :heavy_check_mark: | N/A |
| `closed` | *Optional[bool]* | :heavy_minus_sign: | Whether the thinking chunk is closed or not. Currently only used for prefixing. |
-| `type` | [Optional[models.ThinkChunkType]](../models/thinkchunktype.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `type` | *Literal["thinking"]* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/packages/mistralai_gcp/docs/models/thinkchunktype.md b/packages/mistralai_gcp/docs/models/thinkchunktype.md
deleted file mode 100644
index baf6f755..00000000
--- a/packages/mistralai_gcp/docs/models/thinkchunktype.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# ThinkChunkType
-
-
-## Values
-
-| Name | Value |
-| ---------- | ---------- |
-| `THINKING` | thinking |
\ No newline at end of file
diff --git a/packages/mistralai_gcp/docs/models/toolmessage.md b/packages/mistralai_gcp/docs/models/toolmessage.md
index a54f4933..fa00d666 100644
--- a/packages/mistralai_gcp/docs/models/toolmessage.md
+++ b/packages/mistralai_gcp/docs/models/toolmessage.md
@@ -8,4 +8,4 @@
| `content` | [Nullable[models.ToolMessageContent]](../models/toolmessagecontent.md) | :heavy_check_mark: | N/A |
| `tool_call_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
| `name` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
-| `role` | [Optional[models.ToolMessageRole]](../models/toolmessagerole.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `role` | *Literal["tool"]* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/packages/mistralai_gcp/docs/models/toolmessagerole.md b/packages/mistralai_gcp/docs/models/toolmessagerole.md
deleted file mode 100644
index c24e59c0..00000000
--- a/packages/mistralai_gcp/docs/models/toolmessagerole.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# ToolMessageRole
-
-
-## Values
-
-| Name | Value |
-| ------ | ------ |
-| `TOOL` | tool |
\ No newline at end of file
diff --git a/packages/mistralai_gcp/docs/models/type.md b/packages/mistralai_gcp/docs/models/type.md
deleted file mode 100644
index eb0581e7..00000000
--- a/packages/mistralai_gcp/docs/models/type.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Type
-
-
-## Values
-
-| Name | Value |
-| ------ | ------ |
-| `TEXT` | text |
\ No newline at end of file
diff --git a/packages/mistralai_gcp/docs/models/referencechunktype.md b/packages/mistralai_gcp/docs/models/typeenum.md
similarity index 82%
rename from packages/mistralai_gcp/docs/models/referencechunktype.md
rename to packages/mistralai_gcp/docs/models/typeenum.md
index 1e0e2fe6..35a6f34c 100644
--- a/packages/mistralai_gcp/docs/models/referencechunktype.md
+++ b/packages/mistralai_gcp/docs/models/typeenum.md
@@ -1,4 +1,4 @@
-# ReferenceChunkType
+# TypeEnum
## Values
diff --git a/packages/mistralai_gcp/docs/models/usermessage.md b/packages/mistralai_gcp/docs/models/usermessage.md
index 63b01310..78ed066e 100644
--- a/packages/mistralai_gcp/docs/models/usermessage.md
+++ b/packages/mistralai_gcp/docs/models/usermessage.md
@@ -6,4 +6,4 @@
| Field | Type | Required | Description |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| `content` | [Nullable[models.UserMessageContent]](../models/usermessagecontent.md) | :heavy_check_mark: | N/A |
-| `role` | [Optional[models.UserMessageRole]](../models/usermessagerole.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `role` | *Literal["user"]* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/packages/mistralai_gcp/docs/models/usermessagerole.md b/packages/mistralai_gcp/docs/models/usermessagerole.md
deleted file mode 100644
index 171124e4..00000000
--- a/packages/mistralai_gcp/docs/models/usermessagerole.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# UserMessageRole
-
-
-## Values
-
-| Name | Value |
-| ------ | ------ |
-| `USER` | user |
\ No newline at end of file
diff --git a/packages/mistralai_gcp/docs/sdks/chat/README.md b/packages/mistralai_gcp/docs/sdks/chat/README.md
index 6f5f1977..3fc4f708 100644
--- a/packages/mistralai_gcp/docs/sdks/chat/README.md
+++ b/packages/mistralai_gcp/docs/sdks/chat/README.md
@@ -17,7 +17,7 @@ Mistral AI provides the ability to stream responses back to a client in order to
### Example Usage
```python
-from mistralai_gcp import MistralGCP
+from mistralai.gcp.client import MistralGCP
import os
s = MistralGCP()
@@ -72,7 +72,7 @@ Chat Completion
### Example Usage
```python
-from mistralai_gcp import MistralGCP
+from mistralai.gcp.client import MistralGCP
import os
s = MistralGCP()
diff --git a/packages/mistralai_gcp/docs/sdks/fim/README.md b/packages/mistralai_gcp/docs/sdks/fim/README.md
index b997fabf..a4c13bd6 100644
--- a/packages/mistralai_gcp/docs/sdks/fim/README.md
+++ b/packages/mistralai_gcp/docs/sdks/fim/README.md
@@ -17,7 +17,7 @@ Mistral AI provides the ability to stream responses back to a client in order to
### Example Usage
```python
-from mistralai_gcp import MistralGCP
+from mistralai.gcp.client import MistralGCP
import os
s = MistralGCP()
@@ -65,7 +65,7 @@ FIM completion.
### Example Usage
```python
-from mistralai_gcp import MistralGCP
+from mistralai.gcp.client import MistralGCP
import os
s = MistralGCP()
diff --git a/packages/mistralai_gcp/pyproject.toml b/packages/mistralai_gcp/pyproject.toml
index df3e43ae..5beec81f 100644
--- a/packages/mistralai_gcp/pyproject.toml
+++ b/packages/mistralai_gcp/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "mistralai-gcp"
-version = "1.8.0"
+version = "2.0.0a4"
description = "Python Client SDK for the Mistral AI API in GCP."
authors = [{ name = "Mistral" }]
requires-python = ">=3.10"
@@ -26,20 +26,20 @@ dev = [
]
[tool.setuptools.package-data]
-"*" = ["py.typed", "src/mistralai_gcp/py.typed"]
+"*" = ["py.typed", "src/mistralai/gcp/client/py.typed"]
[tool.hatch.build.targets.sdist]
-include = ["src/mistralai_gcp"]
+include = ["src/mistralai"]
[tool.hatch.build.targets.sdist.force-include]
"py.typed" = "py.typed"
-"src/mistralai_gcp/py.typed" = "src/mistralai_gcp/py.typed"
+"src/mistralai/gcp/client/py.typed" = "src/mistralai/gcp/client/py.typed"
[tool.hatch.build.targets.wheel]
-include = ["src/mistralai_gcp"]
+include = ["src/mistralai"]
[tool.hatch.build.targets.wheel.sources]
-"src/mistralai_gcp" = "mistralai_gcp"
+"src" = ""
[virtualenvs]
in-project = true
@@ -53,6 +53,8 @@ pythonpath = ["src"]
[tool.mypy]
disable_error_code = "misc"
+explicit_package_bases = true
+mypy_path = "src"
[[tool.mypy.overrides]]
module = "typing_inspect"
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/__init__.py b/packages/mistralai_gcp/src/mistralai/gcp/client/__init__.py
similarity index 100%
rename from packages/mistralai_gcp/src/mistralai_gcp/__init__.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/__init__.py
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/_hooks/__init__.py b/packages/mistralai_gcp/src/mistralai/gcp/client/_hooks/__init__.py
similarity index 100%
rename from packages/mistralai_gcp/src/mistralai_gcp/_hooks/__init__.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/_hooks/__init__.py
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/_hooks/registration.py b/packages/mistralai_gcp/src/mistralai/gcp/client/_hooks/registration.py
similarity index 79%
rename from packages/mistralai_gcp/src/mistralai_gcp/_hooks/registration.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/_hooks/registration.py
index 304edfa2..cab47787 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/_hooks/registration.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/_hooks/registration.py
@@ -1,6 +1,6 @@
-from .custom_user_agent import CustomUserAgentHook
from .types import Hooks
+
# This file is only ever generated once on the first generation and then is free to be modified.
# Any hooks you wish to add should be registered in the init_hooks function. Feel free to define them
# in this file or in separate files in the hooks folder.
@@ -10,6 +10,4 @@ def init_hooks(hooks: Hooks):
# pylint: disable=unused-argument
"""Add hooks by calling hooks.register{sdk_init/before_request/after_success/after_error}Hook
with an instance of a hook that implements that specific Hook interface
- Hooks are registered per SDK instance, and are valid for the lifetime of the SDK instance
- """
- hooks.register_before_request_hook(CustomUserAgentHook())
+ Hooks are registered per SDK instance, and are valid for the lifetime of the SDK instance"""
diff --git a/packages/mistralai_azure/src/mistralai_azure/_hooks/sdkhooks.py b/packages/mistralai_gcp/src/mistralai/gcp/client/_hooks/sdkhooks.py
similarity index 97%
rename from packages/mistralai_azure/src/mistralai_azure/_hooks/sdkhooks.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/_hooks/sdkhooks.py
index 37ff4e9f..2af4deed 100644
--- a/packages/mistralai_azure/src/mistralai_azure/_hooks/sdkhooks.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/_hooks/sdkhooks.py
@@ -13,7 +13,7 @@
)
from .registration import init_hooks
from typing import List, Optional, Tuple
-from mistralai_azure.httpclient import HttpClient
+from mistralai.gcp.client.httpclient import HttpClient
class SDKHooks(Hooks):
diff --git a/packages/mistralai_azure/src/mistralai_azure/_hooks/types.py b/packages/mistralai_gcp/src/mistralai/gcp/client/_hooks/types.py
similarity index 96%
rename from packages/mistralai_azure/src/mistralai_azure/_hooks/types.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/_hooks/types.py
index 0c22d7eb..ea95bed2 100644
--- a/packages/mistralai_azure/src/mistralai_azure/_hooks/types.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/_hooks/types.py
@@ -2,8 +2,8 @@
from abc import ABC, abstractmethod
import httpx
-from mistralai_azure.httpclient import HttpClient
-from mistralai_azure.sdkconfiguration import SDKConfiguration
+from mistralai.gcp.client.httpclient import HttpClient
+from mistralai.gcp.client.sdkconfiguration import SDKConfiguration
from typing import Any, Callable, List, Optional, Tuple, Union
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/_version.py b/packages/mistralai_gcp/src/mistralai/gcp/client/_version.py
similarity index 76%
rename from packages/mistralai_gcp/src/mistralai_gcp/_version.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/_version.py
index a170f0ab..ba48dac1 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/_version.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/_version.py
@@ -3,10 +3,10 @@
import importlib.metadata
__title__: str = "mistralai-gcp"
-__version__: str = "1.8.0"
+__version__: str = "2.0.0a4"
__openapi_doc_version__: str = "1.0.0"
__gen_version__: str = "2.794.1"
-__user_agent__: str = "speakeasy-sdk/python 1.8.0 2.794.1 1.0.0 mistralai-gcp"
+__user_agent__: str = "speakeasy-sdk/python 2.0.0a4 2.794.1 1.0.0 mistralai-gcp"
try:
if __package__ is not None:
diff --git a/packages/mistralai_azure/src/mistralai_azure/basesdk.py b/packages/mistralai_gcp/src/mistralai/gcp/client/basesdk.py
similarity index 98%
rename from packages/mistralai_azure/src/mistralai_azure/basesdk.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/basesdk.py
index 89f7dc49..6f9f5fd9 100644
--- a/packages/mistralai_azure/src/mistralai_azure/basesdk.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/basesdk.py
@@ -2,13 +2,17 @@
from .sdkconfiguration import SDKConfiguration
import httpx
-from mistralai_azure import models, utils
-from mistralai_azure._hooks import (
+from mistralai.gcp.client import models, utils
+from mistralai.gcp.client._hooks import (
AfterErrorContext,
AfterSuccessContext,
BeforeRequestContext,
)
-from mistralai_azure.utils import RetryConfig, SerializedRequestBody, get_body_content
+from mistralai.gcp.client.utils import (
+ RetryConfig,
+ SerializedRequestBody,
+ get_body_content,
+)
from typing import Callable, List, Mapping, Optional, Tuple
from urllib.parse import parse_qs, urlparse
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/chat.py b/packages/mistralai_gcp/src/mistralai/gcp/client/chat.py
similarity index 96%
rename from packages/mistralai_gcp/src/mistralai_gcp/chat.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/chat.py
index 3dd6040f..78541248 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/chat.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/chat.py
@@ -1,11 +1,11 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from .basesdk import BaseSDK
-from mistralai_gcp import models, utils
-from mistralai_gcp._hooks import HookContext
-from mistralai_gcp.types import OptionalNullable, UNSET
-from mistralai_gcp.utils import eventstreaming
-from mistralai_gcp.utils.unmarshal_json_response import unmarshal_json_response
+from mistralai.gcp.client import models, utils
+from mistralai.gcp.client._hooks import HookContext
+from mistralai.gcp.client.types import OptionalNullable, UNSET
+from mistralai.gcp.client.utils import eventstreaming
+from mistralai.gcp.client.utils.unmarshal_json_response import unmarshal_json_response
from typing import Any, Dict, List, Mapping, Optional, Union
@@ -16,12 +16,20 @@ def stream(
self,
*,
model: str,
- messages: Union[List[models.Messages], List[models.MessagesTypedDict]],
+ messages: Union[
+ List[models.ChatCompletionStreamRequestMessage],
+ List[models.ChatCompletionStreamRequestMessageTypedDict],
+ ],
temperature: OptionalNullable[float] = UNSET,
top_p: Optional[float] = None,
max_tokens: OptionalNullable[int] = UNSET,
stream: Optional[bool] = True,
- stop: Optional[Union[models.Stop, models.StopTypedDict]] = None,
+ stop: Optional[
+ Union[
+ models.ChatCompletionStreamRequestStop,
+ models.ChatCompletionStreamRequestStopTypedDict,
+ ]
+ ] = None,
random_seed: OptionalNullable[int] = UNSET,
metadata: OptionalNullable[Dict[str, Any]] = UNSET,
response_format: Optional[
@@ -95,7 +103,9 @@ def stream(
stop=stop,
random_seed=random_seed,
metadata=metadata,
- messages=utils.get_pydantic_model(messages, List[models.Messages]),
+ messages=utils.get_pydantic_model(
+ messages, List[models.ChatCompletionStreamRequestMessage]
+ ),
response_format=utils.get_pydantic_model(
response_format, Optional[models.ResponseFormat]
),
@@ -183,12 +193,20 @@ async def stream_async(
self,
*,
model: str,
- messages: Union[List[models.Messages], List[models.MessagesTypedDict]],
+ messages: Union[
+ List[models.ChatCompletionStreamRequestMessage],
+ List[models.ChatCompletionStreamRequestMessageTypedDict],
+ ],
temperature: OptionalNullable[float] = UNSET,
top_p: Optional[float] = None,
max_tokens: OptionalNullable[int] = UNSET,
stream: Optional[bool] = True,
- stop: Optional[Union[models.Stop, models.StopTypedDict]] = None,
+ stop: Optional[
+ Union[
+ models.ChatCompletionStreamRequestStop,
+ models.ChatCompletionStreamRequestStopTypedDict,
+ ]
+ ] = None,
random_seed: OptionalNullable[int] = UNSET,
metadata: OptionalNullable[Dict[str, Any]] = UNSET,
response_format: Optional[
@@ -262,7 +280,9 @@ async def stream_async(
stop=stop,
random_seed=random_seed,
metadata=metadata,
- messages=utils.get_pydantic_model(messages, List[models.Messages]),
+ messages=utils.get_pydantic_model(
+ messages, List[models.ChatCompletionStreamRequestMessage]
+ ),
response_format=utils.get_pydantic_model(
response_format, Optional[models.ResponseFormat]
),
@@ -351,8 +371,8 @@ def complete(
*,
model: str,
messages: Union[
- List[models.ChatCompletionRequestMessages],
- List[models.ChatCompletionRequestMessagesTypedDict],
+ List[models.ChatCompletionRequestMessage],
+ List[models.ChatCompletionRequestMessageTypedDict],
],
temperature: OptionalNullable[float] = UNSET,
top_p: Optional[float] = None,
@@ -436,7 +456,7 @@ def complete(
random_seed=random_seed,
metadata=metadata,
messages=utils.get_pydantic_model(
- messages, List[models.ChatCompletionRequestMessages]
+ messages, List[models.ChatCompletionRequestMessage]
),
response_format=utils.get_pydantic_model(
response_format, Optional[models.ResponseFormat]
@@ -518,8 +538,8 @@ async def complete_async(
*,
model: str,
messages: Union[
- List[models.ChatCompletionRequestMessages],
- List[models.ChatCompletionRequestMessagesTypedDict],
+ List[models.ChatCompletionRequestMessage],
+ List[models.ChatCompletionRequestMessageTypedDict],
],
temperature: OptionalNullable[float] = UNSET,
top_p: Optional[float] = None,
@@ -603,7 +623,7 @@ async def complete_async(
random_seed=random_seed,
metadata=metadata,
messages=utils.get_pydantic_model(
- messages, List[models.ChatCompletionRequestMessages]
+ messages, List[models.ChatCompletionRequestMessage]
),
response_format=utils.get_pydantic_model(
response_format, Optional[models.ResponseFormat]
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/fim.py b/packages/mistralai_gcp/src/mistralai/gcp/client/fim.py
similarity index 98%
rename from packages/mistralai_gcp/src/mistralai_gcp/fim.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/fim.py
index 36d9fd60..e2acacd5 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/fim.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/fim.py
@@ -1,11 +1,11 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from .basesdk import BaseSDK
-from mistralai_gcp import models, utils
-from mistralai_gcp._hooks import HookContext
-from mistralai_gcp.types import OptionalNullable, UNSET
-from mistralai_gcp.utils import eventstreaming
-from mistralai_gcp.utils.unmarshal_json_response import unmarshal_json_response
+from mistralai.gcp.client import models, utils
+from mistralai.gcp.client._hooks import HookContext
+from mistralai.gcp.client.types import OptionalNullable, UNSET
+from mistralai.gcp.client.utils import eventstreaming
+from mistralai.gcp.client.utils.unmarshal_json_response import unmarshal_json_response
from typing import Any, Dict, Mapping, Optional, Union
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/httpclient.py b/packages/mistralai_gcp/src/mistralai/gcp/client/httpclient.py
similarity index 100%
rename from packages/mistralai_gcp/src/mistralai_gcp/httpclient.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/httpclient.py
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/__init__.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/__init__.py
similarity index 86%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/__init__.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/__init__.py
index fe85b133..063bc612 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/__init__.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/__init__.py
@@ -11,8 +11,8 @@
AssistantMessage,
AssistantMessageContent,
AssistantMessageContentTypedDict,
- AssistantMessageRole,
AssistantMessageTypedDict,
+ RoleEnum,
)
from .chatcompletionchoice import (
ChatCompletionChoice,
@@ -21,8 +21,8 @@
)
from .chatcompletionrequest import (
ChatCompletionRequest,
- ChatCompletionRequestMessages,
- ChatCompletionRequestMessagesTypedDict,
+ ChatCompletionRequestMessage,
+ ChatCompletionRequestMessageTypedDict,
ChatCompletionRequestStop,
ChatCompletionRequestStopTypedDict,
ChatCompletionRequestToolChoice,
@@ -35,26 +35,26 @@
)
from .chatcompletionstreamrequest import (
ChatCompletionStreamRequest,
+ ChatCompletionStreamRequestMessage,
+ ChatCompletionStreamRequestMessageTypedDict,
+ ChatCompletionStreamRequestStop,
+ ChatCompletionStreamRequestStopTypedDict,
ChatCompletionStreamRequestToolChoice,
ChatCompletionStreamRequestToolChoiceTypedDict,
ChatCompletionStreamRequestTypedDict,
- Messages,
- MessagesTypedDict,
- Stop,
- StopTypedDict,
)
from .completionchunk import CompletionChunk, CompletionChunkTypedDict
from .completionevent import CompletionEvent, CompletionEventTypedDict
from .completionresponsestreamchoice import (
CompletionResponseStreamChoice,
+ CompletionResponseStreamChoiceFinishReason,
CompletionResponseStreamChoiceTypedDict,
- FinishReason,
)
from .contentchunk import ContentChunk, ContentChunkTypedDict
from .deltamessage import (
- Content,
- ContentTypedDict,
DeltaMessage,
+ DeltaMessageContent,
+ DeltaMessageContentTypedDict,
DeltaMessageTypedDict,
)
from .fimcompletionrequest import (
@@ -85,27 +85,21 @@
from .imageurl import ImageURL, ImageURLTypedDict
from .imageurlchunk import (
ImageURLChunk,
- ImageURLChunkImageURL,
- ImageURLChunkImageURLTypedDict,
- ImageURLChunkType,
ImageURLChunkTypedDict,
+ ImageURLUnion,
+ ImageURLUnionTypedDict,
)
from .jsonschema import JSONSchema, JSONSchemaTypedDict
from .mistralpromptmode import MistralPromptMode
from .no_response_error import NoResponseError
from .prediction import Prediction, PredictionTypedDict
- from .referencechunk import (
- ReferenceChunk,
- ReferenceChunkType,
- ReferenceChunkTypedDict,
- )
+ from .referencechunk import ReferenceChunk, ReferenceChunkTypedDict, TypeEnum
from .responseformat import ResponseFormat, ResponseFormatTypedDict
from .responseformats import ResponseFormats
from .responsevalidationerror import ResponseValidationError
from .sdkerror import SDKError
from .security import Security, SecurityTypedDict
from .systemmessage import (
- Role,
SystemMessage,
SystemMessageContent,
SystemMessageContentTypedDict,
@@ -115,14 +109,8 @@
SystemMessageContentChunks,
SystemMessageContentChunksTypedDict,
)
- from .textchunk import TextChunk, TextChunkTypedDict, Type
- from .thinkchunk import (
- ThinkChunk,
- ThinkChunkType,
- ThinkChunkTypedDict,
- Thinking,
- ThinkingTypedDict,
- )
+ from .textchunk import TextChunk, TextChunkTypedDict
+ from .thinkchunk import ThinkChunk, ThinkChunkTypedDict, Thinking, ThinkingTypedDict
from .tool import Tool, ToolTypedDict
from .toolcall import ToolCall, ToolCallTypedDict
from .toolchoice import ToolChoice, ToolChoiceTypedDict
@@ -131,7 +119,6 @@
ToolMessage,
ToolMessageContent,
ToolMessageContentTypedDict,
- ToolMessageRole,
ToolMessageTypedDict,
)
from .tooltypes import ToolTypes
@@ -140,7 +127,6 @@
UserMessage,
UserMessageContent,
UserMessageContentTypedDict,
- UserMessageRole,
UserMessageTypedDict,
)
from .validationerror import (
@@ -156,14 +142,13 @@
"AssistantMessage",
"AssistantMessageContent",
"AssistantMessageContentTypedDict",
- "AssistantMessageRole",
"AssistantMessageTypedDict",
"ChatCompletionChoice",
"ChatCompletionChoiceFinishReason",
"ChatCompletionChoiceTypedDict",
"ChatCompletionRequest",
- "ChatCompletionRequestMessages",
- "ChatCompletionRequestMessagesTypedDict",
+ "ChatCompletionRequestMessage",
+ "ChatCompletionRequestMessageTypedDict",
"ChatCompletionRequestStop",
"ChatCompletionRequestStopTypedDict",
"ChatCompletionRequestToolChoice",
@@ -172,6 +157,10 @@
"ChatCompletionResponse",
"ChatCompletionResponseTypedDict",
"ChatCompletionStreamRequest",
+ "ChatCompletionStreamRequestMessage",
+ "ChatCompletionStreamRequestMessageTypedDict",
+ "ChatCompletionStreamRequestStop",
+ "ChatCompletionStreamRequestStopTypedDict",
"ChatCompletionStreamRequestToolChoice",
"ChatCompletionStreamRequestToolChoiceTypedDict",
"ChatCompletionStreamRequestTypedDict",
@@ -180,12 +169,13 @@
"CompletionEvent",
"CompletionEventTypedDict",
"CompletionResponseStreamChoice",
+ "CompletionResponseStreamChoiceFinishReason",
"CompletionResponseStreamChoiceTypedDict",
- "Content",
"ContentChunk",
"ContentChunkTypedDict",
- "ContentTypedDict",
"DeltaMessage",
+ "DeltaMessageContent",
+ "DeltaMessageContentTypedDict",
"DeltaMessageTypedDict",
"FIMCompletionRequest",
"FIMCompletionRequestStop",
@@ -197,7 +187,6 @@
"FIMCompletionStreamRequestStop",
"FIMCompletionStreamRequestStopTypedDict",
"FIMCompletionStreamRequestTypedDict",
- "FinishReason",
"Function",
"FunctionCall",
"FunctionCallTypedDict",
@@ -208,35 +197,29 @@
"HTTPValidationErrorData",
"ImageURL",
"ImageURLChunk",
- "ImageURLChunkImageURL",
- "ImageURLChunkImageURLTypedDict",
- "ImageURLChunkType",
"ImageURLChunkTypedDict",
"ImageURLTypedDict",
+ "ImageURLUnion",
+ "ImageURLUnionTypedDict",
"JSONSchema",
"JSONSchemaTypedDict",
"Loc",
"LocTypedDict",
- "Messages",
- "MessagesTypedDict",
"MistralGcpError",
"MistralPromptMode",
"NoResponseError",
"Prediction",
"PredictionTypedDict",
"ReferenceChunk",
- "ReferenceChunkType",
"ReferenceChunkTypedDict",
"ResponseFormat",
"ResponseFormatTypedDict",
"ResponseFormats",
"ResponseValidationError",
- "Role",
+ "RoleEnum",
"SDKError",
"Security",
"SecurityTypedDict",
- "Stop",
- "StopTypedDict",
"SystemMessage",
"SystemMessageContent",
"SystemMessageContentChunks",
@@ -246,7 +229,6 @@
"TextChunk",
"TextChunkTypedDict",
"ThinkChunk",
- "ThinkChunkType",
"ThinkChunkTypedDict",
"Thinking",
"ThinkingTypedDict",
@@ -259,17 +241,15 @@
"ToolMessage",
"ToolMessageContent",
"ToolMessageContentTypedDict",
- "ToolMessageRole",
"ToolMessageTypedDict",
"ToolTypedDict",
"ToolTypes",
- "Type",
+ "TypeEnum",
"UsageInfo",
"UsageInfoTypedDict",
"UserMessage",
"UserMessageContent",
"UserMessageContentTypedDict",
- "UserMessageRole",
"UserMessageTypedDict",
"ValidationError",
"ValidationErrorTypedDict",
@@ -279,14 +259,14 @@
"AssistantMessage": ".assistantmessage",
"AssistantMessageContent": ".assistantmessage",
"AssistantMessageContentTypedDict": ".assistantmessage",
- "AssistantMessageRole": ".assistantmessage",
"AssistantMessageTypedDict": ".assistantmessage",
+ "RoleEnum": ".assistantmessage",
"ChatCompletionChoice": ".chatcompletionchoice",
"ChatCompletionChoiceFinishReason": ".chatcompletionchoice",
"ChatCompletionChoiceTypedDict": ".chatcompletionchoice",
"ChatCompletionRequest": ".chatcompletionrequest",
- "ChatCompletionRequestMessages": ".chatcompletionrequest",
- "ChatCompletionRequestMessagesTypedDict": ".chatcompletionrequest",
+ "ChatCompletionRequestMessage": ".chatcompletionrequest",
+ "ChatCompletionRequestMessageTypedDict": ".chatcompletionrequest",
"ChatCompletionRequestStop": ".chatcompletionrequest",
"ChatCompletionRequestStopTypedDict": ".chatcompletionrequest",
"ChatCompletionRequestToolChoice": ".chatcompletionrequest",
@@ -295,25 +275,25 @@
"ChatCompletionResponse": ".chatcompletionresponse",
"ChatCompletionResponseTypedDict": ".chatcompletionresponse",
"ChatCompletionStreamRequest": ".chatcompletionstreamrequest",
+ "ChatCompletionStreamRequestMessage": ".chatcompletionstreamrequest",
+ "ChatCompletionStreamRequestMessageTypedDict": ".chatcompletionstreamrequest",
+ "ChatCompletionStreamRequestStop": ".chatcompletionstreamrequest",
+ "ChatCompletionStreamRequestStopTypedDict": ".chatcompletionstreamrequest",
"ChatCompletionStreamRequestToolChoice": ".chatcompletionstreamrequest",
"ChatCompletionStreamRequestToolChoiceTypedDict": ".chatcompletionstreamrequest",
"ChatCompletionStreamRequestTypedDict": ".chatcompletionstreamrequest",
- "Messages": ".chatcompletionstreamrequest",
- "MessagesTypedDict": ".chatcompletionstreamrequest",
- "Stop": ".chatcompletionstreamrequest",
- "StopTypedDict": ".chatcompletionstreamrequest",
"CompletionChunk": ".completionchunk",
"CompletionChunkTypedDict": ".completionchunk",
"CompletionEvent": ".completionevent",
"CompletionEventTypedDict": ".completionevent",
"CompletionResponseStreamChoice": ".completionresponsestreamchoice",
+ "CompletionResponseStreamChoiceFinishReason": ".completionresponsestreamchoice",
"CompletionResponseStreamChoiceTypedDict": ".completionresponsestreamchoice",
- "FinishReason": ".completionresponsestreamchoice",
"ContentChunk": ".contentchunk",
"ContentChunkTypedDict": ".contentchunk",
- "Content": ".deltamessage",
- "ContentTypedDict": ".deltamessage",
"DeltaMessage": ".deltamessage",
+ "DeltaMessageContent": ".deltamessage",
+ "DeltaMessageContentTypedDict": ".deltamessage",
"DeltaMessageTypedDict": ".deltamessage",
"FIMCompletionRequest": ".fimcompletionrequest",
"FIMCompletionRequestStop": ".fimcompletionrequest",
@@ -338,10 +318,9 @@
"ImageURL": ".imageurl",
"ImageURLTypedDict": ".imageurl",
"ImageURLChunk": ".imageurlchunk",
- "ImageURLChunkImageURL": ".imageurlchunk",
- "ImageURLChunkImageURLTypedDict": ".imageurlchunk",
- "ImageURLChunkType": ".imageurlchunk",
"ImageURLChunkTypedDict": ".imageurlchunk",
+ "ImageURLUnion": ".imageurlchunk",
+ "ImageURLUnionTypedDict": ".imageurlchunk",
"JSONSchema": ".jsonschema",
"JSONSchemaTypedDict": ".jsonschema",
"MistralPromptMode": ".mistralpromptmode",
@@ -349,8 +328,8 @@
"Prediction": ".prediction",
"PredictionTypedDict": ".prediction",
"ReferenceChunk": ".referencechunk",
- "ReferenceChunkType": ".referencechunk",
"ReferenceChunkTypedDict": ".referencechunk",
+ "TypeEnum": ".referencechunk",
"ResponseFormat": ".responseformat",
"ResponseFormatTypedDict": ".responseformat",
"ResponseFormats": ".responseformats",
@@ -358,7 +337,6 @@
"SDKError": ".sdkerror",
"Security": ".security",
"SecurityTypedDict": ".security",
- "Role": ".systemmessage",
"SystemMessage": ".systemmessage",
"SystemMessageContent": ".systemmessage",
"SystemMessageContentTypedDict": ".systemmessage",
@@ -367,9 +345,7 @@
"SystemMessageContentChunksTypedDict": ".systemmessagecontentchunks",
"TextChunk": ".textchunk",
"TextChunkTypedDict": ".textchunk",
- "Type": ".textchunk",
"ThinkChunk": ".thinkchunk",
- "ThinkChunkType": ".thinkchunk",
"ThinkChunkTypedDict": ".thinkchunk",
"Thinking": ".thinkchunk",
"ThinkingTypedDict": ".thinkchunk",
@@ -383,7 +359,6 @@
"ToolMessage": ".toolmessage",
"ToolMessageContent": ".toolmessage",
"ToolMessageContentTypedDict": ".toolmessage",
- "ToolMessageRole": ".toolmessage",
"ToolMessageTypedDict": ".toolmessage",
"ToolTypes": ".tooltypes",
"UsageInfo": ".usageinfo",
@@ -391,7 +366,6 @@
"UserMessage": ".usermessage",
"UserMessageContent": ".usermessage",
"UserMessageContentTypedDict": ".usermessage",
- "UserMessageRole": ".usermessage",
"UserMessageTypedDict": ".usermessage",
"Loc": ".validationerror",
"LocTypedDict": ".validationerror",
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/assistantmessage.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/assistantmessage.py
similarity index 93%
rename from packages/mistralai_azure/src/mistralai_azure/models/assistantmessage.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/assistantmessage.py
index 7790eb10..a85535c6 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/assistantmessage.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/assistantmessage.py
@@ -3,7 +3,7 @@
from __future__ import annotations
from .contentchunk import ContentChunk, ContentChunkTypedDict
from .toolcall import ToolCall, ToolCallTypedDict
-from mistralai_azure.types import (
+from mistralai.gcp.client.types import (
BaseModel,
Nullable,
OptionalNullable,
@@ -25,7 +25,7 @@
)
-AssistantMessageRole = Literal["assistant",]
+RoleEnum = Literal["assistant",]
class AssistantMessageTypedDict(TypedDict):
@@ -33,7 +33,7 @@ class AssistantMessageTypedDict(TypedDict):
tool_calls: NotRequired[Nullable[List[ToolCallTypedDict]]]
prefix: NotRequired[bool]
r"""Set this to `true` when adding an assistant message as prefix to condition the model response. The role of the prefix message is to force the model to start its answer by the content of the message."""
- role: NotRequired[AssistantMessageRole]
+ role: NotRequired[RoleEnum]
class AssistantMessage(BaseModel):
@@ -44,7 +44,7 @@ class AssistantMessage(BaseModel):
prefix: Optional[bool] = False
r"""Set this to `true` when adding an assistant message as prefix to condition the model response. The role of the prefix message is to force the model to start its answer by the content of the message."""
- role: Optional[AssistantMessageRole] = "assistant"
+ role: Optional[RoleEnum] = "assistant"
@model_serializer(mode="wrap")
def serialize_model(self, handler):
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/chatcompletionchoice.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/chatcompletionchoice.py
similarity index 91%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/chatcompletionchoice.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/chatcompletionchoice.py
index fe3ee952..ae5a2fbf 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/chatcompletionchoice.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/chatcompletionchoice.py
@@ -2,7 +2,7 @@
from __future__ import annotations
from .assistantmessage import AssistantMessage, AssistantMessageTypedDict
-from mistralai_gcp.types import BaseModel, UnrecognizedStr
+from mistralai.gcp.client.types import BaseModel, UnrecognizedStr
from typing import Literal, Union
from typing_extensions import TypedDict
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/chatcompletionrequest.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/chatcompletionrequest.py
similarity index 97%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/chatcompletionrequest.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/chatcompletionrequest.py
index 80345f9d..1bc03922 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/chatcompletionrequest.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/chatcompletionrequest.py
@@ -11,14 +11,14 @@
from .toolchoiceenum import ToolChoiceEnum
from .toolmessage import ToolMessage, ToolMessageTypedDict
from .usermessage import UserMessage, UserMessageTypedDict
-from mistralai_gcp.types import (
+from mistralai.gcp.client.types import (
BaseModel,
Nullable,
OptionalNullable,
UNSET,
UNSET_SENTINEL,
)
-from mistralai_gcp.utils import get_discriminator
+from mistralai.gcp.client.utils import get_discriminator
from pydantic import Discriminator, Tag, model_serializer
from typing import Any, Dict, List, Optional, Union
from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
@@ -36,8 +36,8 @@
r"""Stop generation if this token is detected. Or if one of these tokens is detected when providing an array"""
-ChatCompletionRequestMessagesTypedDict = TypeAliasType(
- "ChatCompletionRequestMessagesTypedDict",
+ChatCompletionRequestMessageTypedDict = TypeAliasType(
+ "ChatCompletionRequestMessageTypedDict",
Union[
SystemMessageTypedDict,
UserMessageTypedDict,
@@ -47,7 +47,7 @@
)
-ChatCompletionRequestMessages = Annotated[
+ChatCompletionRequestMessage = Annotated[
Union[
Annotated[AssistantMessage, Tag("assistant")],
Annotated[SystemMessage, Tag("system")],
@@ -74,7 +74,7 @@
class ChatCompletionRequestTypedDict(TypedDict):
model: str
r"""ID of the model to use. You can use the [List Available Models](/api/#tag/models/operation/list_models_v1_models_get) API to see all of your available models, or see our [Model overview](/models) for model descriptions."""
- messages: List[ChatCompletionRequestMessagesTypedDict]
+ messages: List[ChatCompletionRequestMessageTypedDict]
r"""The prompt(s) to generate completions for, encoded as a list of dict with role and content."""
temperature: NotRequired[Nullable[float]]
r"""What sampling temperature to use, we recommend between 0.0 and 0.7. Higher values like 0.7 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or `top_p` but not both. The default value varies depending on the model you are targeting. Call the `/models` endpoint to retrieve the appropriate value."""
@@ -113,7 +113,7 @@ class ChatCompletionRequest(BaseModel):
model: str
r"""ID of the model to use. You can use the [List Available Models](/api/#tag/models/operation/list_models_v1_models_get) API to see all of your available models, or see our [Model overview](/models) for model descriptions."""
- messages: List[ChatCompletionRequestMessages]
+ messages: List[ChatCompletionRequestMessage]
r"""The prompt(s) to generate completions for, encoded as a list of dict with role and content."""
temperature: OptionalNullable[float] = UNSET
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/chatcompletionresponse.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/chatcompletionresponse.py
similarity index 93%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/chatcompletionresponse.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/chatcompletionresponse.py
index a7953eb1..317c4d84 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/chatcompletionresponse.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/chatcompletionresponse.py
@@ -3,7 +3,7 @@
from __future__ import annotations
from .chatcompletionchoice import ChatCompletionChoice, ChatCompletionChoiceTypedDict
from .usageinfo import UsageInfo, UsageInfoTypedDict
-from mistralai_gcp.types import BaseModel
+from mistralai.gcp.client.types import BaseModel
from typing import List
from typing_extensions import TypedDict
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/chatcompletionstreamrequest.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/chatcompletionstreamrequest.py
similarity index 94%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/chatcompletionstreamrequest.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/chatcompletionstreamrequest.py
index e857d515..0a5a0021 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/chatcompletionstreamrequest.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/chatcompletionstreamrequest.py
@@ -11,29 +11,33 @@
from .toolchoiceenum import ToolChoiceEnum
from .toolmessage import ToolMessage, ToolMessageTypedDict
from .usermessage import UserMessage, UserMessageTypedDict
-from mistralai_gcp.types import (
+from mistralai.gcp.client.types import (
BaseModel,
Nullable,
OptionalNullable,
UNSET,
UNSET_SENTINEL,
)
-from mistralai_gcp.utils import get_discriminator
+from mistralai.gcp.client.utils import get_discriminator
from pydantic import Discriminator, Tag, model_serializer
from typing import Any, Dict, List, Optional, Union
from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
-StopTypedDict = TypeAliasType("StopTypedDict", Union[str, List[str]])
+ChatCompletionStreamRequestStopTypedDict = TypeAliasType(
+ "ChatCompletionStreamRequestStopTypedDict", Union[str, List[str]]
+)
r"""Stop generation if this token is detected. Or if one of these tokens is detected when providing an array"""
-Stop = TypeAliasType("Stop", Union[str, List[str]])
+ChatCompletionStreamRequestStop = TypeAliasType(
+ "ChatCompletionStreamRequestStop", Union[str, List[str]]
+)
r"""Stop generation if this token is detected. Or if one of these tokens is detected when providing an array"""
-MessagesTypedDict = TypeAliasType(
- "MessagesTypedDict",
+ChatCompletionStreamRequestMessageTypedDict = TypeAliasType(
+ "ChatCompletionStreamRequestMessageTypedDict",
Union[
SystemMessageTypedDict,
UserMessageTypedDict,
@@ -43,7 +47,7 @@
)
-Messages = Annotated[
+ChatCompletionStreamRequestMessage = Annotated[
Union[
Annotated[AssistantMessage, Tag("assistant")],
Annotated[SystemMessage, Tag("system")],
@@ -70,7 +74,7 @@
class ChatCompletionStreamRequestTypedDict(TypedDict):
model: str
r"""ID of the model to use. You can use the [List Available Models](/api/#tag/models/operation/list_models_v1_models_get) API to see all of your available models, or see our [Model overview](/models) for model descriptions."""
- messages: List[MessagesTypedDict]
+ messages: List[ChatCompletionStreamRequestMessageTypedDict]
r"""The prompt(s) to generate completions for, encoded as a list of dict with role and content."""
temperature: NotRequired[Nullable[float]]
r"""What sampling temperature to use, we recommend between 0.0 and 0.7. Higher values like 0.7 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or `top_p` but not both. The default value varies depending on the model you are targeting. Call the `/models` endpoint to retrieve the appropriate value."""
@@ -79,7 +83,7 @@ class ChatCompletionStreamRequestTypedDict(TypedDict):
max_tokens: NotRequired[Nullable[int]]
r"""The maximum number of tokens to generate in the completion. The token count of your prompt plus `max_tokens` cannot exceed the model's context length."""
stream: NotRequired[bool]
- stop: NotRequired[StopTypedDict]
+ stop: NotRequired[ChatCompletionStreamRequestStopTypedDict]
r"""Stop generation if this token is detected. Or if one of these tokens is detected when providing an array"""
random_seed: NotRequired[Nullable[int]]
r"""The seed to use for random sampling. If set, different calls will generate deterministic results."""
@@ -108,7 +112,7 @@ class ChatCompletionStreamRequest(BaseModel):
model: str
r"""ID of the model to use. You can use the [List Available Models](/api/#tag/models/operation/list_models_v1_models_get) API to see all of your available models, or see our [Model overview](/models) for model descriptions."""
- messages: List[Messages]
+ messages: List[ChatCompletionStreamRequestMessage]
r"""The prompt(s) to generate completions for, encoded as a list of dict with role and content."""
temperature: OptionalNullable[float] = UNSET
@@ -122,7 +126,7 @@ class ChatCompletionStreamRequest(BaseModel):
stream: Optional[bool] = True
- stop: Optional[Stop] = None
+ stop: Optional[ChatCompletionStreamRequestStop] = None
r"""Stop generation if this token is detected. Or if one of these tokens is detected when providing an array"""
random_seed: OptionalNullable[int] = UNSET
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/completionchunk.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/completionchunk.py
similarity index 94%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/completionchunk.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/completionchunk.py
index ca002f52..9e54cb6d 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/completionchunk.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/completionchunk.py
@@ -6,7 +6,7 @@
CompletionResponseStreamChoiceTypedDict,
)
from .usageinfo import UsageInfo, UsageInfoTypedDict
-from mistralai_gcp.types import BaseModel
+from mistralai.gcp.client.types import BaseModel
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/completionevent.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/completionevent.py
similarity index 88%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/completionevent.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/completionevent.py
index 33278c11..bb155009 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/completionevent.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/completionevent.py
@@ -2,7 +2,7 @@
from __future__ import annotations
from .completionchunk import CompletionChunk, CompletionChunkTypedDict
-from mistralai_gcp.types import BaseModel
+from mistralai.gcp.client.types import BaseModel
from typing_extensions import TypedDict
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/completionresponsestreamchoice.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/completionresponsestreamchoice.py
similarity index 82%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/completionresponsestreamchoice.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/completionresponsestreamchoice.py
index ec9df528..6f306721 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/completionresponsestreamchoice.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/completionresponsestreamchoice.py
@@ -2,13 +2,18 @@
from __future__ import annotations
from .deltamessage import DeltaMessage, DeltaMessageTypedDict
-from mistralai_gcp.types import BaseModel, Nullable, UNSET_SENTINEL, UnrecognizedStr
+from mistralai.gcp.client.types import (
+ BaseModel,
+ Nullable,
+ UNSET_SENTINEL,
+ UnrecognizedStr,
+)
from pydantic import model_serializer
from typing import Literal, Union
from typing_extensions import TypedDict
-FinishReason = Union[
+CompletionResponseStreamChoiceFinishReason = Union[
Literal[
"stop",
"length",
@@ -22,7 +27,7 @@
class CompletionResponseStreamChoiceTypedDict(TypedDict):
index: int
delta: DeltaMessageTypedDict
- finish_reason: Nullable[FinishReason]
+ finish_reason: Nullable[CompletionResponseStreamChoiceFinishReason]
class CompletionResponseStreamChoice(BaseModel):
@@ -30,7 +35,7 @@ class CompletionResponseStreamChoice(BaseModel):
delta: DeltaMessage
- finish_reason: Nullable[FinishReason]
+ finish_reason: Nullable[CompletionResponseStreamChoiceFinishReason]
@model_serializer(mode="wrap")
def serialize_model(self, handler):
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/contentchunk.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/contentchunk.py
similarity index 93%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/contentchunk.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/contentchunk.py
index da5671e3..1cd9e502 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/contentchunk.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/contentchunk.py
@@ -4,7 +4,7 @@
from .imageurlchunk import ImageURLChunk, ImageURLChunkTypedDict
from .referencechunk import ReferenceChunk, ReferenceChunkTypedDict
from .textchunk import TextChunk, TextChunkTypedDict
-from mistralai_gcp.utils import get_discriminator
+from mistralai.gcp.client.utils import get_discriminator
from pydantic import Discriminator, Tag
from typing import Union
from typing_extensions import Annotated, TypeAliasType
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/deltamessage.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/deltamessage.py
similarity index 81%
rename from packages/mistralai_azure/src/mistralai_azure/models/deltamessage.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/deltamessage.py
index 7fa3c3f2..96923518 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/deltamessage.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/deltamessage.py
@@ -3,7 +3,7 @@
from __future__ import annotations
from .contentchunk import ContentChunk, ContentChunkTypedDict
from .toolcall import ToolCall, ToolCallTypedDict
-from mistralai_azure.types import (
+from mistralai.gcp.client.types import (
BaseModel,
Nullable,
OptionalNullable,
@@ -15,24 +15,26 @@
from typing_extensions import NotRequired, TypeAliasType, TypedDict
-ContentTypedDict = TypeAliasType(
- "ContentTypedDict", Union[str, List[ContentChunkTypedDict]]
+DeltaMessageContentTypedDict = TypeAliasType(
+ "DeltaMessageContentTypedDict", Union[str, List[ContentChunkTypedDict]]
)
-Content = TypeAliasType("Content", Union[str, List[ContentChunk]])
+DeltaMessageContent = TypeAliasType(
+ "DeltaMessageContent", Union[str, List[ContentChunk]]
+)
class DeltaMessageTypedDict(TypedDict):
role: NotRequired[Nullable[str]]
- content: NotRequired[Nullable[ContentTypedDict]]
+ content: NotRequired[Nullable[DeltaMessageContentTypedDict]]
tool_calls: NotRequired[Nullable[List[ToolCallTypedDict]]]
class DeltaMessage(BaseModel):
role: OptionalNullable[str] = UNSET
- content: OptionalNullable[Content] = UNSET
+ content: OptionalNullable[DeltaMessageContent] = UNSET
tool_calls: OptionalNullable[List[ToolCall]] = UNSET
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/fimcompletionrequest.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/fimcompletionrequest.py
similarity index 99%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/fimcompletionrequest.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/fimcompletionrequest.py
index bcc97c90..f37bbcc3 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/fimcompletionrequest.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/fimcompletionrequest.py
@@ -1,7 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_gcp.types import (
+from mistralai.gcp.client.types import (
BaseModel,
Nullable,
OptionalNullable,
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/fimcompletionresponse.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/fimcompletionresponse.py
similarity index 93%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/fimcompletionresponse.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/fimcompletionresponse.py
index e1940b0a..5b80da3f 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/fimcompletionresponse.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/fimcompletionresponse.py
@@ -3,7 +3,7 @@
from __future__ import annotations
from .chatcompletionchoice import ChatCompletionChoice, ChatCompletionChoiceTypedDict
from .usageinfo import UsageInfo, UsageInfoTypedDict
-from mistralai_gcp.types import BaseModel
+from mistralai.gcp.client.types import BaseModel
from typing import List
from typing_extensions import TypedDict
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/fimcompletionstreamrequest.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/fimcompletionstreamrequest.py
similarity index 99%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/fimcompletionstreamrequest.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/fimcompletionstreamrequest.py
index 34d2ba65..8e610261 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/fimcompletionstreamrequest.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/fimcompletionstreamrequest.py
@@ -1,7 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_gcp.types import (
+from mistralai.gcp.client.types import (
BaseModel,
Nullable,
OptionalNullable,
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/function.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/function.py
similarity index 91%
rename from packages/mistralai_azure/src/mistralai_azure/models/function.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/function.py
index a4642f92..28577eff 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/function.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/function.py
@@ -1,7 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_azure.types import BaseModel
+from mistralai.gcp.client.types import BaseModel
from typing import Any, Dict, Optional
from typing_extensions import NotRequired, TypedDict
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/functioncall.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/functioncall.py
similarity index 91%
rename from packages/mistralai_azure/src/mistralai_azure/models/functioncall.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/functioncall.py
index dd93c462..0f1b2425 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/functioncall.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/functioncall.py
@@ -1,7 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_azure.types import BaseModel
+from mistralai.gcp.client.types import BaseModel
from typing import Any, Dict, Union
from typing_extensions import TypeAliasType, TypedDict
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/functionname.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/functionname.py
similarity index 89%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/functionname.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/functionname.py
index 00ec22f5..585b9e39 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/functionname.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/functionname.py
@@ -1,7 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_gcp.types import BaseModel
+from mistralai.gcp.client.types import BaseModel
from typing_extensions import TypedDict
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/httpvalidationerror.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/httpvalidationerror.py
similarity index 87%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/httpvalidationerror.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/httpvalidationerror.py
index 79609351..d7944d1e 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/httpvalidationerror.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/httpvalidationerror.py
@@ -4,8 +4,8 @@
from .validationerror import ValidationError
from dataclasses import dataclass, field
import httpx
-from mistralai_gcp.models import MistralGcpError
-from mistralai_gcp.types import BaseModel
+from mistralai.gcp.client.models import MistralGcpError
+from mistralai.gcp.client.types import BaseModel
from typing import List, Optional
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/imageurl.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/imageurl.py
similarity index 97%
rename from packages/mistralai_azure/src/mistralai_azure/models/imageurl.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/imageurl.py
index a5a66360..e66d77ec 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/imageurl.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/imageurl.py
@@ -1,7 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_azure.types import (
+from mistralai.gcp.client.types import (
BaseModel,
Nullable,
OptionalNullable,
diff --git a/packages/mistralai_gcp/src/mistralai/gcp/client/models/imageurlchunk.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/imageurlchunk.py
new file mode 100644
index 00000000..fc5284c1
--- /dev/null
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/imageurlchunk.py
@@ -0,0 +1,36 @@
+"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
+
+from __future__ import annotations
+from .imageurl import ImageURL, ImageURLTypedDict
+from mistralai.gcp.client.types import BaseModel
+from mistralai.gcp.client.utils import validate_const
+import pydantic
+from pydantic.functional_validators import AfterValidator
+from typing import Literal, Union
+from typing_extensions import Annotated, TypeAliasType, TypedDict
+
+
+ImageURLUnionTypedDict = TypeAliasType(
+ "ImageURLUnionTypedDict", Union[ImageURLTypedDict, str]
+)
+
+
+ImageURLUnion = TypeAliasType("ImageURLUnion", Union[ImageURL, str])
+
+
+class ImageURLChunkTypedDict(TypedDict):
+ r"""{\"type\":\"image_url\",\"image_url\":{\"url\":\"data:image/png;base64,iVBORw0"""
+
+ image_url: ImageURLUnionTypedDict
+ type: Literal["image_url"]
+
+
+class ImageURLChunk(BaseModel):
+ r"""{\"type\":\"image_url\",\"image_url\":{\"url\":\"data:image/png;base64,iVBORw0"""
+
+ image_url: ImageURLUnion
+
+ TYPE: Annotated[
+ Annotated[Literal["image_url"], AfterValidator(validate_const("image_url"))],
+ pydantic.Field(alias="type"),
+ ] = "image_url"
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/jsonschema.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/jsonschema.py
similarity index 97%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/jsonschema.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/jsonschema.py
index 26914b2f..443c429d 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/jsonschema.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/jsonschema.py
@@ -1,7 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_gcp.types import (
+from mistralai.gcp.client.types import (
BaseModel,
Nullable,
OptionalNullable,
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/mistralgcperror.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/mistralgcperror.py
similarity index 100%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/mistralgcperror.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/mistralgcperror.py
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/mistralpromptmode.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/mistralpromptmode.py
similarity index 89%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/mistralpromptmode.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/mistralpromptmode.py
index a5cc534f..c765e4f1 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/mistralpromptmode.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/mistralpromptmode.py
@@ -1,7 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_gcp.types import UnrecognizedStr
+from mistralai.gcp.client.types import UnrecognizedStr
from typing import Literal, Union
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/no_response_error.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/no_response_error.py
similarity index 100%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/no_response_error.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/no_response_error.py
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/prediction.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/prediction.py
similarity index 89%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/prediction.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/prediction.py
index 36c87ab0..f53579ed 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/prediction.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/prediction.py
@@ -1,8 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_gcp.types import BaseModel
-from mistralai_gcp.utils import validate_const
+from mistralai.gcp.client.types import BaseModel
+from mistralai.gcp.client.utils import validate_const
import pydantic
from pydantic.functional_validators import AfterValidator
from typing import Literal, Optional
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/referencechunk.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/referencechunk.py
similarity index 65%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/referencechunk.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/referencechunk.py
index 904e8b82..7396378a 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/referencechunk.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/referencechunk.py
@@ -1,20 +1,20 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_gcp.types import BaseModel
+from mistralai.gcp.client.types import BaseModel
from typing import List, Literal, Optional
from typing_extensions import NotRequired, TypedDict
-ReferenceChunkType = Literal["reference",]
+TypeEnum = Literal["reference",]
class ReferenceChunkTypedDict(TypedDict):
reference_ids: List[int]
- type: NotRequired[ReferenceChunkType]
+ type: NotRequired[TypeEnum]
class ReferenceChunk(BaseModel):
reference_ids: List[int]
- type: Optional[ReferenceChunkType] = "reference"
+ type: Optional[TypeEnum] = "reference"
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/responseformat.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/responseformat.py
similarity index 98%
rename from packages/mistralai_azure/src/mistralai_azure/models/responseformat.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/responseformat.py
index c989f3a4..34ae6b03 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/responseformat.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/responseformat.py
@@ -3,7 +3,7 @@
from __future__ import annotations
from .jsonschema import JSONSchema, JSONSchemaTypedDict
from .responseformats import ResponseFormats
-from mistralai_azure.types import (
+from mistralai.gcp.client.types import (
BaseModel,
Nullable,
OptionalNullable,
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/responseformats.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/responseformats.py
similarity index 100%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/responseformats.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/responseformats.py
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/responsevalidationerror.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/responsevalidationerror.py
similarity index 92%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/responsevalidationerror.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/responsevalidationerror.py
index ebd4f214..e7e01017 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/responsevalidationerror.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/responsevalidationerror.py
@@ -4,7 +4,7 @@
from typing import Optional
from dataclasses import dataclass
-from mistralai_gcp.models import MistralGcpError
+from mistralai.gcp.client.models import MistralGcpError
@dataclass(unsafe_hash=True)
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/sdkerror.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/sdkerror.py
similarity index 95%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/sdkerror.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/sdkerror.py
index 7f53bbcd..5bd5b6dc 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/sdkerror.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/sdkerror.py
@@ -4,7 +4,7 @@
from typing import Optional
from dataclasses import dataclass
-from mistralai_gcp.models import MistralGcpError
+from mistralai.gcp.client.models import MistralGcpError
MAX_MESSAGE_LEN = 10_000
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/security.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/security.py
similarity index 81%
rename from packages/mistralai_azure/src/mistralai_azure/models/security.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/security.py
index c1ae8313..10a469b5 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/security.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/security.py
@@ -1,8 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_azure.types import BaseModel
-from mistralai_azure.utils import FieldMetadata, SecurityMetadata
+from mistralai.gcp.client.types import BaseModel
+from mistralai.gcp.client.utils import FieldMetadata, SecurityMetadata
from typing_extensions import Annotated, TypedDict
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/systemmessage.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/systemmessage.py
similarity index 57%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/systemmessage.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/systemmessage.py
index d74bdf32..a7d695a7 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/systemmessage.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/systemmessage.py
@@ -5,9 +5,12 @@
SystemMessageContentChunks,
SystemMessageContentChunksTypedDict,
)
-from mistralai_gcp.types import BaseModel
-from typing import List, Literal, Optional, Union
-from typing_extensions import NotRequired, TypeAliasType, TypedDict
+from mistralai.gcp.client.types import BaseModel
+from mistralai.gcp.client.utils import validate_const
+import pydantic
+from pydantic.functional_validators import AfterValidator
+from typing import List, Literal, Union
+from typing_extensions import Annotated, TypeAliasType, TypedDict
SystemMessageContentTypedDict = TypeAliasType(
@@ -21,15 +24,15 @@
)
-Role = Literal["system",]
-
-
class SystemMessageTypedDict(TypedDict):
content: SystemMessageContentTypedDict
- role: NotRequired[Role]
+ role: Literal["system"]
class SystemMessage(BaseModel):
content: SystemMessageContent
- role: Optional[Role] = "system"
+ ROLE: Annotated[
+ Annotated[Literal["system"], AfterValidator(validate_const("system"))],
+ pydantic.Field(alias="role"),
+ ] = "system"
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/systemmessagecontentchunks.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/systemmessagecontentchunks.py
similarity index 66%
rename from packages/mistralai_azure/src/mistralai_azure/models/systemmessagecontentchunks.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/systemmessagecontentchunks.py
index 4615a16c..225f38b7 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/systemmessagecontentchunks.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/systemmessagecontentchunks.py
@@ -3,8 +3,7 @@
from __future__ import annotations
from .textchunk import TextChunk, TextChunkTypedDict
from .thinkchunk import ThinkChunk, ThinkChunkTypedDict
-from mistralai_azure.utils import get_discriminator
-from pydantic import Discriminator, Tag
+from pydantic import Field
from typing import Union
from typing_extensions import Annotated, TypeAliasType
@@ -16,6 +15,5 @@
SystemMessageContentChunks = Annotated[
- Union[Annotated[TextChunk, Tag("text")], Annotated[ThinkChunk, Tag("thinking")]],
- Discriminator(lambda m: get_discriminator(m, "type", "type")),
+ Union[TextChunk, ThinkChunk], Field(discriminator="TYPE")
]
diff --git a/packages/mistralai_gcp/src/mistralai/gcp/client/models/textchunk.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/textchunk.py
new file mode 100644
index 00000000..77576c9f
--- /dev/null
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/textchunk.py
@@ -0,0 +1,23 @@
+"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
+
+from __future__ import annotations
+from mistralai.gcp.client.types import BaseModel
+from mistralai.gcp.client.utils import validate_const
+import pydantic
+from pydantic.functional_validators import AfterValidator
+from typing import Literal
+from typing_extensions import Annotated, TypedDict
+
+
+class TextChunkTypedDict(TypedDict):
+ text: str
+ type: Literal["text"]
+
+
+class TextChunk(BaseModel):
+ text: str
+
+ TYPE: Annotated[
+ Annotated[Literal["text"], AfterValidator(validate_const("text"))],
+ pydantic.Field(alias="type"),
+ ] = "text"
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/thinkchunk.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/thinkchunk.py
similarity index 65%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/thinkchunk.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/thinkchunk.py
index b88c0cb5..2409c6dd 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/thinkchunk.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/thinkchunk.py
@@ -3,9 +3,12 @@
from __future__ import annotations
from .referencechunk import ReferenceChunk, ReferenceChunkTypedDict
from .textchunk import TextChunk, TextChunkTypedDict
-from mistralai_gcp.types import BaseModel
+from mistralai.gcp.client.types import BaseModel
+from mistralai.gcp.client.utils import validate_const
+import pydantic
+from pydantic.functional_validators import AfterValidator
from typing import List, Literal, Optional, Union
-from typing_extensions import NotRequired, TypeAliasType, TypedDict
+from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
ThinkingTypedDict = TypeAliasType(
@@ -16,14 +19,11 @@
Thinking = TypeAliasType("Thinking", Union[ReferenceChunk, TextChunk])
-ThinkChunkType = Literal["thinking",]
-
-
class ThinkChunkTypedDict(TypedDict):
thinking: List[ThinkingTypedDict]
closed: NotRequired[bool]
r"""Whether the thinking chunk is closed or not. Currently only used for prefixing."""
- type: NotRequired[ThinkChunkType]
+ type: Literal["thinking"]
class ThinkChunk(BaseModel):
@@ -32,4 +32,7 @@ class ThinkChunk(BaseModel):
closed: Optional[bool] = None
r"""Whether the thinking chunk is closed or not. Currently only used for prefixing."""
- type: Optional[ThinkChunkType] = "thinking"
+ TYPE: Annotated[
+ Annotated[Literal["thinking"], AfterValidator(validate_const("thinking"))],
+ pydantic.Field(alias="type"),
+ ] = "thinking"
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/tool.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/tool.py
similarity index 90%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/tool.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/tool.py
index 800de633..d09c6854 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/tool.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/tool.py
@@ -3,7 +3,7 @@
from __future__ import annotations
from .function import Function, FunctionTypedDict
from .tooltypes import ToolTypes
-from mistralai_gcp.types import BaseModel
+from mistralai.gcp.client.types import BaseModel
from typing import Optional
from typing_extensions import NotRequired, TypedDict
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/toolcall.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/toolcall.py
similarity index 92%
rename from packages/mistralai_azure/src/mistralai_azure/models/toolcall.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/toolcall.py
index 44fe8ec8..a1edf337 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/toolcall.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/toolcall.py
@@ -3,7 +3,7 @@
from __future__ import annotations
from .functioncall import FunctionCall, FunctionCallTypedDict
from .tooltypes import ToolTypes
-from mistralai_azure.types import BaseModel
+from mistralai.gcp.client.types import BaseModel
from typing import Optional
from typing_extensions import NotRequired, TypedDict
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/toolchoice.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/toolchoice.py
similarity index 94%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/toolchoice.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/toolchoice.py
index 4a148330..de3828da 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/toolchoice.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/toolchoice.py
@@ -3,7 +3,7 @@
from __future__ import annotations
from .functionname import FunctionName, FunctionNameTypedDict
from .tooltypes import ToolTypes
-from mistralai_gcp.types import BaseModel
+from mistralai.gcp.client.types import BaseModel
from typing import Optional
from typing_extensions import NotRequired, TypedDict
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/toolchoiceenum.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/toolchoiceenum.py
similarity index 100%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/toolchoiceenum.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/toolchoiceenum.py
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/toolmessage.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/toolmessage.py
similarity index 77%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/toolmessage.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/toolmessage.py
index d6aa2621..27a6ca27 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/toolmessage.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/toolmessage.py
@@ -2,16 +2,19 @@
from __future__ import annotations
from .contentchunk import ContentChunk, ContentChunkTypedDict
-from mistralai_gcp.types import (
+from mistralai.gcp.client.types import (
BaseModel,
Nullable,
OptionalNullable,
UNSET,
UNSET_SENTINEL,
)
+from mistralai.gcp.client.utils import validate_const
+import pydantic
from pydantic import model_serializer
-from typing import List, Literal, Optional, Union
-from typing_extensions import NotRequired, TypeAliasType, TypedDict
+from pydantic.functional_validators import AfterValidator
+from typing import List, Literal, Union
+from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
ToolMessageContentTypedDict = TypeAliasType(
@@ -22,14 +25,11 @@
ToolMessageContent = TypeAliasType("ToolMessageContent", Union[str, List[ContentChunk]])
-ToolMessageRole = Literal["tool",]
-
-
class ToolMessageTypedDict(TypedDict):
content: Nullable[ToolMessageContentTypedDict]
tool_call_id: NotRequired[Nullable[str]]
name: NotRequired[Nullable[str]]
- role: NotRequired[ToolMessageRole]
+ role: Literal["tool"]
class ToolMessage(BaseModel):
@@ -39,11 +39,14 @@ class ToolMessage(BaseModel):
name: OptionalNullable[str] = UNSET
- role: Optional[ToolMessageRole] = "tool"
+ ROLE: Annotated[
+ Annotated[Literal["tool"], AfterValidator(validate_const("tool"))],
+ pydantic.Field(alias="role"),
+ ] = "tool"
@model_serializer(mode="wrap")
def serialize_model(self, handler):
- optional_fields = ["tool_call_id", "name", "role"]
+ optional_fields = ["tool_call_id", "name"]
nullable_fields = ["content", "tool_call_id", "name"]
null_default_fields = []
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/tooltypes.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/tooltypes.py
similarity index 78%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/tooltypes.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/tooltypes.py
index 8b812ae0..fd1aa13d 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/tooltypes.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/tooltypes.py
@@ -1,7 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_gcp.types import UnrecognizedStr
+from mistralai.gcp.client.types import UnrecognizedStr
from typing import Literal, Union
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/usageinfo.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/usageinfo.py
similarity index 98%
rename from packages/mistralai_azure/src/mistralai_azure/models/usageinfo.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/usageinfo.py
index bbe5cdfa..9b7207b1 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/usageinfo.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/usageinfo.py
@@ -1,7 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_azure.types import (
+from mistralai.gcp.client.types import (
BaseModel,
Nullable,
OptionalNullable,
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/usermessage.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/usermessage.py
similarity index 73%
rename from packages/mistralai_gcp/src/mistralai_gcp/models/usermessage.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/usermessage.py
index 0168b452..c083e16d 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/usermessage.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/usermessage.py
@@ -2,10 +2,13 @@
from __future__ import annotations
from .contentchunk import ContentChunk, ContentChunkTypedDict
-from mistralai_gcp.types import BaseModel, Nullable, UNSET_SENTINEL
+from mistralai.gcp.client.types import BaseModel, Nullable, UNSET_SENTINEL
+from mistralai.gcp.client.utils import validate_const
+import pydantic
from pydantic import model_serializer
-from typing import List, Literal, Optional, Union
-from typing_extensions import NotRequired, TypeAliasType, TypedDict
+from pydantic.functional_validators import AfterValidator
+from typing import List, Literal, Union
+from typing_extensions import Annotated, TypeAliasType, TypedDict
UserMessageContentTypedDict = TypeAliasType(
@@ -16,22 +19,22 @@
UserMessageContent = TypeAliasType("UserMessageContent", Union[str, List[ContentChunk]])
-UserMessageRole = Literal["user",]
-
-
class UserMessageTypedDict(TypedDict):
content: Nullable[UserMessageContentTypedDict]
- role: NotRequired[UserMessageRole]
+ role: Literal["user"]
class UserMessage(BaseModel):
content: Nullable[UserMessageContent]
- role: Optional[UserMessageRole] = "user"
+ ROLE: Annotated[
+ Annotated[Literal["user"], AfterValidator(validate_const("user"))],
+ pydantic.Field(alias="role"),
+ ] = "user"
@model_serializer(mode="wrap")
def serialize_model(self, handler):
- optional_fields = ["role"]
+ optional_fields = []
nullable_fields = ["content"]
null_default_fields = []
diff --git a/packages/mistralai_azure/src/mistralai_azure/models/validationerror.py b/packages/mistralai_gcp/src/mistralai/gcp/client/models/validationerror.py
similarity index 90%
rename from packages/mistralai_azure/src/mistralai_azure/models/validationerror.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/models/validationerror.py
index 4caff4a6..2d330e9a 100644
--- a/packages/mistralai_azure/src/mistralai_azure/models/validationerror.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/models/validationerror.py
@@ -1,7 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from mistralai_azure.types import BaseModel
+from mistralai.gcp.client.types import BaseModel
from typing import List, Union
from typing_extensions import TypeAliasType, TypedDict
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/py.typed b/packages/mistralai_gcp/src/mistralai/gcp/client/py.typed
similarity index 100%
rename from packages/mistralai_gcp/src/mistralai_gcp/py.typed
rename to packages/mistralai_gcp/src/mistralai/gcp/client/py.typed
diff --git a/packages/mistralai_gcp/src/mistralai/gcp/client/sdk.py b/packages/mistralai_gcp/src/mistralai/gcp/client/sdk.py
new file mode 100644
index 00000000..63a766a4
--- /dev/null
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/sdk.py
@@ -0,0 +1,189 @@
+"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
+
+from .basesdk import BaseSDK
+from .httpclient import AsyncHttpClient, ClientOwner, HttpClient, close_clients
+from .sdkconfiguration import SDKConfiguration
+from .utils.logger import Logger, get_default_logger
+from .utils.retries import RetryConfig
+import httpx
+import importlib
+from mistralai.gcp.client import models, utils
+from mistralai.gcp.client._hooks import SDKHooks
+from mistralai.gcp.client.types import OptionalNullable, UNSET
+import sys
+from typing import Any, Callable, Dict, Optional, TYPE_CHECKING, Union, cast
+import weakref
+
+if TYPE_CHECKING:
+ from mistralai.gcp.client.chat import Chat
+ from mistralai.gcp.client.fim import Fim
+
+
+class MistralGCP(BaseSDK):
+ r"""Mistral AI API: Dora OpenAPI schema
+
+ Our Chat Completion and Embeddings APIs specification. Create your account on [La Plateforme](https://console.mistral.ai) to get access and read the [docs](https://docs.mistral.ai) to learn how to use it.
+ """
+
+ chat: "Chat"
+ r"""Chat Completion API."""
+ fim: "Fim"
+ r"""Fill-in-the-middle API."""
+ _sub_sdk_map = {
+ "chat": ("mistralai.gcp.client.chat", "Chat"),
+ "fim": ("mistralai.gcp.client.fim", "Fim"),
+ }
+
+ def __init__(
+ self,
+ api_key: Union[str, Callable[[], str]],
+ server: Optional[str] = None,
+ server_url: Optional[str] = None,
+ url_params: Optional[Dict[str, str]] = None,
+ client: Optional[HttpClient] = None,
+ async_client: Optional[AsyncHttpClient] = None,
+ retry_config: OptionalNullable[RetryConfig] = UNSET,
+ timeout_ms: Optional[int] = None,
+ debug_logger: Optional[Logger] = None,
+ ) -> None:
+ r"""Instantiates the SDK configuring it with the provided parameters.
+
+ :param api_key: The api_key required for authentication
+ :param server: The server by name to use for all methods
+ :param server_url: The server URL to use for all methods
+ :param url_params: Parameters to optionally template the server URL with
+ :param client: The HTTP client to use for all synchronous methods
+ :param async_client: The Async HTTP client to use for all asynchronous methods
+ :param retry_config: The retry configuration to use for all supported methods
+ :param timeout_ms: Optional request timeout applied to each operation in milliseconds
+ """
+ client_supplied = True
+ if client is None:
+ client = httpx.Client(follow_redirects=True)
+ client_supplied = False
+
+ assert issubclass(
+ type(client), HttpClient
+ ), "The provided client must implement the HttpClient protocol."
+
+ async_client_supplied = True
+ if async_client is None:
+ async_client = httpx.AsyncClient(follow_redirects=True)
+ async_client_supplied = False
+
+ if debug_logger is None:
+ debug_logger = get_default_logger()
+
+ assert issubclass(
+ type(async_client), AsyncHttpClient
+ ), "The provided async_client must implement the AsyncHttpClient protocol."
+
+ security: Any = None
+ if callable(api_key):
+ # pylint: disable=unnecessary-lambda-assignment
+ security = lambda: models.Security(api_key=api_key())
+ else:
+ security = models.Security(api_key=api_key)
+
+ if server_url is not None:
+ if url_params is not None:
+ server_url = utils.template_url(server_url, url_params)
+
+ BaseSDK.__init__(
+ self,
+ SDKConfiguration(
+ client=client,
+ client_supplied=client_supplied,
+ async_client=async_client,
+ async_client_supplied=async_client_supplied,
+ security=security,
+ server_url=server_url,
+ server=server,
+ retry_config=retry_config,
+ timeout_ms=timeout_ms,
+ debug_logger=debug_logger,
+ ),
+ parent_ref=self,
+ )
+
+ hooks = SDKHooks()
+
+ # pylint: disable=protected-access
+ self.sdk_configuration.__dict__["_hooks"] = hooks
+
+ current_server_url, *_ = self.sdk_configuration.get_server_details()
+ server_url, self.sdk_configuration.client = hooks.sdk_init(
+ current_server_url, client
+ )
+ if current_server_url != server_url:
+ self.sdk_configuration.server_url = server_url
+
+ weakref.finalize(
+ self,
+ close_clients,
+ cast(ClientOwner, self.sdk_configuration),
+ self.sdk_configuration.client,
+ self.sdk_configuration.client_supplied,
+ self.sdk_configuration.async_client,
+ self.sdk_configuration.async_client_supplied,
+ )
+
+ def dynamic_import(self, modname, retries=3):
+ for attempt in range(retries):
+ try:
+ return importlib.import_module(modname)
+ except KeyError:
+ # Clear any half-initialized module and retry
+ sys.modules.pop(modname, None)
+ if attempt == retries - 1:
+ break
+ raise KeyError(f"Failed to import module '{modname}' after {retries} attempts")
+
+ def __getattr__(self, name: str):
+ if name in self._sub_sdk_map:
+ module_path, class_name = self._sub_sdk_map[name]
+ try:
+ module = self.dynamic_import(module_path)
+ klass = getattr(module, class_name)
+ instance = klass(self.sdk_configuration, parent_ref=self)
+ setattr(self, name, instance)
+ return instance
+ except ImportError as e:
+ raise AttributeError(
+ f"Failed to import module {module_path} for attribute {name}: {e}"
+ ) from e
+ except AttributeError as e:
+ raise AttributeError(
+ f"Failed to find class {class_name} in module {module_path} for attribute {name}: {e}"
+ ) from e
+
+ raise AttributeError(
+ f"'{type(self).__name__}' object has no attribute '{name}'"
+ )
+
+ def __dir__(self):
+ default_attrs = list(super().__dir__())
+ lazy_attrs = list(self._sub_sdk_map.keys())
+ return sorted(list(set(default_attrs + lazy_attrs)))
+
+ def __enter__(self):
+ return self
+
+ async def __aenter__(self):
+ return self
+
+ def __exit__(self, exc_type, exc_val, exc_tb):
+ if (
+ self.sdk_configuration.client is not None
+ and not self.sdk_configuration.client_supplied
+ ):
+ self.sdk_configuration.client.close()
+ self.sdk_configuration.client = None
+
+ async def __aexit__(self, exc_type, exc_val, exc_tb):
+ if (
+ self.sdk_configuration.async_client is not None
+ and not self.sdk_configuration.async_client_supplied
+ ):
+ await self.sdk_configuration.async_client.aclose()
+ self.sdk_configuration.async_client = None
diff --git a/packages/mistralai_azure/src/mistralai_azure/sdkconfiguration.py b/packages/mistralai_gcp/src/mistralai/gcp/client/sdkconfiguration.py
similarity index 94%
rename from packages/mistralai_azure/src/mistralai_azure/sdkconfiguration.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/sdkconfiguration.py
index 51289cf0..d56a634f 100644
--- a/packages/mistralai_azure/src/mistralai_azure/sdkconfiguration.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/sdkconfiguration.py
@@ -9,8 +9,8 @@
from .httpclient import AsyncHttpClient, HttpClient
from .utils import Logger, RetryConfig, remove_suffix
from dataclasses import dataclass
-from mistralai_azure import models
-from mistralai_azure.types import OptionalNullable, UNSET
+from mistralai.gcp.client import models
+from mistralai.gcp.client.types import OptionalNullable, UNSET
from pydantic import Field
from typing import Callable, Dict, Optional, Tuple, Union
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/types/__init__.py b/packages/mistralai_gcp/src/mistralai/gcp/client/types/__init__.py
similarity index 100%
rename from packages/mistralai_gcp/src/mistralai_gcp/types/__init__.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/types/__init__.py
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/types/basemodel.py b/packages/mistralai_gcp/src/mistralai/gcp/client/types/basemodel.py
similarity index 100%
rename from packages/mistralai_gcp/src/mistralai_gcp/types/basemodel.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/types/basemodel.py
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/utils/__init__.py b/packages/mistralai_gcp/src/mistralai/gcp/client/utils/__init__.py
similarity index 100%
rename from packages/mistralai_gcp/src/mistralai_gcp/utils/__init__.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/utils/__init__.py
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/utils/annotations.py b/packages/mistralai_gcp/src/mistralai/gcp/client/utils/annotations.py
similarity index 100%
rename from packages/mistralai_gcp/src/mistralai_gcp/utils/annotations.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/utils/annotations.py
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/utils/datetimes.py b/packages/mistralai_gcp/src/mistralai/gcp/client/utils/datetimes.py
similarity index 100%
rename from packages/mistralai_gcp/src/mistralai_gcp/utils/datetimes.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/utils/datetimes.py
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/utils/enums.py b/packages/mistralai_gcp/src/mistralai/gcp/client/utils/enums.py
similarity index 100%
rename from packages/mistralai_gcp/src/mistralai_gcp/utils/enums.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/utils/enums.py
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/utils/eventstreaming.py b/packages/mistralai_gcp/src/mistralai/gcp/client/utils/eventstreaming.py
similarity index 100%
rename from packages/mistralai_gcp/src/mistralai_gcp/utils/eventstreaming.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/utils/eventstreaming.py
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/utils/forms.py b/packages/mistralai_gcp/src/mistralai/gcp/client/utils/forms.py
similarity index 100%
rename from packages/mistralai_gcp/src/mistralai_gcp/utils/forms.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/utils/forms.py
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/utils/headers.py b/packages/mistralai_gcp/src/mistralai/gcp/client/utils/headers.py
similarity index 100%
rename from packages/mistralai_gcp/src/mistralai_gcp/utils/headers.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/utils/headers.py
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/utils/logger.py b/packages/mistralai_gcp/src/mistralai/gcp/client/utils/logger.py
similarity index 100%
rename from packages/mistralai_gcp/src/mistralai_gcp/utils/logger.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/utils/logger.py
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/utils/metadata.py b/packages/mistralai_gcp/src/mistralai/gcp/client/utils/metadata.py
similarity index 100%
rename from packages/mistralai_gcp/src/mistralai_gcp/utils/metadata.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/utils/metadata.py
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/utils/queryparams.py b/packages/mistralai_gcp/src/mistralai/gcp/client/utils/queryparams.py
similarity index 100%
rename from packages/mistralai_gcp/src/mistralai_gcp/utils/queryparams.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/utils/queryparams.py
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/utils/requestbodies.py b/packages/mistralai_gcp/src/mistralai/gcp/client/utils/requestbodies.py
similarity index 100%
rename from packages/mistralai_gcp/src/mistralai_gcp/utils/requestbodies.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/utils/requestbodies.py
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/utils/retries.py b/packages/mistralai_gcp/src/mistralai/gcp/client/utils/retries.py
similarity index 100%
rename from packages/mistralai_gcp/src/mistralai_gcp/utils/retries.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/utils/retries.py
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/utils/security.py b/packages/mistralai_gcp/src/mistralai/gcp/client/utils/security.py
similarity index 100%
rename from packages/mistralai_gcp/src/mistralai_gcp/utils/security.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/utils/security.py
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/utils/serializers.py b/packages/mistralai_gcp/src/mistralai/gcp/client/utils/serializers.py
similarity index 100%
rename from packages/mistralai_gcp/src/mistralai_gcp/utils/serializers.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/utils/serializers.py
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/utils/unmarshal_json_response.py b/packages/mistralai_gcp/src/mistralai/gcp/client/utils/unmarshal_json_response.py
similarity index 95%
rename from packages/mistralai_gcp/src/mistralai_gcp/utils/unmarshal_json_response.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/utils/unmarshal_json_response.py
index c168a293..83e8275e 100644
--- a/packages/mistralai_gcp/src/mistralai_gcp/utils/unmarshal_json_response.py
+++ b/packages/mistralai_gcp/src/mistralai/gcp/client/utils/unmarshal_json_response.py
@@ -5,7 +5,7 @@
import httpx
from .serializers import unmarshal_json
-from mistralai_gcp import models
+from mistralai.gcp.client import models
T = TypeVar("T")
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/utils/url.py b/packages/mistralai_gcp/src/mistralai/gcp/client/utils/url.py
similarity index 100%
rename from packages/mistralai_gcp/src/mistralai_gcp/utils/url.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/utils/url.py
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/utils/values.py b/packages/mistralai_gcp/src/mistralai/gcp/client/utils/values.py
similarity index 100%
rename from packages/mistralai_gcp/src/mistralai_gcp/utils/values.py
rename to packages/mistralai_gcp/src/mistralai/gcp/client/utils/values.py
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/_hooks/custom_user_agent.py b/packages/mistralai_gcp/src/mistralai_gcp/_hooks/custom_user_agent.py
deleted file mode 100644
index 77df6aef..00000000
--- a/packages/mistralai_gcp/src/mistralai_gcp/_hooks/custom_user_agent.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# THIS FILE IS THE EXACT COPY OF THE ORIGINAL FILE FROM src/mistralai/_hooks/custom_user_agent.py
-from typing import Union
-
-import httpx
-
-from .types import BeforeRequestContext, BeforeRequestHook
-
-PREFIX = "mistral-client-python/"
-
-class CustomUserAgentHook(BeforeRequestHook):
- def before_request(
- self, hook_ctx: BeforeRequestContext, request: httpx.Request
- ) -> Union[httpx.Request, Exception]:
- current = request.headers["user-agent"]
- if current.startswith(PREFIX):
- return request
-
- request.headers["user-agent"] = (
- PREFIX + current.split(" ")[1]
- )
-
- return request
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/models/textchunk.py b/packages/mistralai_gcp/src/mistralai_gcp/models/textchunk.py
deleted file mode 100644
index c4a8cf28..00000000
--- a/packages/mistralai_gcp/src/mistralai_gcp/models/textchunk.py
+++ /dev/null
@@ -1,20 +0,0 @@
-"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
-
-from __future__ import annotations
-from mistralai_gcp.types import BaseModel
-from typing import Literal, Optional
-from typing_extensions import NotRequired, TypedDict
-
-
-Type = Literal["text",]
-
-
-class TextChunkTypedDict(TypedDict):
- text: str
- type: NotRequired[Type]
-
-
-class TextChunk(BaseModel):
- text: str
-
- type: Optional[Type] = "text"
diff --git a/packages/mistralai_gcp/src/mistralai_gcp/sdk.py b/packages/mistralai_gcp/src/mistralai_gcp/sdk.py
deleted file mode 100644
index de48fbbb..00000000
--- a/packages/mistralai_gcp/src/mistralai_gcp/sdk.py
+++ /dev/null
@@ -1,233 +0,0 @@
-"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
-
-import json
-import weakref
-from typing import Any, Optional, Union, cast
-
-import google.auth
-import google.auth.credentials
-import google.auth.transport
-import google.auth.transport.requests
-import httpx
-
-from mistralai_gcp import models
-from mistralai_gcp._hooks import BeforeRequestHook, SDKHooks
-from mistralai_gcp.chat import Chat
-from mistralai_gcp.fim import Fim
-from mistralai_gcp.types import UNSET, OptionalNullable
-
-from .basesdk import BaseSDK
-from .httpclient import AsyncHttpClient, ClientOwner, HttpClient, close_clients
-from .sdkconfiguration import SDKConfiguration
-from .utils.logger import Logger, get_default_logger
-from .utils.retries import RetryConfig
-
-LEGACY_MODEL_ID_FORMAT = {
- "codestral-2405": "codestral@2405",
- "mistral-large-2407": "mistral-large@2407",
- "mistral-nemo-2407": "mistral-nemo@2407",
-}
-
-
-def get_model_info(model: str) -> tuple[str, str]:
- # if the model requiers the legacy fomat, use it, else do nothing.
- if model in LEGACY_MODEL_ID_FORMAT:
- return "-".join(model.split("-")[:-1]), LEGACY_MODEL_ID_FORMAT[model]
- return model, model
-
-
-class MistralGoogleCloud(BaseSDK):
- r"""Mistral AI API: Our Chat Completion and Embeddings APIs specification. Create your account on [La Plateforme](https://console.mistral.ai) to get access and read the [docs](https://docs.mistral.ai) to learn how to use it."""
-
- chat: Chat
- r"""Chat Completion API."""
- fim: Fim
- r"""Fill-in-the-middle API."""
-
- def __init__(
- self,
- region: str = "europe-west4",
- project_id: Optional[str] = None,
- access_token: Optional[str] = None,
- client: Optional[HttpClient] = None,
- async_client: Optional[AsyncHttpClient] = None,
- retry_config: OptionalNullable[RetryConfig] = UNSET,
- timeout_ms: Optional[int] = None,
- debug_logger: Optional[Logger] = None,
- ) -> None:
- r"""Instantiates the SDK configuring it with the provided parameters.
-
- :param api_key: The api_key required for authentication
- :param server: The server by name to use for all methods
- :param server_url: The server URL to use for all methods
- :param url_params: Parameters to optionally template the server URL with
- :param client: The HTTP client to use for all synchronous methods
- :param async_client: The Async HTTP client to use for all asynchronous methods
- :param retry_config: The retry configuration to use for all supported methods
- :param timeout_ms: Optional request timeout applied to each operation in milliseconds
- """
-
- credentials = None
- if not access_token:
- credentials, loaded_project_id = google.auth.default(
- scopes=["https://www.googleapis.com/auth/cloud-platform"],
- )
-
- # default will already raise a google.auth.exceptions.DefaultCredentialsError if no credentials are found
- assert isinstance(
- credentials, google.auth.credentials.Credentials
- ), "credentials must be an instance of google.auth.credentials.Credentials"
-
- credentials.refresh(google.auth.transport.requests.Request())
- project_id = project_id or loaded_project_id
-
- if project_id is None:
- raise ValueError("project_id must be provided")
-
- def auth_token() -> str:
- if access_token:
- return access_token
-
- assert credentials is not None, "credentials must be initialized"
- credentials.refresh(google.auth.transport.requests.Request())
- token = credentials.token
- if not token:
- raise Exception("Failed to get token from credentials")
- return token
-
- client_supplied = True
- if client is None:
- client = httpx.Client()
- client_supplied = False
-
- assert issubclass(
- type(client), HttpClient
- ), "The provided client must implement the HttpClient protocol."
-
- async_client_supplied = True
- if async_client is None:
- async_client = httpx.AsyncClient()
- async_client_supplied = False
-
- if debug_logger is None:
- debug_logger = get_default_logger()
-
- assert issubclass(
- type(async_client), AsyncHttpClient
- ), "The provided async_client must implement the AsyncHttpClient protocol."
-
- security: Any = None
- if callable(auth_token):
- security = lambda: models.Security( # pylint: disable=unnecessary-lambda-assignment
- api_key=auth_token()
- )
- else:
- security = models.Security(api_key=auth_token)
-
- BaseSDK.__init__(
- self,
- SDKConfiguration(
- client=client,
- client_supplied=client_supplied,
- async_client=async_client,
- async_client_supplied=async_client_supplied,
- security=security,
- server_url=f"https://{region}-aiplatform.googleapis.com",
- server=None,
- retry_config=retry_config,
- timeout_ms=timeout_ms,
- debug_logger=debug_logger,
- ),
- )
-
- hooks = SDKHooks()
- hook = GoogleCloudBeforeRequestHook(region, project_id)
- hooks.register_before_request_hook(hook)
- current_server_url, *_ = self.sdk_configuration.get_server_details()
- server_url, self.sdk_configuration.client = hooks.sdk_init(
- current_server_url, client
- )
- if current_server_url != server_url:
- self.sdk_configuration.server_url = server_url
-
- # pylint: disable=protected-access
- self.sdk_configuration.__dict__["_hooks"] = hooks
-
- weakref.finalize(
- self,
- close_clients,
- cast(ClientOwner, self.sdk_configuration),
- self.sdk_configuration.client,
- self.sdk_configuration.client_supplied,
- self.sdk_configuration.async_client,
- self.sdk_configuration.async_client_supplied,
- )
-
- self._init_sdks()
-
- def _init_sdks(self):
- self.chat = Chat(self.sdk_configuration)
- self.fim = Fim(self.sdk_configuration)
-
- def __enter__(self):
- return self
-
- async def __aenter__(self):
- return self
-
- def __exit__(self, exc_type, exc_val, exc_tb):
- if (
- self.sdk_configuration.client is not None
- and not self.sdk_configuration.client_supplied
- ):
- self.sdk_configuration.client.close()
- self.sdk_configuration.client = None
-
- async def __aexit__(self, exc_type, exc_val, exc_tb):
- if (
- self.sdk_configuration.async_client is not None
- and not self.sdk_configuration.async_client_supplied
- ):
- await self.sdk_configuration.async_client.aclose()
- self.sdk_configuration.async_client = None
-
-
-class GoogleCloudBeforeRequestHook(BeforeRequestHook):
- def __init__(self, region: str, project_id: str):
- self.region = region
- self.project_id = project_id
-
- def before_request(
- self, hook_ctx, request: httpx.Request
- ) -> Union[httpx.Request, Exception]:
- # The goal of this function is to template in the region, project and model into the URL path
- # We do this here so that the API remains more user-friendly
- model_id = None
- new_content = None
- if request.content:
- parsed = json.loads(request.content.decode("utf-8"))
- model_raw = parsed.get("model")
- model_name, model_id = get_model_info(model_raw)
- parsed["model"] = model_name
- new_content = json.dumps(parsed).encode("utf-8")
-
- if model_id == "":
- raise ValueError("model must be provided")
-
- stream = "streamRawPredict" in request.url.path
- specifier = "streamRawPredict" if stream else "rawPredict"
- url = f"/v1/projects/{self.project_id}/locations/{self.region}/publishers/mistralai/models/{model_id}:{specifier}"
-
- headers = dict(request.headers)
- # Delete content-length header as it will need to be recalculated
- headers.pop("content-length", None)
-
- next_request = httpx.Request(
- method=request.method,
- url=request.url.copy_with(path=url),
- headers=headers,
- content=new_content,
- stream=None,
- )
-
- return next_request
diff --git a/packages/mistralai_gcp/uv.lock b/packages/mistralai_gcp/uv.lock
index 4fbca724..78afd5b7 100644
--- a/packages/mistralai_gcp/uv.lock
+++ b/packages/mistralai_gcp/uv.lock
@@ -277,7 +277,7 @@ wheels = [
[[package]]
name = "mistralai-gcp"
-version = "1.8.0"
+version = "2.0.0a4"
source = { editable = "." }
dependencies = [
{ name = "eval-type-backport" },
diff --git a/pyproject.toml b/pyproject.toml
index f8006e7d..2bdbff79 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "mistralai"
-version = "2.0.0a3"
+version = "2.0.0a4"
description = "Python Client SDK for the Mistral AI API."
authors = [{ name = "Mistral" }]
requires-python = ">=3.10"
@@ -65,11 +65,18 @@ default-groups = [
[tool.setuptools.package-data]
"*" = ["py.typed", "src/mistralai/client/py.typed"]
+[tool.hatch.build]
+dev-mode-dirs = [
+ "src",
+ "packages/mistralai_azure/src",
+ "packages/mistralai_gcp/src",
+]
+
[tool.hatch.build.targets.sdist]
include = [
"src/mistralai",
- "packages/mistralai_azure/src/mistralai_azure",
- "packages/mistralai_gcp/src/mistralai_gcp",
+ "packages/mistralai_azure/src/mistralai",
+ "packages/mistralai_gcp/src/mistralai",
]
[tool.hatch.build.targets.sdist.force-include]
@@ -79,14 +86,14 @@ include = [
[tool.hatch.build.targets.wheel]
include = [
"src/mistralai",
- "packages/mistralai_azure/src/mistralai_azure",
- "packages/mistralai_gcp/src/mistralai_gcp",
+ "packages/mistralai_azure/src/mistralai",
+ "packages/mistralai_gcp/src/mistralai",
]
[tool.hatch.build.targets.wheel.sources]
"src/mistralai" = "mistralai"
-"packages/mistralai_azure/src/mistralai_azure" = "mistralai_azure"
-"packages/mistralai_gcp/src/mistralai_gcp" = "mistralai_gcp"
+"packages/mistralai_azure/src/mistralai/azure" = "mistralai/azure"
+"packages/mistralai_gcp/src/mistralai/gcp" = "mistralai/gcp"
[build-system]
requires = ["hatchling"]
diff --git a/scripts/lint_custom_code.sh b/scripts/lint_custom_code.sh
index 57bab71a..ac2f2002 100755
--- a/scripts/lint_custom_code.sh
+++ b/scripts/lint_custom_code.sh
@@ -7,7 +7,19 @@ if [ -f src/mistralai/__init__.py ]; then
echo "ERROR: PEP 420 violation - src/mistralai/__init__.py must not exist"
ERRORS=1
else
- echo "-> PEP 420 namespace OK"
+ echo "-> PEP 420 namespace OK (core)"
+fi
+if [ -f packages/mistralai_azure/src/mistralai/__init__.py ]; then
+ echo "ERROR: PEP 420 violation - packages/mistralai_azure/src/mistralai/__init__.py must not exist"
+ ERRORS=1
+else
+ echo "-> PEP 420 namespace OK (azure)"
+fi
+if [ -f packages/mistralai_gcp/src/mistralai/__init__.py ]; then
+ echo "ERROR: PEP 420 violation - packages/mistralai_gcp/src/mistralai/__init__.py must not exist"
+ ERRORS=1
+else
+ echo "-> PEP 420 namespace OK (gcp)"
fi
echo "Running mypy..."
diff --git a/scripts/run_examples.sh b/scripts/run_examples.sh
index 22fc94e5..183ea6f8 100755
--- a/scripts/run_examples.sh
+++ b/scripts/run_examples.sh
@@ -29,8 +29,8 @@ done
exclude_files=(
"examples/mistral/chat/chatbot_with_streaming.py"
"examples/mistral/agents/async_conversation_run_mcp_remote_auth.py"
- "examples/mistral/jobs/async_fine_tuning_chat.py"
"examples/mistral/jobs/async_fine_tuning.py"
+ "examples/mistral/jobs/async_fine_tuning_chat.py"
"examples/mistral/jobs/fine_tuning.py"
"examples/mistral/jobs/fine_tuning_dry_run.py"
"examples/mistral/classifier/async_classifier.py"
diff --git a/src/mistralai/client/_version.py b/src/mistralai/client/_version.py
index 814d9ec7..78591b3e 100644
--- a/src/mistralai/client/_version.py
+++ b/src/mistralai/client/_version.py
@@ -4,10 +4,10 @@
import importlib.metadata
__title__: str = "mistralai"
-__version__: str = "2.0.0a3"
+__version__: str = "2.0.0a4"
__openapi_doc_version__: str = "1.0.0"
__gen_version__: str = "2.794.1"
-__user_agent__: str = "speakeasy-sdk/python 2.0.0a3 2.794.1 1.0.0 mistralai"
+__user_agent__: str = "speakeasy-sdk/python 2.0.0a4 2.794.1 1.0.0 mistralai"
try:
if __package__ is not None:
diff --git a/tests/test_azure_integration.py b/tests/test_azure_integration.py
new file mode 100644
index 00000000..beb071d1
--- /dev/null
+++ b/tests/test_azure_integration.py
@@ -0,0 +1,131 @@
+"""
+Integration tests for Azure SDK.
+
+These tests require credentials and make real API calls.
+Skip if AZURE_API_KEY and AZURE_ENDPOINT env vars are not set.
+
+Usage:
+ AZURE_API_KEY=xxx AZURE_ENDPOINT=xxx pytest tests/test_azure_integration.py -v
+
+Note: AZURE_ENDPOINT should be the base URL of your Azure AI endpoint.
+The SDK appends /chat/completions to this URL.
+
+Example:
+ export AZURE_ENDPOINT="https://your-resource.services.ai.azure.com/models"
+ # SDK will call: https://your-resource.services.ai.azure.com/models/chat/completions
+
+For Azure AI deployments, the model parameter defaults to "azureai" since the
+model is determined by the deployment endpoint, not a model ID.
+"""
+import os
+import pytest
+
+# Skip all tests if credentials not available
+AZURE_API_KEY = os.environ.get("AZURE_API_KEY")
+AZURE_ENDPOINT = os.environ.get("AZURE_ENDPOINT")
+SKIP_REASON = "AZURE_API_KEY and AZURE_ENDPOINT env vars required"
+
+pytestmark = pytest.mark.skipif(
+ not AZURE_API_KEY or not AZURE_ENDPOINT,
+ reason=SKIP_REASON
+)
+
+
+@pytest.fixture
+def azure_client():
+ from mistralai.azure.client import MistralAzure
+ print(f"\n[DEBUG] Using AZURE_ENDPOINT: {AZURE_ENDPOINT}")
+ client = MistralAzure(
+ api_key=AZURE_API_KEY,
+ server_url=AZURE_ENDPOINT,
+ )
+ # Print the resolved server URL
+ server_url, _ = client.sdk_configuration.get_server_details()
+ print(f"[DEBUG] Resolved server_url: {server_url}")
+ return client
+
+
+class TestAzureChatComplete:
+ """Test synchronous chat completion."""
+
+ def test_basic_completion(self, azure_client):
+ """Test basic chat completion returns a response."""
+ res = azure_client.chat.complete(
+ model="azureai",
+ messages=[
+ {"role": "user", "content": "Say 'hello' and nothing else."}
+ ],
+ )
+ assert res is not None
+ assert res.choices is not None
+ assert len(res.choices) > 0
+ assert res.choices[0].message is not None
+ assert res.choices[0].message.content is not None
+ assert len(res.choices[0].message.content) > 0
+
+ def test_completion_with_max_tokens(self, azure_client):
+ """Test chat completion respects max_tokens."""
+ res = azure_client.chat.complete(
+ model="azureai",
+ messages=[
+ {"role": "user", "content": "Count from 1 to 100."}
+ ],
+ max_tokens=10,
+ )
+ assert res is not None
+ # With max_tokens=10, response should be truncated
+ assert res.choices[0].finish_reason in ("length", "stop")
+
+ def test_completion_with_temperature(self, azure_client):
+ """Test chat completion accepts temperature parameter."""
+ res = azure_client.chat.complete(
+ model="azureai",
+ messages=[
+ {"role": "user", "content": "Say 'test'."}
+ ],
+ temperature=0.0,
+ )
+ assert res is not None
+ assert res.choices[0].message.content is not None
+
+
+class TestAzureChatStream:
+ """Test streaming chat completion."""
+
+ def test_basic_stream(self, azure_client):
+ """Test streaming returns chunks."""
+ stream = azure_client.chat.stream(
+ model="azureai",
+ messages=[
+ {"role": "user", "content": "Say 'hello' and nothing else."}
+ ],
+ )
+
+ chunks = list(stream)
+ assert len(chunks) > 0
+
+ # Collect content from all chunks
+ content = ""
+ for chunk in chunks:
+ if chunk.data.choices and chunk.data.choices[0].delta.content:
+ content += chunk.data.choices[0].delta.content
+
+ assert len(content) > 0
+
+
+class TestAzureChatCompleteAsync:
+ """Test async chat completion."""
+
+ @pytest.mark.asyncio
+ async def test_basic_completion_async(self, azure_client):
+ """Test async chat completion returns a response."""
+ res = await azure_client.chat.complete_async(
+ model="azureai",
+ messages=[
+ {"role": "user", "content": "Say 'hello' and nothing else."}
+ ],
+ )
+ assert res is not None
+ assert res.choices is not None
+ assert len(res.choices) > 0
+ assert res.choices[0].message.content is not None
diff --git a/tests/test_azure_v2_parity.py b/tests/test_azure_v2_parity.py
new file mode 100644
index 00000000..0127a202
--- /dev/null
+++ b/tests/test_azure_v2_parity.py
@@ -0,0 +1,99 @@
+"""
+Parity tests for the Azure v2 SDK.
+
+Verifies that the regenerated mistralai.azure package exposes
+the same public API surface as the v1 mistralai_azure package.
+Uses introspection only — no API calls or credentials required.
+"""
+import inspect
+
+from mistralai.azure.client import MistralAzure
+from mistralai.azure.client.chat import Chat
+from mistralai.azure.client.ocr import Ocr
+
+AZURE_METHODS: dict[str, set[str]] = {
+ "chat": {"complete", "stream"},
+ "ocr": {"process"},
+}
+
+TESTED_METHODS: set[str] = set()
+
+def mark_tested(resource: str, method: str) -> None:
+ TESTED_METHODS.add(f"{resource}.{method}")
+
+class TestAzureSDKStructure:
+ def test_sdk_has_chat(self):
+ assert "chat" in MistralAzure.__annotations__
+
+ def test_sdk_has_ocr(self):
+ assert "ocr" in MistralAzure.__annotations__
+
+class TestAzureChat:
+ def test_has_complete(self):
+ assert hasattr(Chat, "complete")
+ mark_tested("chat", "complete")
+
+ def test_has_complete_async(self):
+ assert hasattr(Chat, "complete_async")
+ mark_tested("chat", "complete_async")
+
+ def test_has_stream(self):
+ assert hasattr(Chat, "stream")
+ mark_tested("chat", "stream")
+
+ def test_has_stream_async(self):
+ assert hasattr(Chat, "stream_async")
+ mark_tested("chat", "stream_async")
+
+ def test_complete_accepts_messages(self):
+ sig = inspect.signature(Chat.complete)
+ assert "messages" in sig.parameters
+
+ def test_complete_model_defaults_azureai(self):
+ sig = inspect.signature(Chat.complete)
+ model_param = sig.parameters.get("model")
+ assert model_param is not None
+ assert model_param.default == "azureai"
+
+ def test_stream_accepts_messages(self):
+ sig = inspect.signature(Chat.stream)
+ assert "messages" in sig.parameters
+
+class TestAzureOcr:
+ def test_has_process(self):
+ assert hasattr(Ocr, "process")
+ mark_tested("ocr", "process")
+
+ def test_has_process_async(self):
+ assert hasattr(Ocr, "process_async")
+ mark_tested("ocr", "process_async")
+
+ def test_process_accepts_document(self):
+ sig = inspect.signature(Ocr.process)
+ assert "document" in sig.parameters
+
+ def test_process_accepts_model(self):
+ sig = inspect.signature(Ocr.process)
+ assert "model" in sig.parameters
+
+class TestAzureCoverage:
+ def test_all_methods_tested(self):
+ expected = set()
+ for resource, methods in AZURE_METHODS.items():
+ for method in methods:
+ expected.add(f"{resource}.{method}")
+ expected.add(f"{resource}.{method}_async")
+ untested = expected - TESTED_METHODS
+ assert not untested, f"Untested methods: {untested}"
+
+ def test_no_unexpected_public_methods_on_chat(self):
+ public = {m for m in dir(Chat) if not m.startswith("_") and callable(getattr(Chat, m, None))}
+ known = {"complete", "complete_async", "stream", "stream_async", "do_request", "do_request_async"}
+ unexpected = public - known
+ assert not unexpected, f"Unexpected Chat methods: {unexpected}"
+
+ def test_no_unexpected_public_methods_on_ocr(self):
+ public = {m for m in dir(Ocr) if not m.startswith("_") and callable(getattr(Ocr, m, None))}
+ known = {"process", "process_async", "do_request", "do_request_async"}
+ unexpected = public - known
+ assert not unexpected, f"Unexpected Ocr methods: {unexpected}"
diff --git a/tests/test_gcp_integration.py b/tests/test_gcp_integration.py
new file mode 100644
index 00000000..512af21d
--- /dev/null
+++ b/tests/test_gcp_integration.py
@@ -0,0 +1,210 @@
+"""
+Integration tests for GCP SDK.
+
+These tests require GCP credentials and make real API calls.
+Skip if GCP_API_KEY env var is not set.
+
+Prerequisites:
+ 1. Authenticate with GCP: gcloud auth application-default login
+ 2. Have "Vertex AI User" role on the project
+
+Usage:
+ GCP_API_KEY=xxx GCP_SERVER_URL=xxx pytest tests/test_gcp_integration.py -v
+
+Environment variables:
+ GCP_API_KEY: OAuth token from gcloud auth print-access-token
+ GCP_SERVER_URL: Vertex AI endpoint URL for chat
+ GCP_FIM_SERVER_URL: Vertex AI endpoint URL for FIM
+ GCP_MODEL: Model name for chat (default: mistral-small-2503)
+ GCP_FIM_MODEL: Model name for FIM (default: codestral-2)
+
+Example:
+ export GCP_API_KEY=$(gcloud auth print-access-token)
+ export GCP_SERVER_URL="https://us-central1-aiplatform.googleapis.com/v1/projects/YOUR_PROJECT/locations/us-central1/endpoints/YOUR_CHAT_ENDPOINT"
+ pytest tests/test_gcp_integration.py -v
+
+FIM Tests - KNOWN ISSUE:
+ FIM tests timeout under pytest but the SDK works correctly.
+
+ Evidence:
+ 1. curl works instantly:
+ curl -X POST \
+ -H "Authorization: Bearer $(gcloud auth print-access-token)" \
+ -H "Content-Type: application/json" \
+ "https://.../:rawPredict" \
+ -d '{"model":"codestral-2","prompt":"def fib():","suffix":" return result"}'
+
+ 2. SDK outside pytest works instantly:
+ python -c "
+ from mistralai.gcp.client import MistralGCP
+ client = MistralGCP(api_key=token, server_url=url)
+ res = client.fim.complete(model='codestral-2', prompt='def fib():', suffix='return result')
+ "
+
+ 3. SDK in pytest times out at httpcore socket read level.
+
+ Root cause unknown - likely pytest/httpcore interaction.
+"""
+import os
+import subprocess
+import pytest
+
+# Skip all tests if credentials not available
+GCP_API_KEY = os.environ.get("GCP_API_KEY")
+GCP_SERVER_URL = os.environ.get("GCP_SERVER_URL")
+GCP_FIM_SERVER_URL = os.environ.get("GCP_FIM_SERVER_URL")
+SKIP_REASON = "GCP_API_KEY env var required"
+
+pytestmark = pytest.mark.skipif(
+ not GCP_API_KEY,
+ reason=SKIP_REASON
+)
+
+# Models
+GCP_MODEL = os.environ.get("GCP_MODEL", "mistral-small-2503")
+GCP_FIM_MODEL = os.environ.get("GCP_FIM_MODEL", "codestral-2")
+
+
+@pytest.fixture
+def gcp_client():
+ """Create a GCP client for chat tests."""
+ from mistralai.gcp.client import MistralGCP
+ return MistralGCP(
+ api_key=GCP_API_KEY,
+ server_url=GCP_SERVER_URL,
+ )
+
+
+class TestGCPChatComplete:
+ """Test synchronous chat completion."""
+
+ def test_basic_completion(self, gcp_client):
+ """Test basic chat completion returns a response."""
+ res = gcp_client.chat.complete(
+ model=GCP_MODEL,
+ messages=[
+ {"role": "user", "content": "Say 'hello' and nothing else."}
+ ],
+ )
+ assert res is not None
+ assert res.choices is not None
+ assert len(res.choices) > 0
+ assert res.choices[0].message is not None
+ assert res.choices[0].message.content is not None
+ assert len(res.choices[0].message.content) > 0
+
+ def test_completion_with_max_tokens(self, gcp_client):
+ """Test chat completion respects max_tokens."""
+ res = gcp_client.chat.complete(
+ model=GCP_MODEL,
+ messages=[
+ {"role": "user", "content": "Count from 1 to 100."}
+ ],
+ max_tokens=10,
+ )
+ assert res is not None
+ # With max_tokens=10, response should be truncated
+ assert res.choices[0].finish_reason in ("length", "stop")
+
+ def test_completion_with_temperature(self, gcp_client):
+ """Test chat completion accepts temperature parameter."""
+ res = gcp_client.chat.complete(
+ model=GCP_MODEL,
+ messages=[
+ {"role": "user", "content": "Say 'test'."}
+ ],
+ temperature=0.0,
+ )
+ assert res is not None
+ assert res.choices[0].message.content is not None
+
+
+class TestGCPChatStream:
+ """Test streaming chat completion."""
+
+ def test_basic_stream(self, gcp_client):
+ """Test streaming returns chunks."""
+ stream = gcp_client.chat.stream(
+ model=GCP_MODEL,
+ messages=[
+ {"role": "user", "content": "Say 'hello' and nothing else."}
+ ],
+ )
+
+ chunks = list(stream)
+ assert len(chunks) > 0
+
+ # Collect content from all chunks
+ content = ""
+ for chunk in chunks:
+ if chunk.data.choices and chunk.data.choices[0].delta.content:
+ content += chunk.data.choices[0].delta.content
+
+ assert len(content) > 0
+
+
+class TestGCPChatCompleteAsync:
+ """Test async chat completion."""
+
+ @pytest.mark.asyncio
+ async def test_basic_completion_async(self, gcp_client):
+ """Test async chat completion returns a response."""
+ res = await gcp_client.chat.complete_async(
+ model=GCP_MODEL,
+ messages=[
+ {"role": "user", "content": "Say 'hello' and nothing else."}
+ ],
+ )
+ assert res is not None
+ assert res.choices is not None
+ assert len(res.choices) > 0
+ assert res.choices[0].message.content is not None
+
+
+# =============================================================================
+# FIM Tests - Skipped due to pytest/httpcore timeout issue (see module docstring)
+# =============================================================================
+
+def get_fresh_token():
+ """Get fresh GCP token for FIM tests."""
+ result = subprocess.run(
+ ["gcloud", "auth", "print-access-token"],
+ capture_output=True, text=True
+ )
+ return result.stdout.strip()
+
+
+@pytest.mark.skip(reason="FIM tests timeout under pytest - see module docstring")
+def test_fim_complete():
+ """Test FIM completion returns a response."""
+ from mistralai.gcp.client import MistralGCP
+
+ token = get_fresh_token()
+ client = MistralGCP(api_key=token, server_url=GCP_FIM_SERVER_URL)
+
+ res = client.fim.complete(
+ model=GCP_FIM_MODEL,
+ prompt="def fib():",
+ suffix=" return result",
+ timeout_ms=10000,
+ )
+ assert res is not None
+ assert res.choices is not None
+
+
+@pytest.mark.skip(reason="FIM tests timeout under pytest - see module docstring")
+def test_fim_stream():
+ """Test FIM streaming returns chunks."""
+ from mistralai.gcp.client import MistralGCP
+
+ token = get_fresh_token()
+ client = MistralGCP(api_key=token, server_url=GCP_FIM_SERVER_URL)
+
+ stream = client.fim.stream(
+ model=GCP_FIM_MODEL,
+ prompt="def hello():",
+ suffix=" return greeting",
+ timeout_ms=10000,
+ )
+ chunks = list(stream)
+ assert len(chunks) > 0
diff --git a/tests/test_gcp_v2_parity.py b/tests/test_gcp_v2_parity.py
new file mode 100644
index 00000000..e864b627
--- /dev/null
+++ b/tests/test_gcp_v2_parity.py
@@ -0,0 +1,119 @@
+"""
+Parity tests for the GCP v2 SDK.
+
+Verifies that the regenerated mistralai.gcp package exposes
+the same public API surface as the v1 mistralai_gcp package.
+Uses introspection only — no API calls or credentials required.
+"""
+import inspect
+
+from mistralai.gcp.client import MistralGCP
+from mistralai.gcp.client.chat import Chat
+from mistralai.gcp.client.fim import Fim
+
+GCP_METHODS: dict[str, set[str]] = {
+ "chat": {"complete", "stream"},
+ "fim": {"complete", "stream"},
+}
+
+TESTED_METHODS: set[str] = set()
+
+def mark_tested(resource: str, method: str) -> None:
+ TESTED_METHODS.add(f"{resource}.{method}")
+
+class TestGCPSDKStructure:
+ def test_sdk_has_chat(self):
+ assert "chat" in MistralGCP.__annotations__
+
+ def test_sdk_has_fim(self):
+ assert "fim" in MistralGCP.__annotations__
+
+class TestGCPChat:
+ def test_has_complete(self):
+ assert hasattr(Chat, "complete")
+ mark_tested("chat", "complete")
+
+ def test_has_complete_async(self):
+ assert hasattr(Chat, "complete_async")
+ mark_tested("chat", "complete_async")
+
+ def test_has_stream(self):
+ assert hasattr(Chat, "stream")
+ mark_tested("chat", "stream")
+
+ def test_has_stream_async(self):
+ assert hasattr(Chat, "stream_async")
+ mark_tested("chat", "stream_async")
+
+ def test_complete_accepts_messages(self):
+ sig = inspect.signature(Chat.complete)
+ assert "messages" in sig.parameters
+
+ def test_complete_requires_model(self):
+ sig = inspect.signature(Chat.complete)
+ model_param = sig.parameters.get("model")
+ assert model_param is not None
+ assert model_param.default is inspect.Parameter.empty
+
+ def test_stream_accepts_messages(self):
+ sig = inspect.signature(Chat.stream)
+ assert "messages" in sig.parameters
+
+ def test_stream_requires_model(self):
+ sig = inspect.signature(Chat.stream)
+ model_param = sig.parameters.get("model")
+ assert model_param is not None
+ assert model_param.default is inspect.Parameter.empty
+
+class TestGCPFim:
+ def test_has_complete(self):
+ assert hasattr(Fim, "complete")
+ mark_tested("fim", "complete")
+
+ def test_has_complete_async(self):
+ assert hasattr(Fim, "complete_async")
+ mark_tested("fim", "complete_async")
+
+ def test_has_stream(self):
+ assert hasattr(Fim, "stream")
+ mark_tested("fim", "stream")
+
+ def test_has_stream_async(self):
+ assert hasattr(Fim, "stream_async")
+ mark_tested("fim", "stream_async")
+
+ def test_complete_accepts_prompt(self):
+ sig = inspect.signature(Fim.complete)
+ assert "prompt" in sig.parameters
+
+ def test_complete_requires_model(self):
+ sig = inspect.signature(Fim.complete)
+ model_param = sig.parameters.get("model")
+ assert model_param is not None
+ assert model_param.default is inspect.Parameter.empty
+
+ def test_stream_accepts_prompt(self):
+ sig = inspect.signature(Fim.stream)
+ assert "prompt" in sig.parameters
+
+class TestGCPCoverage:
+ def test_all_methods_tested(self):
+ expected = set()
+ for resource, methods in GCP_METHODS.items():
+ for method in methods:
+ expected.add(f"{resource}.{method}")
+ expected.add(f"{resource}.{method}_async")
+ untested = expected - TESTED_METHODS
+ assert not untested, f"Untested methods: {untested}"
+
+ def test_no_unexpected_public_methods_on_chat(self):
+ public = {m for m in dir(Chat) if not m.startswith("_") and callable(getattr(Chat, m, None))}
+ known = {"complete", "complete_async", "stream", "stream_async", "do_request", "do_request_async"}
+ unexpected = public - known
+ assert not unexpected, f"Unexpected Chat methods: {unexpected}"
+
+ def test_no_unexpected_public_methods_on_fim(self):
+ public = {m for m in dir(Fim) if not m.startswith("_") and callable(getattr(Fim, m, None))}
+ known = {"complete", "complete_async", "stream", "stream_async", "do_request", "do_request_async"}
+ unexpected = public - known
+ assert not unexpected, f"Unexpected Fim methods: {unexpected}"
diff --git a/uv.lock b/uv.lock
index 1e667c77..ea026c6d 100644
--- a/uv.lock
+++ b/uv.lock
@@ -10,7 +10,7 @@ resolution-markers = [
[[package]]
name = "annotated-types"
version = "0.7.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload-time = "2024-05-20T21:33:25.928Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" },
@@ -19,7 +19,7 @@ wheels = [
[[package]]
name = "anyio"
version = "4.12.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "exceptiongroup", marker = "python_full_version < '3.11'" },
{ name = "idna" },
@@ -33,7 +33,7 @@ wheels = [
[[package]]
name = "astroid"
version = "3.2.4"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "typing-extensions", marker = "python_full_version < '3.11'" },
]
@@ -45,7 +45,7 @@ wheels = [
[[package]]
name = "attrs"
version = "25.4.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz", hash = "sha256:16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11", size = 934251, upload-time = "2025-10-06T13:54:44.725Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/3a/2a/7cc015f5b9f5db42b7d48157e23356022889fc354a2813c15934b7cb5c0e/attrs-25.4.0-py3-none-any.whl", hash = "sha256:adcf7e2a1fb3b36ac48d97835bb6d8ade15b8dcce26aba8bf1d14847b57a3373", size = 67615, upload-time = "2025-10-06T13:54:43.17Z" },
@@ -54,7 +54,7 @@ wheels = [
[[package]]
name = "authlib"
version = "1.6.6"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "cryptography" },
]
@@ -66,7 +66,7 @@ wheels = [
[[package]]
name = "cachetools"
version = "6.2.4"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/bc/1d/ede8680603f6016887c062a2cf4fc8fdba905866a3ab8831aa8aa651320c/cachetools-6.2.4.tar.gz", hash = "sha256:82c5c05585e70b6ba2d3ae09ea60b79548872185d2f24ae1f2709d37299fd607", size = 31731, upload-time = "2025-12-15T18:24:53.744Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/2c/fc/1d7b80d0eb7b714984ce40efc78859c022cd930e402f599d8ca9e39c78a4/cachetools-6.2.4-py3-none-any.whl", hash = "sha256:69a7a52634fed8b8bf6e24a050fb60bff1c9bd8f6d24572b99c32d4e71e62a51", size = 11551, upload-time = "2025-12-15T18:24:52.332Z" },
@@ -75,7 +75,7 @@ wheels = [
[[package]]
name = "certifi"
version = "2025.11.12"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/a2/8c/58f469717fa48465e4a50c014a0400602d3c437d7c0c468e17ada824da3a/certifi-2025.11.12.tar.gz", hash = "sha256:d8ab5478f2ecd78af242878415affce761ca6bc54a22a27e026d7c25357c3316", size = 160538, upload-time = "2025-11-12T02:54:51.517Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/70/7d/9bc192684cea499815ff478dfcdc13835ddf401365057044fb721ec6bddb/certifi-2025.11.12-py3-none-any.whl", hash = "sha256:97de8790030bbd5c2d96b7ec782fc2f7820ef8dba6db909ccf95449f2d062d4b", size = 159438, upload-time = "2025-11-12T02:54:49.735Z" },
@@ -84,7 +84,7 @@ wheels = [
[[package]]
name = "cffi"
version = "2.0.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "pycparser", marker = "implementation_name != 'PyPy'" },
]
@@ -166,7 +166,7 @@ wheels = [
[[package]]
name = "charset-normalizer"
version = "3.4.4"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz", hash = "sha256:94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a", size = 129418, upload-time = "2025-10-14T04:42:32.879Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/1f/b8/6d51fc1d52cbd52cd4ccedd5b5b2f0f6a11bbf6765c782298b0f3e808541/charset_normalizer-3.4.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e824f1492727fa856dd6eda4f7cee25f8518a12f3c4a56a74e8095695089cf6d", size = 209709, upload-time = "2025-10-14T04:40:11.385Z" },
@@ -255,7 +255,7 @@ wheels = [
[[package]]
name = "click"
version = "8.3.1"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "colorama", marker = "sys_platform == 'win32'" },
]
@@ -267,7 +267,7 @@ wheels = [
[[package]]
name = "colorama"
version = "0.4.6"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" },
@@ -276,7 +276,7 @@ wheels = [
[[package]]
name = "cryptography"
version = "46.0.3"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "cffi", marker = "platform_python_implementation != 'PyPy'" },
{ name = "typing-extensions", marker = "python_full_version < '3.11'" },
@@ -341,7 +341,7 @@ wheels = [
[[package]]
name = "dill"
version = "0.4.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/12/80/630b4b88364e9a8c8c5797f4602d0f76ef820909ee32f0bacb9f90654042/dill-0.4.0.tar.gz", hash = "sha256:0633f1d2df477324f53a895b02c901fb961bdbf65a17122586ea7019292cbcf0", size = 186976, upload-time = "2025-04-16T00:41:48.867Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/50/3d/9373ad9c56321fdab5b41197068e1d8c25883b3fea29dd361f9b55116869/dill-0.4.0-py3-none-any.whl", hash = "sha256:44f54bf6412c2c8464c14e8243eb163690a9800dbe2c367330883b19c7561049", size = 119668, upload-time = "2025-04-16T00:41:47.671Z" },
@@ -350,7 +350,7 @@ wheels = [
[[package]]
name = "eval-type-backport"
version = "0.3.1"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/fb/a3/cafafb4558fd638aadfe4121dc6cefb8d743368c085acb2f521df0f3d9d7/eval_type_backport-0.3.1.tar.gz", hash = "sha256:57e993f7b5b69d271e37482e62f74e76a0276c82490cf8e4f0dffeb6b332d5ed", size = 9445, upload-time = "2025-12-02T11:51:42.987Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/cf/22/fdc2e30d43ff853720042fa15baa3e6122722be1a7950a98233ebb55cd71/eval_type_backport-0.3.1-py3-none-any.whl", hash = "sha256:279ab641905e9f11129f56a8a78f493518515b83402b860f6f06dd7c011fdfa8", size = 6063, upload-time = "2025-12-02T11:51:41.665Z" },
@@ -359,7 +359,7 @@ wheels = [
[[package]]
name = "exceptiongroup"
version = "1.3.1"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "typing-extensions", marker = "python_full_version < '3.11'" },
]
@@ -371,7 +371,7 @@ wheels = [
[[package]]
name = "google-auth"
version = "2.45.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "cachetools" },
{ name = "pyasn1-modules" },
@@ -385,7 +385,7 @@ wheels = [
[[package]]
name = "googleapis-common-protos"
version = "1.72.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "protobuf" },
]
@@ -397,7 +397,7 @@ wheels = [
[[package]]
name = "griffe"
version = "1.15.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "colorama" },
]
@@ -409,7 +409,7 @@ wheels = [
[[package]]
name = "h11"
version = "0.16.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1", size = 101250, upload-time = "2025-04-24T03:35:25.427Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515, upload-time = "2025-04-24T03:35:24.344Z" },
@@ -418,7 +418,7 @@ wheels = [
[[package]]
name = "httpcore"
version = "1.0.9"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "certifi" },
{ name = "h11" },
@@ -431,7 +431,7 @@ wheels = [
[[package]]
name = "httpx"
version = "0.28.1"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "anyio" },
{ name = "certifi" },
@@ -446,7 +446,7 @@ wheels = [
[[package]]
name = "httpx-sse"
version = "0.4.3"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/0f/4c/751061ffa58615a32c31b2d82e8482be8dd4a89154f003147acee90f2be9/httpx_sse-0.4.3.tar.gz", hash = "sha256:9b1ed0127459a66014aec3c56bebd93da3c1bc8bb6618c8082039a44889a755d", size = 15943, upload-time = "2025-10-10T21:48:22.271Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/d2/fd/6668e5aec43ab844de6fc74927e155a3b37bf40d7c3790e49fc0406b6578/httpx_sse-0.4.3-py3-none-any.whl", hash = "sha256:0ac1c9fe3c0afad2e0ebb25a934a59f4c7823b60792691f779fad2c5568830fc", size = 8960, upload-time = "2025-10-10T21:48:21.158Z" },
@@ -455,7 +455,7 @@ wheels = [
[[package]]
name = "idna"
version = "3.11"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902", size = 194582, upload-time = "2025-10-12T14:55:20.501Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008, upload-time = "2025-10-12T14:55:18.883Z" },
@@ -464,7 +464,7 @@ wheels = [
[[package]]
name = "importlib-metadata"
version = "8.7.1"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "zipp" },
]
@@ -476,7 +476,7 @@ wheels = [
[[package]]
name = "iniconfig"
version = "2.3.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730", size = 20503, upload-time = "2025-10-18T21:55:43.219Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" },
@@ -485,7 +485,7 @@ wheels = [
[[package]]
name = "invoke"
version = "2.2.1"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/de/bd/b461d3424a24c80490313fd77feeb666ca4f6a28c7e72713e3d9095719b4/invoke-2.2.1.tar.gz", hash = "sha256:515bf49b4a48932b79b024590348da22f39c4942dff991ad1fb8b8baea1be707", size = 304762, upload-time = "2025-10-11T00:36:35.172Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/32/4b/b99e37f88336009971405cbb7630610322ed6fbfa31e1d7ab3fbf3049a2d/invoke-2.2.1-py3-none-any.whl", hash = "sha256:2413bc441b376e5cd3f55bb5d364f973ad8bdd7bf87e53c79de3c11bf3feecc8", size = 160287, upload-time = "2025-10-11T00:36:33.703Z" },
@@ -494,7 +494,7 @@ wheels = [
[[package]]
name = "isort"
version = "5.13.2"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/87/f9/c1eb8635a24e87ade2efce21e3ce8cd6b8630bb685ddc9cdaca1349b2eb5/isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109", size = 175303, upload-time = "2023-12-13T20:37:26.124Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/d1/b3/8def84f539e7d2289a02f0524b944b15d7c75dab7628bedf1c4f0992029c/isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6", size = 92310, upload-time = "2023-12-13T20:37:23.244Z" },
@@ -503,7 +503,7 @@ wheels = [
[[package]]
name = "jsonschema"
version = "4.25.1"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "attrs" },
{ name = "jsonschema-specifications" },
@@ -518,7 +518,7 @@ wheels = [
[[package]]
name = "jsonschema-specifications"
version = "2025.9.1"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "referencing" },
]
@@ -530,7 +530,7 @@ wheels = [
[[package]]
name = "mccabe"
version = "0.7.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/e7/ff/0ffefdcac38932a54d2b5eed4e0ba8a408f215002cd178ad1df0f2806ff8/mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325", size = 9658, upload-time = "2022-01-24T01:14:51.113Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/27/1a/1f68f9ba0c207934b35b86a8ca3aad8395a3d6dd7921c0686e23853ff5a9/mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e", size = 7350, upload-time = "2022-01-24T01:14:49.62Z" },
@@ -539,7 +539,7 @@ wheels = [
[[package]]
name = "mcp"
version = "1.25.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "anyio" },
{ name = "httpx" },
@@ -563,7 +563,7 @@ wheels = [
[[package]]
name = "mistralai"
-version = "2.0.0a2"
+version = "2.0.0a4"
source = { editable = "." }
dependencies = [
{ name = "eval-type-backport" },
@@ -658,7 +658,7 @@ lint = [
[[package]]
name = "mypy"
version = "1.15.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "mypy-extensions" },
{ name = "tomli", marker = "python_full_version < '3.11'" },
@@ -696,7 +696,7 @@ wheels = [
[[package]]
name = "mypy-extensions"
version = "1.1.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/a2/6e/371856a3fb9d31ca8dac321cda606860fa4548858c0cc45d9d1d4ca2628b/mypy_extensions-1.1.0.tar.gz", hash = "sha256:52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558", size = 6343, upload-time = "2025-04-22T14:54:24.164Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl", hash = "sha256:1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505", size = 4963, upload-time = "2025-04-22T14:54:22.983Z" },
@@ -705,7 +705,7 @@ wheels = [
[[package]]
name = "nodeenv"
version = "1.10.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/24/bf/d1bda4f6168e0b2e9e5958945e01910052158313224ada5ce1fb2e1113b8/nodeenv-1.10.0.tar.gz", hash = "sha256:996c191ad80897d076bdfba80a41994c2b47c68e224c542b48feba42ba00f8bb", size = 55611, upload-time = "2025-12-20T14:08:54.006Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/88/b2/d0896bdcdc8d28a7fc5717c305f1a861c26e18c05047949fb371034d98bd/nodeenv-1.10.0-py2.py3-none-any.whl", hash = "sha256:5bb13e3eed2923615535339b3c620e76779af4cb4c6a90deccc9e36b274d3827", size = 23438, upload-time = "2025-12-20T14:08:52.782Z" },
@@ -714,7 +714,7 @@ wheels = [
[[package]]
name = "opentelemetry-api"
version = "1.38.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "importlib-metadata" },
{ name = "typing-extensions" },
@@ -727,7 +727,7 @@ wheels = [
[[package]]
name = "opentelemetry-exporter-otlp-proto-common"
version = "1.38.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "opentelemetry-proto" },
]
@@ -739,7 +739,7 @@ wheels = [
[[package]]
name = "opentelemetry-exporter-otlp-proto-http"
version = "1.38.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "googleapis-common-protos" },
{ name = "opentelemetry-api" },
@@ -757,7 +757,7 @@ wheels = [
[[package]]
name = "opentelemetry-proto"
version = "1.38.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "protobuf" },
]
@@ -769,7 +769,7 @@ wheels = [
[[package]]
name = "opentelemetry-sdk"
version = "1.38.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "opentelemetry-api" },
{ name = "opentelemetry-semantic-conventions" },
@@ -783,7 +783,7 @@ wheels = [
[[package]]
name = "opentelemetry-semantic-conventions"
version = "0.59b0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "opentelemetry-api" },
{ name = "typing-extensions" },
@@ -796,7 +796,7 @@ wheels = [
[[package]]
name = "packaging"
version = "25.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" },
@@ -805,7 +805,7 @@ wheels = [
[[package]]
name = "platformdirs"
version = "4.5.1"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/cf/86/0248f086a84f01b37aaec0fa567b397df1a119f73c16f6c7a9aac73ea309/platformdirs-4.5.1.tar.gz", hash = "sha256:61d5cdcc6065745cdd94f0f878977f8de9437be93de97c1c12f853c9c0cdcbda", size = 21715, upload-time = "2025-12-05T13:52:58.638Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/cb/28/3bfe2fa5a7b9c46fe7e13c97bda14c895fb10fa2ebf1d0abb90e0cea7ee1/platformdirs-4.5.1-py3-none-any.whl", hash = "sha256:d03afa3963c806a9bed9d5125c8f4cb2fdaf74a55ab60e5d59b3fde758104d31", size = 18731, upload-time = "2025-12-05T13:52:56.823Z" },
@@ -814,7 +814,7 @@ wheels = [
[[package]]
name = "pluggy"
version = "1.6.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" },
@@ -823,7 +823,7 @@ wheels = [
[[package]]
name = "protobuf"
version = "6.33.2"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/34/44/e49ecff446afeec9d1a66d6bbf9adc21e3c7cea7803a920ca3773379d4f6/protobuf-6.33.2.tar.gz", hash = "sha256:56dc370c91fbb8ac85bc13582c9e373569668a290aa2e66a590c2a0d35ddb9e4", size = 444296, upload-time = "2025-12-06T00:17:53.311Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/bc/91/1e3a34881a88697a7354ffd177e8746e97a722e5e8db101544b47e84afb1/protobuf-6.33.2-cp310-abi3-win32.whl", hash = "sha256:87eb388bd2d0f78febd8f4c8779c79247b26a5befad525008e49a6955787ff3d", size = 425603, upload-time = "2025-12-06T00:17:41.114Z" },
@@ -838,7 +838,7 @@ wheels = [
[[package]]
name = "pyasn1"
version = "0.6.1"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/ba/e9/01f1a64245b89f039897cb0130016d79f77d52669aae6ee7b159a6c4c018/pyasn1-0.6.1.tar.gz", hash = "sha256:6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034", size = 145322, upload-time = "2024-09-10T22:41:42.55Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/c8/f1/d6a797abb14f6283c0ddff96bbdd46937f64122b8c925cab503dd37f8214/pyasn1-0.6.1-py3-none-any.whl", hash = "sha256:0d632f46f2ba09143da3a8afe9e33fb6f92fa2320ab7e886e2d0f7672af84629", size = 83135, upload-time = "2024-09-11T16:00:36.122Z" },
@@ -847,7 +847,7 @@ wheels = [
[[package]]
name = "pyasn1-modules"
version = "0.4.2"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "pyasn1" },
]
@@ -859,7 +859,7 @@ wheels = [
[[package]]
name = "pycparser"
version = "2.23"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/fe/cf/d2d3b9f5699fb1e4615c8e32ff220203e43b248e1dfcc6736ad9057731ca/pycparser-2.23.tar.gz", hash = "sha256:78816d4f24add8f10a06d6f05b4d424ad9e96cfebf68a4ddc99c65c0720d00c2", size = 173734, upload-time = "2025-09-09T13:23:47.91Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/a0/e3/59cd50310fc9b59512193629e1984c1f95e5c8ae6e5d8c69532ccc65a7fe/pycparser-2.23-py3-none-any.whl", hash = "sha256:e5c6e8d3fbad53479cab09ac03729e0a9faf2bee3db8208a550daf5af81a5934", size = 118140, upload-time = "2025-09-09T13:23:46.651Z" },
@@ -868,7 +868,7 @@ wheels = [
[[package]]
name = "pydantic"
version = "2.12.5"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "annotated-types" },
{ name = "pydantic-core" },
@@ -883,7 +883,7 @@ wheels = [
[[package]]
name = "pydantic-core"
version = "2.41.5"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "typing-extensions" },
]
@@ -1001,7 +1001,7 @@ wheels = [
[[package]]
name = "pydantic-settings"
version = "2.12.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "pydantic" },
{ name = "python-dotenv" },
@@ -1015,7 +1015,7 @@ wheels = [
[[package]]
name = "pygments"
version = "2.19.2"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631, upload-time = "2025-06-21T13:39:12.283Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" },
@@ -1024,7 +1024,7 @@ wheels = [
[[package]]
name = "pyjwt"
version = "2.10.1"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/e7/46/bd74733ff231675599650d3e47f361794b22ef3e3770998dda30d3b63726/pyjwt-2.10.1.tar.gz", hash = "sha256:3cc5772eb20009233caf06e9d8a0577824723b44e6648ee0a2aedb6cf9381953", size = 87785, upload-time = "2024-11-28T03:43:29.933Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/61/ad/689f02752eeec26aed679477e80e632ef1b682313be70793d798c1d5fc8f/PyJWT-2.10.1-py3-none-any.whl", hash = "sha256:dcdd193e30abefd5debf142f9adfcdd2b58004e644f25406ffaebd50bd98dacb", size = 22997, upload-time = "2024-11-28T03:43:27.893Z" },
@@ -1038,7 +1038,7 @@ crypto = [
[[package]]
name = "pylint"
version = "3.2.3"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "astroid" },
{ name = "colorama", marker = "sys_platform == 'win32'" },
@@ -1057,7 +1057,7 @@ wheels = [
[[package]]
name = "pyright"
version = "1.1.407"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "nodeenv" },
{ name = "typing-extensions" },
@@ -1070,7 +1070,7 @@ wheels = [
[[package]]
name = "pytest"
version = "8.4.2"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "colorama", marker = "sys_platform == 'win32'" },
{ name = "exceptiongroup", marker = "python_full_version < '3.11'" },
@@ -1088,7 +1088,7 @@ wheels = [
[[package]]
name = "pytest-asyncio"
version = "0.23.8"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "pytest" },
]
@@ -1100,7 +1100,7 @@ wheels = [
[[package]]
name = "python-dateutil"
version = "2.9.0.post0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "six" },
]
@@ -1112,7 +1112,7 @@ wheels = [
[[package]]
name = "python-dotenv"
version = "1.2.1"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/f0/26/19cadc79a718c5edbec86fd4919a6b6d3f681039a2f6d66d14be94e75fb9/python_dotenv-1.2.1.tar.gz", hash = "sha256:42667e897e16ab0d66954af0e60a9caa94f0fd4ecf3aaf6d2d260eec1aa36ad6", size = 44221, upload-time = "2025-10-26T15:12:10.434Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/14/1b/a298b06749107c305e1fe0f814c6c74aea7b2f1e10989cb30f544a1b3253/python_dotenv-1.2.1-py3-none-any.whl", hash = "sha256:b81ee9561e9ca4004139c6cbba3a238c32b03e4894671e181b671e8cb8425d61", size = 21230, upload-time = "2025-10-26T15:12:09.109Z" },
@@ -1121,7 +1121,7 @@ wheels = [
[[package]]
name = "python-multipart"
version = "0.0.21"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/78/96/804520d0850c7db98e5ccb70282e29208723f0964e88ffd9d0da2f52ea09/python_multipart-0.0.21.tar.gz", hash = "sha256:7137ebd4d3bbf70ea1622998f902b97a29434a9e8dc40eb203bbcf7c2a2cba92", size = 37196, upload-time = "2025-12-17T09:24:22.446Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/aa/76/03af049af4dcee5d27442f71b6924f01f3efb5d2bd34f23fcd563f2cc5f5/python_multipart-0.0.21-py3-none-any.whl", hash = "sha256:cf7a6713e01c87aa35387f4774e812c4361150938d20d232800f75ffcf266090", size = 24541, upload-time = "2025-12-17T09:24:21.153Z" },
@@ -1130,7 +1130,7 @@ wheels = [
[[package]]
name = "pywin32"
version = "311"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/7b/40/44efbb0dfbd33aca6a6483191dae0716070ed99e2ecb0c53683f400a0b4f/pywin32-311-cp310-cp310-win32.whl", hash = "sha256:d03ff496d2a0cd4a5893504789d4a15399133fe82517455e78bad62efbb7f0a3", size = 8760432, upload-time = "2025-07-14T20:13:05.9Z" },
{ url = "https://files.pythonhosted.org/packages/5e/bf/360243b1e953bd254a82f12653974be395ba880e7ec23e3731d9f73921cc/pywin32-311-cp310-cp310-win_amd64.whl", hash = "sha256:797c2772017851984b97180b0bebe4b620bb86328e8a884bb626156295a63b3b", size = 9590103, upload-time = "2025-07-14T20:13:07.698Z" },
@@ -1152,7 +1152,7 @@ wheels = [
[[package]]
name = "pyyaml"
version = "6.0.3"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", size = 130960, upload-time = "2025-09-25T21:33:16.546Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/f4/a0/39350dd17dd6d6c6507025c0e53aef67a9293a6d37d3511f23ea510d5800/pyyaml-6.0.3-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:214ed4befebe12df36bcc8bc2b64b396ca31be9304b8f59e25c11cf94a4c033b", size = 184227, upload-time = "2025-09-25T21:31:46.04Z" },
@@ -1216,7 +1216,7 @@ wheels = [
[[package]]
name = "referencing"
version = "0.37.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "attrs" },
{ name = "rpds-py" },
@@ -1230,7 +1230,7 @@ wheels = [
[[package]]
name = "requests"
version = "2.32.5"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "certifi" },
{ name = "charset-normalizer" },
@@ -1245,7 +1245,7 @@ wheels = [
[[package]]
name = "rpds-py"
version = "0.30.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/20/af/3f2f423103f1113b36230496629986e0ef7e199d2aa8392452b484b38ced/rpds_py-0.30.0.tar.gz", hash = "sha256:dd8ff7cf90014af0c0f787eea34794ebf6415242ee1d6fa91eaba725cc441e84", size = 69469, upload-time = "2025-11-30T20:24:38.837Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/06/0c/0c411a0ec64ccb6d104dcabe0e713e05e153a9a2c3c2bd2b32ce412166fe/rpds_py-0.30.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:679ae98e00c0e8d68a7fda324e16b90fd5260945b45d3b824c892cec9eea3288", size = 370490, upload-time = "2025-11-30T20:21:33.256Z" },
@@ -1367,7 +1367,7 @@ wheels = [
[[package]]
name = "rsa"
version = "4.9.1"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "pyasn1" },
]
@@ -1379,7 +1379,7 @@ wheels = [
[[package]]
name = "ruff"
version = "0.11.13"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/ed/da/9c6f995903b4d9474b39da91d2d626659af3ff1eeb43e9ae7c119349dba6/ruff-0.11.13.tar.gz", hash = "sha256:26fa247dc68d1d4e72c179e08889a25ac0c7ba4d78aecfc835d49cbfd60bf514", size = 4282054, upload-time = "2025-06-05T21:00:15.721Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/7d/ce/a11d381192966e0b4290842cc8d4fac7dc9214ddf627c11c1afff87da29b/ruff-0.11.13-py3-none-linux_armv6l.whl", hash = "sha256:4bdfbf1240533f40042ec00c9e09a3aade6f8c10b6414cf11b519488d2635d46", size = 10292516, upload-time = "2025-06-05T20:59:32.944Z" },
@@ -1404,7 +1404,7 @@ wheels = [
[[package]]
name = "six"
version = "1.17.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" },
@@ -1413,7 +1413,7 @@ wheels = [
[[package]]
name = "sse-starlette"
version = "3.1.2"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "anyio" },
{ name = "starlette" },
@@ -1426,7 +1426,7 @@ wheels = [
[[package]]
name = "starlette"
version = "0.50.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "anyio" },
{ name = "typing-extensions", marker = "python_full_version < '3.13'" },
@@ -1439,7 +1439,7 @@ wheels = [
[[package]]
name = "tomli"
version = "2.3.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/52/ed/3f73f72945444548f33eba9a87fc7a6e969915e7b1acc8260b30e1f76a2f/tomli-2.3.0.tar.gz", hash = "sha256:64be704a875d2a59753d80ee8a533c3fe183e3f06807ff7dc2232938ccb01549", size = 17392, upload-time = "2025-10-08T22:01:47.119Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/b3/2e/299f62b401438d5fe1624119c723f5d877acc86a4c2492da405626665f12/tomli-2.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:88bd15eb972f3664f5ed4b57c1634a97153b4bac4479dcb6a495f41921eb7f45", size = 153236, upload-time = "2025-10-08T22:01:00.137Z" },
@@ -1488,7 +1488,7 @@ wheels = [
[[package]]
name = "tomlkit"
version = "0.13.3"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/cc/18/0bbf3884e9eaa38819ebe46a7bd25dcd56b67434402b66a58c4b8e552575/tomlkit-0.13.3.tar.gz", hash = "sha256:430cf247ee57df2b94ee3fbe588e71d362a941ebb545dec29b53961d61add2a1", size = 185207, upload-time = "2025-06-05T07:13:44.947Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/bd/75/8539d011f6be8e29f339c42e633aae3cb73bffa95dd0f9adec09b9c58e85/tomlkit-0.13.3-py3-none-any.whl", hash = "sha256:c89c649d79ee40629a9fda55f8ace8c6a1b42deb912b2a8fd8d942ddadb606b0", size = 38901, upload-time = "2025-06-05T07:13:43.546Z" },
@@ -1497,7 +1497,7 @@ wheels = [
[[package]]
name = "types-authlib"
version = "1.6.6.20251220"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "cryptography" },
]
@@ -1509,7 +1509,7 @@ wheels = [
[[package]]
name = "types-python-dateutil"
version = "2.9.0.20251115"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/6a/36/06d01fb52c0d57e9ad0c237654990920fa41195e4b3d640830dabf9eeb2f/types_python_dateutil-2.9.0.20251115.tar.gz", hash = "sha256:8a47f2c3920f52a994056b8786309b43143faa5a64d4cbb2722d6addabdf1a58", size = 16363, upload-time = "2025-11-15T03:00:13.717Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/43/0b/56961d3ba517ed0df9b3a27bfda6514f3d01b28d499d1bce9068cfe4edd1/types_python_dateutil-2.9.0.20251115-py3-none-any.whl", hash = "sha256:9cf9c1c582019753b8639a081deefd7e044b9fa36bd8217f565c6c4e36ee0624", size = 18251, upload-time = "2025-11-15T03:00:12.317Z" },
@@ -1518,7 +1518,7 @@ wheels = [
[[package]]
name = "types-pyyaml"
version = "6.0.12.20250915"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/7e/69/3c51b36d04da19b92f9e815be12753125bd8bc247ba0470a982e6979e71c/types_pyyaml-6.0.12.20250915.tar.gz", hash = "sha256:0f8b54a528c303f0e6f7165687dd33fafa81c807fcac23f632b63aa624ced1d3", size = 17522, upload-time = "2025-09-15T03:01:00.728Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/bd/e0/1eed384f02555dde685fff1a1ac805c1c7dcb6dd019c916fe659b1c1f9ec/types_pyyaml-6.0.12.20250915-py3-none-any.whl", hash = "sha256:e7d4d9e064e89a3b3cae120b4990cd370874d2bf12fa5f46c97018dd5d3c9ab6", size = 20338, upload-time = "2025-09-15T03:00:59.218Z" },
@@ -1527,7 +1527,7 @@ wheels = [
[[package]]
name = "typing-extensions"
version = "4.15.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" },
@@ -1536,7 +1536,7 @@ wheels = [
[[package]]
name = "typing-inspection"
version = "0.4.2"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "typing-extensions" },
]
@@ -1548,7 +1548,7 @@ wheels = [
[[package]]
name = "urllib3"
version = "2.6.2"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/1e/24/a2a2ed9addd907787d7aa0355ba36a6cadf1768b934c652ea78acbd59dcd/urllib3-2.6.2.tar.gz", hash = "sha256:016f9c98bb7e98085cb2b4b17b87d2c702975664e4f060c6532e64d1c1a5e797", size = 432930, upload-time = "2025-12-11T15:56:40.252Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/6d/b9/4095b668ea3678bf6a0af005527f39de12fb026516fb3df17495a733b7f8/urllib3-2.6.2-py3-none-any.whl", hash = "sha256:ec21cddfe7724fc7cb4ba4bea7aa8e2ef36f607a4bab81aa6ce42a13dc3f03dd", size = 131182, upload-time = "2025-12-11T15:56:38.584Z" },
@@ -1557,7 +1557,7 @@ wheels = [
[[package]]
name = "uvicorn"
version = "0.40.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "click" },
{ name = "h11" },
@@ -1571,7 +1571,7 @@ wheels = [
[[package]]
name = "websockets"
version = "16.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/04/24/4b2031d72e840ce4c1ccb255f693b15c334757fc50023e4db9537080b8c4/websockets-16.0.tar.gz", hash = "sha256:5f6261a5e56e8d5c42a4497b364ea24d94d9563e8fbd44e78ac40879c60179b5", size = 179346, upload-time = "2026-01-10T09:23:47.181Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/20/74/221f58decd852f4b59cc3354cccaf87e8ef695fede361d03dc9a7396573b/websockets-16.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:04cdd5d2d1dacbad0a7bf36ccbcd3ccd5a30ee188f2560b7a62a30d14107b31a", size = 177343, upload-time = "2026-01-10T09:22:21.28Z" },
@@ -1639,7 +1639,7 @@ wheels = [
[[package]]
name = "zipp"
version = "3.23.0"
-source = { registry = "https://pypi.org/simple" }
+source = { registry = "https://pypi.org/simple/" }
sdist = { url = "https://files.pythonhosted.org/packages/e3/02/0f2892c661036d50ede074e376733dca2ae7c6eb617489437771209d4180/zipp-3.23.0.tar.gz", hash = "sha256:a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166", size = 25547, upload-time = "2025-06-08T17:06:39.4Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/2e/54/647ade08bf0db230bfea292f893923872fd20be6ac6f53b2b936ba839d75/zipp-3.23.0-py3-none-any.whl", hash = "sha256:071652d6115ed432f5ce1d34c336c0adfd6a884660d1e9712a256d3d3bd4b14e", size = 10276, upload-time = "2025-06-08T17:06:38.034Z" },