diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index b5e069fc..c12833b0 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,19 +1,19 @@ lockVersion: 2.0.0 id: 2d045ec7-2ebb-4f4d-ad25-40953b132161 management: - docChecksum: 924c53244ab975e7e500ecc5a690385d + docChecksum: d5791997c15cca6410562da5b597723d docVersion: 1.0.0 speakeasyVersion: 1.763.6 generationVersion: 2.884.13 - releaseVersion: 2.4.10 - configChecksum: 7921564eb02117510ac5e394d71c5c78 + releaseVersion: 2.4.11 + configChecksum: 175c9b11f6d4d6cba89612ae2a225a20 repoURL: https://github.com/mistralai/client-python.git installationURL: https://github.com/mistralai/client-python.git published: true persistentEdits: - generation_id: 5f68fd6b-61dd-4145-93b9-50b118b27633 - pristine_commit_hash: 939183a6b468fa4150892e7658a66e59f72f3527 - pristine_tree_hash: c634f3f60925561119a6396250265d39d12e8e16 + generation_id: 09ee89d7-3cfe-4fef-9240-8f01cd3522d5 + pristine_commit_hash: 2b48d40e6ebf565c366667f32fb95c05c292ab12 + pristine_tree_hash: 6b10c83b35450c48327653b3f28ad5c17e714166 features: python: acceptHeaders: 3.0.0 @@ -700,8 +700,8 @@ trackedFiles: pristine_git_object: 9ef7a35154327673593f323a142fe63ec706e799 docs/models/connectorcalltoolv1request.md: id: a7a294c4280c - last_write_checksum: sha1:0d8983932c2f4eb6f19e7a81c1e76eeb7ee9bb2f - pristine_git_object: dea7083dabf1fe9f5470a5b13d6e65ae234d8aa8 + last_write_checksum: sha1:5dcd0a8ff9983600bbfb728ee5364aecb2583e02 + pristine_git_object: 6288bb39dfc298f32d1f36f680cf9c71f8989743 docs/models/connectorcreateorupdateorganizationcredentialsv1request.md: id: 215e752e803b last_write_checksum: sha1:cc72d358588bae1001e4076c77d5e0065977b441 @@ -748,32 +748,32 @@ trackedFiles: pristine_git_object: 3a62c0106481edc9d8137689c4d7d7649f812397 docs/models/connectorgetauthurlv1request.md: id: 8a02a6af19ab - last_write_checksum: sha1:8d687ee505901a06c651655a14f3948838aa1b48 - pristine_git_object: b91296e5324382552d1b61df880ce3534757bf0d + last_write_checksum: sha1:0226075802544d82a0568f983299c169c4977499 + pristine_git_object: ed99f517acc30cf86574c740c43c66f85d27f4dc docs/models/connectorgetv1request.md: id: 844c1f489684 - last_write_checksum: sha1:446e9132766caec5d1ab49c2654696c571deef53 - pristine_git_object: 35a6f39334ffa87c7ada3ce89e7fe7b9ee612d3d + last_write_checksum: sha1:1eab3b3b0f1a780df635aeca9393d667221b8e30 + pristine_git_object: 124ab1e5162bca3887a7bbd7585b5654c505418e docs/models/connectorlistorganizationcredentialsv1request.md: id: cc1870566c72 - last_write_checksum: sha1:633bb13df6fa25f746a9aa905da3f3beb75ff91a - pristine_git_object: 53ce36db49acb994ac1bbc6899d50035409a13f4 + last_write_checksum: sha1:a6b5cd03c244abcd1d5e4d6a48c066f9cf438acc + pristine_git_object: 439a2dc84881838257ca4bec34910c8a58ce9ee4 docs/models/connectorlisttoolsv1request.md: id: 43698382d3c4 - last_write_checksum: sha1:e2ec4a2b6b595941890d400817ca38f996a441e8 - pristine_git_object: e9c2137429509ea9edf43a5f9329208103c2bd11 + last_write_checksum: sha1:57fc27097bbf2466326616914defac3666560c8a + pristine_git_object: a71039f47d5ff264aac2a7da4ae4688f1c07ccb1 docs/models/connectorlistusercredentialsv1request.md: id: 721da447813a - last_write_checksum: sha1:b6a1ed55ec98439880f0a5274df2a6d3ac6c009d - pristine_git_object: 2c9547d51753c63f68fd8919e83ae26e38aa7748 + last_write_checksum: sha1:6a5ba1aa775e243e0b2de94f9be3829b84d10579 + pristine_git_object: c79dee4a306fa835e5249aefb061d0ca69ce7d04 docs/models/connectorlistv1request.md: id: 68b7a11faff6 last_write_checksum: sha1:e08effc0f17a95383c3ba96b06b1dba80f4dc767 pristine_git_object: 6b9a287ead2996c402ade5c18368eaff92c76b2a docs/models/connectorlistworkspacecredentialsv1request.md: id: c7f5827917c6 - last_write_checksum: sha1:dfe772567d14a0552eec2e53ebf9c1ed6c39ab3e - pristine_git_object: 573869b2483b15da829b25e1863652680deb6a36 + last_write_checksum: sha1:b54a1f9c7cc37092f7a439cf392424a4c41f2c01 + pristine_git_object: 2e19b1cf959a9c3b07f0cc7755eee9549f40802e docs/models/connectorlocale.md: id: fe553a89ff06 last_write_checksum: sha1:3bddb7128d7cf99124a07054d3a6e8c90d22755b @@ -1662,14 +1662,18 @@ trackedFiles: id: db47581349ed last_write_checksum: sha1:85537139256fd92fdbaa18cd90a39c659deef230 pristine_git_object: 635720afa9836f4f83d6fd5e8b56a62fa0e742b2 + docs/models/getstreameventsv1workflowseventsstreamgetdata.md: + id: "889900870130" + last_write_checksum: sha1:3a5ca388ae476e2ef01daf5327e400f8dc6980df + pristine_git_object: b9840219a52278352a33d96c8a4e2721eea221a0 docs/models/getstreameventsv1workflowseventsstreamgetrequest.md: id: c4f4986768d9 last_write_checksum: sha1:e3c15d6f54d2d24040eb0d7cf76e435b50d04965 pristine_git_object: 9b5ae17446b4b959c7ab47751921313864ddaf2e docs/models/getstreameventsv1workflowseventsstreamgetresponsebody.md: id: 5d958d2ebde1 - last_write_checksum: sha1:58ffec3d780d35a688634d273588e0209afd4f72 - pristine_git_object: 18f9b63939e1110145d3201d45b584a0c155a964 + last_write_checksum: sha1:93bf911787d8414267112e8f9ef2314b4ba747b9 + pristine_git_object: 75fb7f2a339bf5c5ec1e626f054ea66192521e5b docs/models/gettrace.md: id: e6e0f02a25b6 last_write_checksum: sha1:a9c760d6f33d97e5a3d657646cbfc53dbdd4a4ac @@ -2996,8 +3000,8 @@ trackedFiles: pristine_git_object: 372eafee6f22105d6f5fd31f2e04ea04f5abe641 docs/models/streamerror.md: id: 3d1ca0debd43 - last_write_checksum: sha1:e291bdbef69d0a82445c08cbd78efc703570e7b0 - pristine_git_object: 6397310efda9d1c0ee123868b133fd1686ad56c4 + last_write_checksum: sha1:fb2a8cff7ac5938ebf02144f66f979d66dd50d5d + pristine_git_object: fa224534a986edfc89563a930956d9c24419fe47 docs/models/streameventssepayload.md: id: c3cdfddd480b last_write_checksum: sha1:6251dc54c4becf826ac475ffd8cc48d18a509aad @@ -3010,14 +3014,18 @@ trackedFiles: id: 32e6c8f9826e last_write_checksum: sha1:d89a4e547d92889b3c88269d8f3c9a870a5058c3 pristine_git_object: 098f48fd4cb8dad49298c723081528dcd715c26a + docs/models/streamv1workflowsexecutionsexecutionidstreamgetdata.md: + id: 46f00b2e4483 + last_write_checksum: sha1:1bf18b9ee82e2bca4a5f5e908258fed465d84dbd + pristine_git_object: fc6ae0b987b8333a78b2e3259aa802b0b62c880a docs/models/streamv1workflowsexecutionsexecutionidstreamgetrequest.md: id: 5ca96459c844 last_write_checksum: sha1:200e5cf38c1c655c72d856591ebca1c3e85a9b7f pristine_git_object: 19d02a40d06b7066d32f63e0daf6a40434d88754 docs/models/streamv1workflowsexecutionsexecutionidstreamgetresponsebody.md: id: 09d5a590ebf1 - last_write_checksum: sha1:1f22c1e502478d9532b6729bcde30aa8bb5528c4 - pristine_git_object: e12bb93835a164b665e4cdf4b9862f350d91c850 + last_write_checksum: sha1:0e2cf700fb9cdc76d915ebef0080235065fb9867 + pristine_git_object: 9b2313d3fc3f09bce0f8603efd9e76c6dbd0214c docs/models/streamworkflowexecutionlogsdata.md: id: 2d8ba6b01f35 last_write_checksum: sha1:8d27e5bb5c219386aaf1e1c84c6b93f5b02dad0a @@ -3710,6 +3718,10 @@ trackedFiles: id: 0eed547c9a4b last_write_checksum: sha1:d71e300642a6ef23687318f53c8fe32b38320a0f pristine_git_object: 24357f65c73cc9ace2a51eb549434c40333dea9c + docs/models/workflowstreamerror.md: + id: 2735faee5b12 + last_write_checksum: sha1:5a3d0c69f0d60f4362b8325287d7854d9ecadc4e + pristine_git_object: af919c68028854c00c2b611bd79235dc24d52fda docs/models/workflowtaskfailedattributes.md: id: 7f329c44d7fb last_write_checksum: sha1:432c70ec990e81e2de79c14efbbb6161b60e1b3e @@ -3780,8 +3792,8 @@ trackedFiles: pristine_git_object: dc0f4984380b5b137266421e87a1505af5260e89 docs/sdks/connectors/README.md: id: 7633a87d946d - last_write_checksum: sha1:ef659e944e77292678368c58fcd56815c05bc22d - pristine_git_object: 707b5ef424e86d79fdcd899e82fcac3d811f6e26 + last_write_checksum: sha1:f118340ef522cc726539beed9d012576daa40b9e + pristine_git_object: 5d8164ccced0837abacab3d4239838c05b16f28c docs/sdks/conversations/README.md: id: e22a9d2c5424 last_write_checksum: sha1:68ede193fd35a89ab226aa92a92edaecf1eebb1a @@ -3924,8 +3936,8 @@ trackedFiles: pristine_git_object: 036d44b8cfc51599873bd5c401a6aed30450536c src/mistralai/client/_version.py: id: cc807b30de19 - last_write_checksum: sha1:206fd4f4ef202e7c99ab2a316809a5814ec7d968 - pristine_git_object: 9e09a5875fb696517ddc7e71ff99197c3fd6bee7 + last_write_checksum: sha1:cf9f22e59cda8d0f2f67efdc3e16cb2205eadedb + pristine_git_object: 1db1c2f35e2de3464dca1dcbac158745b7e0732f src/mistralai/client/accesses.py: id: 76fc53bfcf59 last_write_checksum: sha1:5f1fbb7eb973dd8bcbe33bf0b303d4df3bf2ad36 @@ -3976,8 +3988,8 @@ trackedFiles: pristine_git_object: 36329ea6180905b8ea4607d5a5aa83e297a7bdee src/mistralai/client/connectors.py: id: 39da03126050 - last_write_checksum: sha1:a97df2f087578417a3308e72b1b3dc3c7d8a6f06 - pristine_git_object: 6f7c2e87b29e8a91f831531352234ae69da7b3a0 + last_write_checksum: sha1:bbd17b0d1f7a2cf443be8cce7bb6a10aaebd2435 + pristine_git_object: 6c9e59da8601d874047e07617bfd49bd9055f9a1 src/mistralai/client/conversations.py: id: 40692a878064 last_write_checksum: sha1:c6f4ab6903aa74f88d267552c01d79b4ca08534d @@ -4080,8 +4092,8 @@ trackedFiles: pristine_git_object: d3814d6b3d2fd548b9ae7f97a1f4d27592ca97bf src/mistralai/client/models/__init__.py: id: e0e8dad92725 - last_write_checksum: sha1:4a0f126afbf6fc10080662b63085c31cd91266c6 - pristine_git_object: e12b9677cfe6b0b641ad79e3f0dd45063b552279 + last_write_checksum: sha1:85cc124377f706adfbc22525c1eac34c4c78db13 + pristine_git_object: 381c58fef0e0a82c07f0ac7640ea48757a22a96a src/mistralai/client/models/activitytaskcompletedattributesresponse.py: id: 8174941767cc last_write_checksum: sha1:b5246e203765ba0532a6a65d391bdd237ab2c891 @@ -5268,8 +5280,8 @@ trackedFiles: pristine_git_object: 40aead4d66763f732bc2c885ad7da56dbb1fe44d src/mistralai/client/models/get_stream_events_v1_workflows_events_stream_getop.py: id: 8dd6ce0e8d66 - last_write_checksum: sha1:021765a807c5b127c3bfabbf227e952e10f5be88 - pristine_git_object: 442a7a940b03c27b173281626d612b650a1ade2d + last_write_checksum: sha1:699f8176adb46f07224273b3128a68a7670ebb94 + pristine_git_object: 53f751977664678b86aef066a9e66641a8a78f79 src/mistralai/client/models/get_trace_by_id_v1_observability_traces_trace_id_getop.py: id: a7ad88602f1b last_write_checksum: sha1:7a1d9296c7e556daf5e9c50be963272705f3c932 @@ -6388,16 +6400,16 @@ trackedFiles: pristine_git_object: 0add960bc93f53df5ddda94892543a0857f32dd6 src/mistralai/client/models/stream_v1_workflows_executions_execution_id_stream_getop.py: id: 793a9301522f - last_write_checksum: sha1:c05e4bedbc131352b0b275e2bef7eb2f541433b0 - pristine_git_object: 5282e52aeb9c3dc5729b5cd54502802bc9c514e1 + last_write_checksum: sha1:7a3c1f618afb8510a032e3f8255ed5f92ece6c86 + pristine_git_object: b87f630a583fe4564781914c85f63682912dbc14 src/mistralai/client/models/stream_workflow_execution_logsop.py: id: 33528845f8f2 last_write_checksum: sha1:6338be8a5d5d4b87c3bb948f0441e29f66f2f4da pristine_git_object: 653d2a5bdc55737d113ef4384bcb73af087605dc src/mistralai/client/models/streamerror.py: id: 2632e221b587 - last_write_checksum: sha1:53167bbef17d9b0055db8b8492854e06cd69f478 - pristine_git_object: ddc939b2cdbc2acf45596e707b964bf20d0d8720 + last_write_checksum: sha1:71eb9338eb4b1e747621027b67c45f37ca4042ad + pristine_git_object: 7ef83aca48de265e4b3f503ec96db1f9a6a2b2d7 src/mistralai/client/models/streameventssepayload.py: id: c6becbbd80bc last_write_checksum: sha1:c54a8dc9c54e62937b61b52e2b5ce3ff3c422ce7 @@ -6990,6 +7002,10 @@ trackedFiles: id: 72ca0f5e6c08 last_write_checksum: sha1:ad25f903339edb6d9d018ba280a39789b81ffb28 pristine_git_object: b43dc96f32704b4821936189a3f6a8bdcbd77799 + src/mistralai/client/models/workflowstreamerror.py: + id: deb3c58716b9 + last_write_checksum: sha1:11ecea6e29d5f57ea84aba35adacf8c2a16e5453 + pristine_git_object: 94e5b89c10b4ffdbbdaf4bd3c8305e3174c63651 src/mistralai/client/models/workflowtaskfailedattributes.py: id: c4c09c4d5ea7 last_write_checksum: sha1:b1faee3ed43b88829ca68f5cd642f24d8f1fe9f5 @@ -9612,6 +9628,8 @@ examples: responses: "200": application/json: [{"method_type": "none", "has_default_credentials": false}] + "422": + application/json: {} connector_list_organization_credentials_v1: speakeasy-default-connector-list-organization-credentials-v1: parameters: diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index c6adfc8d..83d33fdb 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -32,7 +32,7 @@ generation: generateNewTests: false skipResponseBodyAssertions: false python: - version: 2.4.10 + version: 2.4.11 additionalDependencies: dev: pytest: ^8.2.2 diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 095de62d..04597567 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -16,11 +16,11 @@ sources: - speakeasy-mistralai-gcp-sdk-26292830187-1 mistral-openapi: sourceNamespace: mistral-openapi - sourceRevisionDigest: sha256:ce470abcf776ad46a6b38f4d8db1c804ed66c174cdc8eff683016b78811f8c57 - sourceBlobDigest: sha256:090d576bca32e6dbfb72ed88eac454874c50072e7c30f6d912485f89f10c079a + sourceRevisionDigest: sha256:727adcde9f0715919db445c00126f4a4f206e0500a20bb25326cbefbf8e0e8b5 + sourceBlobDigest: sha256:5d2496bef5bc26a7db645742abc828ae1dd17623d91b354f1c3ff4e5879e15de tags: - latest - - speakeasy-mistralai-sdk-27547248271-1 + - speakeasy-mistralai-sdk-27618963184-2 targets: mistralai-azure-sdk: source: mistral-azure-source @@ -39,10 +39,10 @@ targets: mistralai-sdk: source: mistral-openapi sourceNamespace: mistral-openapi - sourceRevisionDigest: sha256:ce470abcf776ad46a6b38f4d8db1c804ed66c174cdc8eff683016b78811f8c57 - sourceBlobDigest: sha256:090d576bca32e6dbfb72ed88eac454874c50072e7c30f6d912485f89f10c079a + sourceRevisionDigest: sha256:727adcde9f0715919db445c00126f4a4f206e0500a20bb25326cbefbf8e0e8b5 + sourceBlobDigest: sha256:5d2496bef5bc26a7db645742abc828ae1dd17623d91b354f1c3ff4e5879e15de codeSamplesNamespace: mistral-openapi-code-samples - codeSamplesRevisionDigest: sha256:fa3a52bb3efaed7f68498ad9c9fb4a431df285f923c9cc4082280d780bf16776 + codeSamplesRevisionDigest: sha256:54ee17fc7209ca61ec3ce17a2b5fa4fbdea16545ea7db811ffe6a92d9cb8cb9f workflow: workflowVersion: 1.0.0 speakeasyVersion: 1.763.6 diff --git a/README.md b/README.md index 69ed43ae..728d5526 100644 --- a/README.md +++ b/README.md @@ -1003,7 +1003,7 @@ with Mistral( **Inherit from [`MistralError`](./src/mistralai/client/errors/mistralerror.py)**: -* [`HTTPValidationError`](./src/mistralai/client/errors/httpvalidationerror.py): Validation Error. Status code `422`. Applicable to 133 of 216 methods.* +* [`HTTPValidationError`](./src/mistralai/client/errors/httpvalidationerror.py): Validation Error. Status code `422`. Applicable to 134 of 216 methods.* * [`ObservabilityError`](./src/mistralai/client/errors/observabilityerror.py): Bad Request - Invalid request parameters or data. Applicable to 57 of 216 methods.* * [`ResponseValidationError`](./src/mistralai/client/errors/responsevalidationerror.py): Type mismatch between the response data and the expected Pydantic model. Provides access to the Pydantic validation error via the `cause` attribute. diff --git a/RELEASES.md b/RELEASES.md index 8e0f6661..4c55cb8e 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -678,4 +678,14 @@ Based on: ### Generated - [python v2.4.10] . ### Releases -- [PyPI v2.4.10] https://pypi.org/project/mistralai/2.4.10 - . \ No newline at end of file +- [PyPI v2.4.10] https://pypi.org/project/mistralai/2.4.10 - . + +## 2026-06-16 13:00:09 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.763.6 (2.884.13) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v2.4.11] . +### Releases +- [PyPI v2.4.11] https://pypi.org/project/mistralai/2.4.11 - . \ No newline at end of file diff --git a/docs/models/connectorcalltoolv1request.md b/docs/models/connectorcalltoolv1request.md index dea7083d..6288bb39 100644 --- a/docs/models/connectorcalltoolv1request.md +++ b/docs/models/connectorcalltoolv1request.md @@ -6,6 +6,6 @@ | Field | Type | Required | Description | | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | | `tool_name` | *str* | :heavy_check_mark: | N/A | -| `credentials_name` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | `connector_id_or_name` | *str* | :heavy_check_mark: | N/A | +| `credentials_name` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | `connector_call_tool_request` | [models.ConnectorCallToolRequest](../models/connectorcalltoolrequest.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/connectorgetauthurlv1request.md b/docs/models/connectorgetauthurlv1request.md index b91296e5..ed99f517 100644 --- a/docs/models/connectorgetauthurlv1request.md +++ b/docs/models/connectorgetauthurlv1request.md @@ -5,8 +5,8 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `connector_id_or_name` | *str* | :heavy_check_mark: | N/A | | `app_return_url` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | `method_type` | [Optional[models.OutboundAuthenticationType]](../models/outboundauthenticationtype.md) | :heavy_minus_sign: | Auth method type to use for the authorization URL. Required when the connector supports multiple interactive auth methods; otherwise the sole method is selected automatically. Use this to pick a specific method (e.g. 'oauth2' vs 'github_app'). | | `credentials_name` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | -| `github_installation_link` | *Optional[bool]* | :heavy_minus_sign: | Only valid with method_type=oauth2. When true, returns a GitHub App installation URL (https://github.com/apps//installations/new) if the connector has the proper configuration The Github application needs to have 'Request user authorization (OAuth) during installation' enabled to perform the proper auth loop. | -| `connector_id_or_name` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| `github_installation_link` | *Optional[bool]* | :heavy_minus_sign: | Only valid with method_type=oauth2. When true, returns a GitHub App installation URL (https://github.com/apps//installations/new) if the connector has the proper configuration The Github application needs to have 'Request user authorization (OAuth) during installation' enabled to perform the proper auth loop. | \ No newline at end of file diff --git a/docs/models/connectorgetv1request.md b/docs/models/connectorgetv1request.md index 35a6f393..124ab1e5 100644 --- a/docs/models/connectorgetv1request.md +++ b/docs/models/connectorgetv1request.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `connector_id_or_name` | *str* | :heavy_check_mark: | N/A | | `fetch_user_data` | *Optional[bool]* | :heavy_minus_sign: | Fetch the user-level data associated with the connector (e.g. connection credentials). | -| `fetch_customer_data` | *Optional[bool]* | :heavy_minus_sign: | Fetch the customer data associated with the connector (e.g. customer secrets / config). | -| `connector_id_or_name` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| `fetch_customer_data` | *Optional[bool]* | :heavy_minus_sign: | Fetch the customer data associated with the connector (e.g. customer secrets / config). | \ No newline at end of file diff --git a/docs/models/connectorlistorganizationcredentialsv1request.md b/docs/models/connectorlistorganizationcredentialsv1request.md index 53ce36db..439a2dc8 100644 --- a/docs/models/connectorlistorganizationcredentialsv1request.md +++ b/docs/models/connectorlistorganizationcredentialsv1request.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| `connector_id_or_name` | *str* | :heavy_check_mark: | N/A | | `auth_type` | [OptionalNullable[models.OutboundAuthenticationType]](../models/outboundauthenticationtype.md) | :heavy_minus_sign: | N/A | -| `fetch_default` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `connector_id_or_name` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| `fetch_default` | *Optional[bool]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/connectorlisttoolsv1request.md b/docs/models/connectorlisttoolsv1request.md index e9c21374..a71039f4 100644 --- a/docs/models/connectorlisttoolsv1request.md +++ b/docs/models/connectorlisttoolsv1request.md @@ -5,9 +5,9 @@ | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `connector_id_or_name` | *str* | :heavy_check_mark: | N/A | | `page` | *Optional[int]* | :heavy_minus_sign: | N/A | | `page_size` | *Optional[int]* | :heavy_minus_sign: | N/A | | `refresh` | *Optional[bool]* | :heavy_minus_sign: | N/A | | `pretty` | *Optional[bool]* | :heavy_minus_sign: | Return a simplified payload with only name, description, annotations, and a compact inputSchema. | -| `credentials_name` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | -| `connector_id_or_name` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| `credentials_name` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/connectorlistusercredentialsv1request.md b/docs/models/connectorlistusercredentialsv1request.md index 2c9547d5..c79dee4a 100644 --- a/docs/models/connectorlistusercredentialsv1request.md +++ b/docs/models/connectorlistusercredentialsv1request.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| `connector_id_or_name` | *str* | :heavy_check_mark: | N/A | | `auth_type` | [OptionalNullable[models.OutboundAuthenticationType]](../models/outboundauthenticationtype.md) | :heavy_minus_sign: | N/A | -| `fetch_default` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `connector_id_or_name` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| `fetch_default` | *Optional[bool]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/connectorlistworkspacecredentialsv1request.md b/docs/models/connectorlistworkspacecredentialsv1request.md index 573869b2..2e19b1cf 100644 --- a/docs/models/connectorlistworkspacecredentialsv1request.md +++ b/docs/models/connectorlistworkspacecredentialsv1request.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| `connector_id_or_name` | *str* | :heavy_check_mark: | N/A | | `auth_type` | [OptionalNullable[models.OutboundAuthenticationType]](../models/outboundauthenticationtype.md) | :heavy_minus_sign: | N/A | -| `fetch_default` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `connector_id_or_name` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| `fetch_default` | *Optional[bool]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/getstreameventsv1workflowseventsstreamgetdata.md b/docs/models/getstreameventsv1workflowseventsstreamgetdata.md new file mode 100644 index 00000000..b9840219 --- /dev/null +++ b/docs/models/getstreameventsv1workflowseventsstreamgetdata.md @@ -0,0 +1,17 @@ +# GetStreamEventsV1WorkflowsEventsStreamGetData + + +## Supported Types + +### `models.StreamEventSsePayload` + +```python +value: models.StreamEventSsePayload = /* values here */ +``` + +### `models.WorkflowStreamError` + +```python +value: models.WorkflowStreamError = /* values here */ +``` + diff --git a/docs/models/getstreameventsv1workflowseventsstreamgetresponsebody.md b/docs/models/getstreameventsv1workflowseventsstreamgetresponsebody.md index 18f9b639..75fb7f2a 100644 --- a/docs/models/getstreameventsv1workflowseventsstreamgetresponsebody.md +++ b/docs/models/getstreameventsv1workflowseventsstreamgetresponsebody.md @@ -5,9 +5,9 @@ Stream of Server-Sent Events (SSE) ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | -| `event` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `data` | [Optional[models.StreamEventSsePayload]](../models/streameventssepayload.md) | :heavy_minus_sign: | N/A | -| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `retry` | *Optional[int]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | +| `event` | *Optional[str]* | :heavy_minus_sign: | SSE event name. `error` indicates the stream failed after HTTP 200. | +| `data` | [Optional[models.GetStreamEventsV1WorkflowsEventsStreamGetData]](../models/getstreameventsv1workflowseventsstreamgetdata.md) | :heavy_minus_sign: | N/A | +| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `retry` | *Optional[int]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/streamerror.md b/docs/models/streamerror.md index 6397310e..fa224534 100644 --- a/docs/models/streamerror.md +++ b/docs/models/streamerror.md @@ -5,4 +5,5 @@ | Field | Type | Required | Description | | ------------------ | ------------------ | ------------------ | ------------------ | -| `error` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| `error` | *str* | :heavy_check_mark: | N/A | +| `reason` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/streamv1workflowsexecutionsexecutionidstreamgetdata.md b/docs/models/streamv1workflowsexecutionsexecutionidstreamgetdata.md new file mode 100644 index 00000000..fc6ae0b9 --- /dev/null +++ b/docs/models/streamv1workflowsexecutionsexecutionidstreamgetdata.md @@ -0,0 +1,17 @@ +# StreamV1WorkflowsExecutionsExecutionIDStreamGetData + + +## Supported Types + +### `models.StreamEventSsePayload` + +```python +value: models.StreamEventSsePayload = /* values here */ +``` + +### `models.WorkflowStreamError` + +```python +value: models.WorkflowStreamError = /* values here */ +``` + diff --git a/docs/models/streamv1workflowsexecutionsexecutionidstreamgetresponsebody.md b/docs/models/streamv1workflowsexecutionsexecutionidstreamgetresponsebody.md index e12bb938..9b2313d3 100644 --- a/docs/models/streamv1workflowsexecutionsexecutionidstreamgetresponsebody.md +++ b/docs/models/streamv1workflowsexecutionsexecutionidstreamgetresponsebody.md @@ -5,9 +5,9 @@ Stream of Server-Sent Events (SSE) ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | -| `event` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `data` | [Optional[models.StreamEventSsePayload]](../models/streameventssepayload.md) | :heavy_minus_sign: | N/A | -| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `retry` | *Optional[int]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | +| `event` | *Optional[str]* | :heavy_minus_sign: | SSE event name. `error` indicates the stream failed after HTTP 200. | +| `data` | [Optional[models.StreamV1WorkflowsExecutionsExecutionIDStreamGetData]](../models/streamv1workflowsexecutionsexecutionidstreamgetdata.md) | :heavy_minus_sign: | N/A | +| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `retry` | *Optional[int]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/workflowstreamerror.md b/docs/models/workflowstreamerror.md new file mode 100644 index 00000000..af919c68 --- /dev/null +++ b/docs/models/workflowstreamerror.md @@ -0,0 +1,9 @@ +# WorkflowStreamError + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `error` | *str* | :heavy_check_mark: | N/A | +| `reason` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/sdks/connectors/README.md b/docs/sdks/connectors/README.md index 707b5ef4..5d8164cc 100644 --- a/docs/sdks/connectors/README.md +++ b/docs/sdks/connectors/README.md @@ -554,9 +554,10 @@ with Mistral( ### Errors -| Error Type | Status Code | Content Type | -| --------------- | --------------- | --------------- | -| errors.SDKError | 4XX, 5XX | \*/\* | +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| errors.HTTPValidationError | 422 | application/json | +| errors.SDKError | 4XX, 5XX | \*/\* | ## list_organization_credentials diff --git a/pyproject.toml b/pyproject.toml index fbfafea2..24e318a2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "mistralai" -version = "2.4.10" +version = "2.4.11" description = "Python Client SDK for the Mistral AI API." authors = [{ name = "Mistral" }] requires-python = ">=3.10" diff --git a/src/mistralai/client/_version.py b/src/mistralai/client/_version.py index 9e09a587..1db1c2f3 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.4.10" +__version__: str = "2.4.11" __openapi_doc_version__: str = "1.0.0" __gen_version__: str = "2.884.13" -__user_agent__: str = "speakeasy-sdk/python 2.4.10 2.884.13 1.0.0 mistralai" +__user_agent__: str = "speakeasy-sdk/python 2.4.11 2.884.13 1.0.0 mistralai" try: if __package__ is not None: diff --git a/src/mistralai/client/connectors.py b/src/mistralai/client/connectors.py index 6f7c2e87..6c9e59da 100644 --- a/src/mistralai/client/connectors.py +++ b/src/mistralai/client/connectors.py @@ -536,11 +536,11 @@ def get_auth_url( base_url = self._get_url(base_url, url_variables) request = models.ConnectorGetAuthURLV1Request( + connector_id_or_name=connector_id_or_name, app_return_url=app_return_url, method_type=method_type, credentials_name=credentials_name, github_installation_link=github_installation_link, - connector_id_or_name=connector_id_or_name, ) req = self._build_request( @@ -641,11 +641,11 @@ async def get_auth_url_async( base_url = self._get_url(base_url, url_variables) request = models.ConnectorGetAuthURLV1Request( + connector_id_or_name=connector_id_or_name, app_return_url=app_return_url, method_type=method_type, credentials_name=credentials_name, github_installation_link=github_installation_link, - connector_id_or_name=connector_id_or_name, ) req = self._build_request_async( @@ -2035,8 +2035,8 @@ def call_tool( request = models.ConnectorCallToolV1Request( tool_name=tool_name, - credentials_name=credentials_name, connector_id_or_name=connector_id_or_name, + credentials_name=credentials_name, connector_call_tool_request=models.ConnectorCallToolRequest( arguments=arguments, ), @@ -2146,8 +2146,8 @@ async def call_tool_async( request = models.ConnectorCallToolV1Request( tool_name=tool_name, - credentials_name=credentials_name, connector_id_or_name=connector_id_or_name, + credentials_name=credentials_name, connector_call_tool_request=models.ConnectorCallToolRequest( arguments=arguments, ), @@ -2260,12 +2260,12 @@ def list_tools( base_url = self._get_url(base_url, url_variables) request = models.ConnectorListToolsV1Request( + connector_id_or_name=connector_id_or_name, page=page, page_size=page_size, refresh=refresh, pretty=pretty, credentials_name=credentials_name, - connector_id_or_name=connector_id_or_name, ) req = self._build_request( @@ -2370,12 +2370,12 @@ async def list_tools_async( base_url = self._get_url(base_url, url_variables) request = models.ConnectorListToolsV1Request( + connector_id_or_name=connector_id_or_name, page=page, page_size=page_size, refresh=refresh, pretty=pretty, credentials_name=credentials_name, - connector_id_or_name=connector_id_or_name, ) req = self._build_request_async( @@ -2513,10 +2513,16 @@ def get_authentication_methods( retry_config=retry_config, ) + response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response( List[models.PublicAuthenticationMethod], http_res ) + if utils.match_response(http_res, "422", "application/json"): + response_data = unmarshal_json_response( + errors.HTTPValidationErrorData, http_res + ) + raise errors.HTTPValidationError(response_data, http_res) if utils.match_response(http_res, "4XX", "*"): http_res_text = utils.stream_to_text(http_res) raise errors.SDKError("API error occurred", http_res, http_res_text) @@ -2602,10 +2608,16 @@ async def get_authentication_methods_async( retry_config=retry_config, ) + response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response( List[models.PublicAuthenticationMethod], http_res ) + if utils.match_response(http_res, "422", "application/json"): + response_data = unmarshal_json_response( + errors.HTTPValidationErrorData, http_res + ) + raise errors.HTTPValidationError(response_data, http_res) if utils.match_response(http_res, "4XX", "*"): http_res_text = await utils.stream_to_text_async(http_res) raise errors.SDKError("API error occurred", http_res, http_res_text) @@ -2652,9 +2664,9 @@ def list_organization_credentials( base_url = self._get_url(base_url, url_variables) request = models.ConnectorListOrganizationCredentialsV1Request( + connector_id_or_name=connector_id_or_name, auth_type=auth_type, fetch_default=fetch_default, - connector_id_or_name=connector_id_or_name, ) req = self._build_request( @@ -2751,9 +2763,9 @@ async def list_organization_credentials_async( base_url = self._get_url(base_url, url_variables) request = models.ConnectorListOrganizationCredentialsV1Request( + connector_id_or_name=connector_id_or_name, auth_type=auth_type, fetch_default=fetch_default, - connector_id_or_name=connector_id_or_name, ) req = self._build_request_async( @@ -3080,9 +3092,9 @@ def list_workspace_credentials( base_url = self._get_url(base_url, url_variables) request = models.ConnectorListWorkspaceCredentialsV1Request( + connector_id_or_name=connector_id_or_name, auth_type=auth_type, fetch_default=fetch_default, - connector_id_or_name=connector_id_or_name, ) req = self._build_request( @@ -3179,9 +3191,9 @@ async def list_workspace_credentials_async( base_url = self._get_url(base_url, url_variables) request = models.ConnectorListWorkspaceCredentialsV1Request( + connector_id_or_name=connector_id_or_name, auth_type=auth_type, fetch_default=fetch_default, - connector_id_or_name=connector_id_or_name, ) req = self._build_request_async( @@ -3508,9 +3520,9 @@ def list_user_credentials( base_url = self._get_url(base_url, url_variables) request = models.ConnectorListUserCredentialsV1Request( + connector_id_or_name=connector_id_or_name, auth_type=auth_type, fetch_default=fetch_default, - connector_id_or_name=connector_id_or_name, ) req = self._build_request( @@ -3607,9 +3619,9 @@ async def list_user_credentials_async( base_url = self._get_url(base_url, url_variables) request = models.ConnectorListUserCredentialsV1Request( + connector_id_or_name=connector_id_or_name, auth_type=auth_type, fetch_default=fetch_default, - connector_id_or_name=connector_id_or_name, ) req = self._build_request_async( @@ -4512,9 +4524,9 @@ def get( base_url = self._get_url(base_url, url_variables) request = models.ConnectorGetV1Request( + connector_id_or_name=connector_id_or_name, fetch_user_data=fetch_user_data, fetch_customer_data=fetch_customer_data, - connector_id_or_name=connector_id_or_name, ) req = self._build_request( @@ -4611,9 +4623,9 @@ async def get_async( base_url = self._get_url(base_url, url_variables) request = models.ConnectorGetV1Request( + connector_id_or_name=connector_id_or_name, fetch_user_data=fetch_user_data, fetch_customer_data=fetch_customer_data, - connector_id_or_name=connector_id_or_name, ) req = self._build_request_async( diff --git a/src/mistralai/client/models/__init__.py b/src/mistralai/client/models/__init__.py index e12b9677..381c58fe 100644 --- a/src/mistralai/client/models/__init__.py +++ b/src/mistralai/client/models/__init__.py @@ -1107,6 +1107,8 @@ GetSpanFieldOptionsV1ObservabilitySpansFieldsFieldNameOptionsGetRequestTypedDict, ) from .get_stream_events_v1_workflows_events_stream_getop import ( + GetStreamEventsV1WorkflowsEventsStreamGetData, + GetStreamEventsV1WorkflowsEventsStreamGetDataTypedDict, GetStreamEventsV1WorkflowsEventsStreamGetRequest, GetStreamEventsV1WorkflowsEventsStreamGetRequestTypedDict, GetStreamEventsV1WorkflowsEventsStreamGetResponseBody, @@ -1979,6 +1981,8 @@ from .speechstreameventtypes import SpeechStreamEventTypes from .ssetypes import SSETypes from .stream_v1_workflows_executions_execution_id_stream_getop import ( + StreamV1WorkflowsExecutionsExecutionIDStreamGetData, + StreamV1WorkflowsExecutionsExecutionIDStreamGetDataTypedDict, StreamV1WorkflowsExecutionsExecutionIDStreamGetRequest, StreamV1WorkflowsExecutionsExecutionIDStreamGetRequestTypedDict, StreamV1WorkflowsExecutionsExecutionIDStreamGetResponseBody, @@ -2496,6 +2500,7 @@ WorkflowScheduleUpdateRequest, WorkflowScheduleUpdateRequestTypedDict, ) + from .workflowstreamerror import WorkflowStreamError, WorkflowStreamErrorTypedDict from .workflowtaskfailedattributes import ( WorkflowTaskFailedAttributes, WorkflowTaskFailedAttributesTypedDict, @@ -3282,6 +3287,8 @@ "GetSpanTypedDict", "GetSpans", "GetSpansTypedDict", + "GetStreamEventsV1WorkflowsEventsStreamGetData", + "GetStreamEventsV1WorkflowsEventsStreamGetDataTypedDict", "GetStreamEventsV1WorkflowsEventsStreamGetRequest", "GetStreamEventsV1WorkflowsEventsStreamGetRequestTypedDict", "GetStreamEventsV1WorkflowsEventsStreamGetResponseBody", @@ -3915,6 +3922,8 @@ "StreamEventSsePayloadTypedDict", "StreamEventWorkflowContext", "StreamEventWorkflowContextTypedDict", + "StreamV1WorkflowsExecutionsExecutionIDStreamGetData", + "StreamV1WorkflowsExecutionsExecutionIDStreamGetDataTypedDict", "StreamV1WorkflowsExecutionsExecutionIDStreamGetRequest", "StreamV1WorkflowsExecutionsExecutionIDStreamGetRequestTypedDict", "StreamV1WorkflowsExecutionsExecutionIDStreamGetResponseBody", @@ -4277,6 +4286,8 @@ "WorkflowScheduleTriggerRequestTypedDict", "WorkflowScheduleUpdateRequest", "WorkflowScheduleUpdateRequestTypedDict", + "WorkflowStreamError", + "WorkflowStreamErrorTypedDict", "WorkflowTaskFailedAttributes", "WorkflowTaskFailedAttributesTypedDict", "WorkflowTaskFailedResponse", @@ -5030,6 +5041,8 @@ "GetSpanEvaluationFieldOptionsV1ObservabilitySpansEvaluationsFieldsFieldNameOptionsGetRequestTypedDict": ".get_span_evaluation_field_options_v1_observability_spans_evaluations_fields_field_name_options_getop", "GetSpanFieldOptionsV1ObservabilitySpansFieldsFieldNameOptionsGetRequest": ".get_span_field_options_v1_observability_spans_fields_field_name_options_getop", "GetSpanFieldOptionsV1ObservabilitySpansFieldsFieldNameOptionsGetRequestTypedDict": ".get_span_field_options_v1_observability_spans_fields_field_name_options_getop", + "GetStreamEventsV1WorkflowsEventsStreamGetData": ".get_stream_events_v1_workflows_events_stream_getop", + "GetStreamEventsV1WorkflowsEventsStreamGetDataTypedDict": ".get_stream_events_v1_workflows_events_stream_getop", "GetStreamEventsV1WorkflowsEventsStreamGetRequest": ".get_stream_events_v1_workflows_events_stream_getop", "GetStreamEventsV1WorkflowsEventsStreamGetRequestTypedDict": ".get_stream_events_v1_workflows_events_stream_getop", "GetStreamEventsV1WorkflowsEventsStreamGetResponseBody": ".get_stream_events_v1_workflows_events_stream_getop", @@ -5678,6 +5691,8 @@ "SpeechStreamDoneTypedDict": ".speechstreamdone", "SpeechStreamEventTypes": ".speechstreameventtypes", "SSETypes": ".ssetypes", + "StreamV1WorkflowsExecutionsExecutionIDStreamGetData": ".stream_v1_workflows_executions_execution_id_stream_getop", + "StreamV1WorkflowsExecutionsExecutionIDStreamGetDataTypedDict": ".stream_v1_workflows_executions_execution_id_stream_getop", "StreamV1WorkflowsExecutionsExecutionIDStreamGetRequest": ".stream_v1_workflows_executions_execution_id_stream_getop", "StreamV1WorkflowsExecutionsExecutionIDStreamGetRequestTypedDict": ".stream_v1_workflows_executions_execution_id_stream_getop", "StreamV1WorkflowsExecutionsExecutionIDStreamGetResponseBody": ".stream_v1_workflows_executions_execution_id_stream_getop", @@ -6031,6 +6046,8 @@ "WorkflowScheduleTriggerRequestTypedDict": ".workflowscheduletriggerrequest", "WorkflowScheduleUpdateRequest": ".workflowscheduleupdaterequest", "WorkflowScheduleUpdateRequestTypedDict": ".workflowscheduleupdaterequest", + "WorkflowStreamError": ".workflowstreamerror", + "WorkflowStreamErrorTypedDict": ".workflowstreamerror", "WorkflowTaskFailedAttributes": ".workflowtaskfailedattributes", "WorkflowTaskFailedAttributesTypedDict": ".workflowtaskfailedattributes", "WorkflowTaskFailedResponse": ".workflowtaskfailedresponse", diff --git a/src/mistralai/client/models/get_stream_events_v1_workflows_events_stream_getop.py b/src/mistralai/client/models/get_stream_events_v1_workflows_events_stream_getop.py index 442a7a94..53f75197 100644 --- a/src/mistralai/client/models/get_stream_events_v1_workflows_events_stream_getop.py +++ b/src/mistralai/client/models/get_stream_events_v1_workflows_events_stream_getop.py @@ -4,6 +4,7 @@ from __future__ import annotations from .streameventssepayload import StreamEventSsePayload, StreamEventSsePayloadTypedDict from .workfloweventtype import WorkflowEventType +from .workflowstreamerror import WorkflowStreamError, WorkflowStreamErrorTypedDict from mistralai.client.types import ( BaseModel, Nullable, @@ -14,8 +15,8 @@ from mistralai.client.utils import FieldMetadata, HeaderMetadata, QueryParamMetadata import pydantic from pydantic import model_serializer -from typing import Any, Dict, List, Literal, Optional -from typing_extensions import Annotated, NotRequired, TypedDict +from typing import Any, Dict, List, Literal, Optional, Union +from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict Scope = Literal[ @@ -145,11 +146,24 @@ def serialize_model(self, handler): return m +GetStreamEventsV1WorkflowsEventsStreamGetDataTypedDict = TypeAliasType( + "GetStreamEventsV1WorkflowsEventsStreamGetDataTypedDict", + Union[WorkflowStreamErrorTypedDict, StreamEventSsePayloadTypedDict], +) + + +GetStreamEventsV1WorkflowsEventsStreamGetData = TypeAliasType( + "GetStreamEventsV1WorkflowsEventsStreamGetData", + Union[WorkflowStreamError, StreamEventSsePayload], +) + + class GetStreamEventsV1WorkflowsEventsStreamGetResponseBodyTypedDict(TypedDict): r"""Stream of Server-Sent Events (SSE)""" event: NotRequired[str] - data: NotRequired[StreamEventSsePayloadTypedDict] + r"""SSE event name. `error` indicates the stream failed after HTTP 200.""" + data: NotRequired[GetStreamEventsV1WorkflowsEventsStreamGetDataTypedDict] id: NotRequired[str] retry: NotRequired[int] @@ -158,8 +172,9 @@ class GetStreamEventsV1WorkflowsEventsStreamGetResponseBody(BaseModel): r"""Stream of Server-Sent Events (SSE)""" event: Optional[str] = None + r"""SSE event name. `error` indicates the stream failed after HTTP 200.""" - data: Optional[StreamEventSsePayload] = None + data: Optional[GetStreamEventsV1WorkflowsEventsStreamGetData] = None id: Optional[str] = None diff --git a/src/mistralai/client/models/stream_v1_workflows_executions_execution_id_stream_getop.py b/src/mistralai/client/models/stream_v1_workflows_executions_execution_id_stream_getop.py index 5282e52a..b87f630a 100644 --- a/src/mistralai/client/models/stream_v1_workflows_executions_execution_id_stream_getop.py +++ b/src/mistralai/client/models/stream_v1_workflows_executions_execution_id_stream_getop.py @@ -4,6 +4,7 @@ from __future__ import annotations from .eventsource import EventSource from .streameventssepayload import StreamEventSsePayload, StreamEventSsePayloadTypedDict +from .workflowstreamerror import WorkflowStreamError, WorkflowStreamErrorTypedDict from mistralai.client.types import ( BaseModel, Nullable, @@ -13,8 +14,8 @@ ) from mistralai.client.utils import FieldMetadata, PathParamMetadata, QueryParamMetadata from pydantic import model_serializer -from typing import Optional -from typing_extensions import Annotated, NotRequired, TypedDict +from typing import Optional, Union +from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict class StreamV1WorkflowsExecutionsExecutionIDStreamGetRequestTypedDict(TypedDict): @@ -64,11 +65,24 @@ def serialize_model(self, handler): return m +StreamV1WorkflowsExecutionsExecutionIDStreamGetDataTypedDict = TypeAliasType( + "StreamV1WorkflowsExecutionsExecutionIDStreamGetDataTypedDict", + Union[WorkflowStreamErrorTypedDict, StreamEventSsePayloadTypedDict], +) + + +StreamV1WorkflowsExecutionsExecutionIDStreamGetData = TypeAliasType( + "StreamV1WorkflowsExecutionsExecutionIDStreamGetData", + Union[WorkflowStreamError, StreamEventSsePayload], +) + + class StreamV1WorkflowsExecutionsExecutionIDStreamGetResponseBodyTypedDict(TypedDict): r"""Stream of Server-Sent Events (SSE)""" event: NotRequired[str] - data: NotRequired[StreamEventSsePayloadTypedDict] + r"""SSE event name. `error` indicates the stream failed after HTTP 200.""" + data: NotRequired[StreamV1WorkflowsExecutionsExecutionIDStreamGetDataTypedDict] id: NotRequired[str] retry: NotRequired[int] @@ -77,8 +91,9 @@ class StreamV1WorkflowsExecutionsExecutionIDStreamGetResponseBody(BaseModel): r"""Stream of Server-Sent Events (SSE)""" event: Optional[str] = None + r"""SSE event name. `error` indicates the stream failed after HTTP 200.""" - data: Optional[StreamEventSsePayload] = None + data: Optional[StreamV1WorkflowsExecutionsExecutionIDStreamGetData] = None id: Optional[str] = None diff --git a/src/mistralai/client/models/streamerror.py b/src/mistralai/client/models/streamerror.py index ddc939b2..7ef83aca 100644 --- a/src/mistralai/client/models/streamerror.py +++ b/src/mistralai/client/models/streamerror.py @@ -8,7 +8,10 @@ class StreamErrorTypedDict(TypedDict): error: str + reason: str class StreamError(BaseModel): error: str + + reason: str diff --git a/src/mistralai/client/models/workflowstreamerror.py b/src/mistralai/client/models/workflowstreamerror.py new file mode 100644 index 00000000..94e5b89c --- /dev/null +++ b/src/mistralai/client/models/workflowstreamerror.py @@ -0,0 +1,17 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: deb3c58716b9 + +from __future__ import annotations +from mistralai.client.types import BaseModel +from typing_extensions import TypedDict + + +class WorkflowStreamErrorTypedDict(TypedDict): + error: str + reason: str + + +class WorkflowStreamError(BaseModel): + error: str + + reason: str diff --git a/src/mistralai/extra/workflows/connector_auth.py b/src/mistralai/extra/workflows/connector_auth.py index 94fd40ad..fd20b2c3 100644 --- a/src/mistralai/extra/workflows/connector_auth.py +++ b/src/mistralai/extra/workflows/connector_auth.py @@ -57,6 +57,7 @@ async def prompt_user(state: ConnectorAuthTaskState) -> None: WorkflowExecutionCompletedResponse, WorkflowExecutionFailedResponse, WorkflowExecutionResponse, + WorkflowStreamError, ) from .connector_slot import ConnectorSlot, WorkflowExtensions @@ -192,6 +193,13 @@ async def _stream_and_handle_auth( continue payload = sse_event.data + if isinstance(payload, WorkflowStreamError): + # Typed SSE error after HTTP 200: the stream failed + # mid-tail. Treat it like a dropped connection so the + # reconnect/back-off loop below handles it. + raise ConnectionError( + f"workflow event stream error: {payload.error} ({payload.reason})" + ) last_seq = payload.broker_sequence + 1 event = payload.data diff --git a/uv.lock b/uv.lock index bfbfa377..442fcd39 100644 --- a/uv.lock +++ b/uv.lock @@ -1047,7 +1047,7 @@ wheels = [ [[package]] name = "mistralai" -version = "2.4.10" +version = "2.4.11" source = { editable = "." } dependencies = [ { name = "eval-type-backport" },