From 6a0b57b3ac668d3818266b7d9df97ac05fc81657 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Fri, 24 Jul 2026 11:26:11 +0000 Subject: [PATCH 1/2] ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.763.6 --- .speakeasy/gen.lock | 148 +++++++------ .speakeasy/gen.yaml | 2 +- .speakeasy/workflow.lock | 12 +- README.md | 5 +- RELEASES.md | 12 +- docs/models/basemodelcard.md | 1 + docs/models/connector.md | 2 +- docs/models/connectorunsharev1request.md | 8 + docs/models/createconnectorrequest.md | 10 +- docs/models/deploymentdetailresponse.md | 3 + docs/models/deploymentresponse.md | 3 + docs/models/deploymentworkerresponse.md | 13 +- docs/models/ftmodelcard.md | 1 + .../listrunsv1workflowsrunsgetrequest.md | 37 ++-- docs/models/publicresourcevisibility.md | 19 ++ docs/models/resourcetype.md | 20 -- docs/sdks/connectors/README.md | 46 +++- docs/sdks/runs/README.md | 39 ++-- src/mistralai/client/_version.py | 4 +- src/mistralai/client/connectors.py | 202 +++++++++++++++++- src/mistralai/client/models/__init__.py | 14 +- src/mistralai/client/models/basemodelcard.py | 4 + src/mistralai/client/models/connector.py | 6 +- .../client/models/connector_unshare_v1op.py | 17 ++ .../client/models/createconnectorrequest.py | 50 +++-- .../client/models/deploymentdetailresponse.py | 27 ++- .../client/models/deploymentresponse.py | 29 ++- .../client/models/deploymentworkerresponse.py | 42 +++- src/mistralai/client/models/ftmodelcard.py | 4 + .../list_runs_v1_workflows_runs_getop.py | 10 + .../client/models/publicresourcevisibility.py | 16 ++ src/mistralai/client/models/resourcetype.py | 17 -- src/mistralai/client/runs.py | 8 + 33 files changed, 631 insertions(+), 200 deletions(-) create mode 100644 docs/models/connectorunsharev1request.md create mode 100644 docs/models/publicresourcevisibility.md delete mode 100644 docs/models/resourcetype.md create mode 100644 src/mistralai/client/models/connector_unshare_v1op.py create mode 100644 src/mistralai/client/models/publicresourcevisibility.py delete mode 100644 src/mistralai/client/models/resourcetype.py diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 11b42809f..187ebe655 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: 3592b290ef7ee0487b9bd095a11aa2ec + docChecksum: bce55d2c4c5c053db4b31b9dacc87ca2 docVersion: 1.0.0 speakeasyVersion: 1.763.6 generationVersion: 2.884.13 - releaseVersion: 2.7.1 - configChecksum: c597fc53d4cceedd41092f74e31329bb + releaseVersion: 2.7.2 + configChecksum: f4cd446693dc9b60564bbce69007e60a repoURL: https://github.com/mistralai/client-python.git installationURL: https://github.com/mistralai/client-python.git published: true persistentEdits: - generation_id: 12494d98-c92f-4646-abe5-b0e1beaedbdb - pristine_commit_hash: 8a2c31a2179b328d40bdc43d9187801c17fc4b45 - pristine_tree_hash: b1ea4fada40d0bc10832ee56afd93dc76a025562 + generation_id: 9306fbb3-223a-4a21-a5fb-1783c4747683 + pristine_commit_hash: 9cb1521f1d8da7b888aa90de17efa2847b892823 + pristine_tree_hash: 7161b758b2b28d71c15c11bb092ac6eb5ec578ff features: python: acceptHeaders: 3.0.0 @@ -387,8 +387,8 @@ trackedFiles: pristine_git_object: 355242b9982ce817900b3f51418ee629775efcf1 docs/models/basemodelcard.md: id: 2f62bfbd650e - last_write_checksum: sha1:d42dfe36b103ee95f55e91ac306e3179060dfb3f - pristine_git_object: 2a5e7515a0edc3f1a5de68ba28eae8bdec988bb1 + last_write_checksum: sha1:cc162baae199cc44545e38c1fbdfa9042665ec55 + pristine_git_object: 6a90ef9a987bf21113a3da27e4aeb3a25835c965 docs/models/basetaskstatus.md: id: b709621d5c71 last_write_checksum: sha1:19fd9c3fc71627d758635f9840be4508ffe8e361 @@ -627,8 +627,8 @@ trackedFiles: pristine_git_object: e069233ff9f42a6b13e356985e3bc3819128b970 docs/models/connector.md: id: cbf7c2c53983 - last_write_checksum: sha1:8c56f6a112af32d9f6acff4082a60bcf74b61dad - pristine_git_object: f48b92656c9cb3391953409c7c2a75f76bb1d0bc + last_write_checksum: sha1:860c42fe124757044da5c779f14f8c10f378248a + pristine_git_object: c5022a1f8c5522c988fea43348903889a7f67b64 docs/models/connectoractivatefororganizationv1request.md: id: 3a15b69f7e51 last_write_checksum: sha1:ae29bb24fdf11ccf8c08e2a1a2909d55d4cbaf6c @@ -769,6 +769,10 @@ trackedFiles: id: 18ff112e8af2 last_write_checksum: sha1:f4d7703c0a1ce40ebd8434e96f1758a5c0b24b45 pristine_git_object: 77a327dc7782d538c467095c9e15fdcf575334ad + docs/models/connectorunsharev1request.md: + id: d214a2403cb5 + last_write_checksum: sha1:c40a736c967b09e793902e1f15f756e8d090b9d6 + pristine_git_object: ec3a8f3690b59c84b37ccc8ee411bfb3fbf6531b docs/models/connectorupdatev1request.md: id: fdbeb5fee83e last_write_checksum: sha1:9082d8f0cfe9f950d129971b152d37f936f7aaea @@ -907,8 +911,8 @@ trackedFiles: pristine_git_object: 2e81d26d19950ef6c1bc7186b8497e1f739e8f0b docs/models/createconnectorrequest.md: id: 7a0ef9d82658 - last_write_checksum: sha1:88c4c4ad5f4e2dab6b94dd25102bf5024a5bc39f - pristine_git_object: d9fc61a30eb5f1c0c5fb510eb6f533efff14fdfe + last_write_checksum: sha1:1d5ba5a79ac7fd28ba6e5f1edf6da32ef1c959c4 + pristine_git_object: 50f25f26b597118445af6c6f88d38965eb0a8d5e docs/models/createdatasetrecordrequest.md: id: e2c8a858a8e6 last_write_checksum: sha1:9b93d8087fca92dfa4bf1e681ecd2fbb61520e86 @@ -1123,8 +1127,8 @@ trackedFiles: pristine_git_object: 9dff582203770fbdb9628cbb9893a962923e297b docs/models/deploymentdetailresponse.md: id: 712f7bbc8cc0 - last_write_checksum: sha1:f2ba1cca618aadb93b4c5c3f3bd841c1f8fd9a3d - pristine_git_object: e9eb9d6f79924c39831c072dd5db76a7f1a85f23 + last_write_checksum: sha1:752f0b9056d02c7daf68a26d6e298f547e4b6766 + pristine_git_object: 48e4f07fc5f968dc91e2eb46fdccfed072e7ac20 docs/models/deploymentlistresponse.md: id: 45a11caf1008 last_write_checksum: sha1:e0d0d588f994f72dd7adcc096129cfdac50efb33 @@ -1155,16 +1159,16 @@ trackedFiles: pristine_git_object: e11a8275410eab9849577f7fe6b86665f86a04e6 docs/models/deploymentresponse.md: id: a9da842850c4 - last_write_checksum: sha1:8339e98dccdcd00b7d218b63c39159668ecb2564 - pristine_git_object: 4369a71caad95abbccdde3dd34fbe61b86b15e89 + last_write_checksum: sha1:4cf4e2a2710086051f2af7b4b97e9e40a10218b0 + pristine_git_object: cabf9f8d66eb62a9a6ccab1db6245581d3d299fb docs/models/deploymentstatus.md: id: b039895c72a9 last_write_checksum: sha1:fe2f0489b2fea1fa58454ea8abe7426d01b17794 pristine_git_object: 3d1ba1c336f9b30153dee42f35fca10d4986f023 docs/models/deploymentworkerresponse.md: id: 07cd9c89237a - last_write_checksum: sha1:1f8b60ad6e17714100626106c2de16f6aca273e4 - pristine_git_object: afdcca834da74cc33711b1aa229f5ccf66eceefd + last_write_checksum: sha1:b4ecb28489bd72302e5f56dd9d54f40378dae3e2 + pristine_git_object: f008cdb118734917b68ceda25fda2e2643c3ce2a docs/models/deploymentworkerspecinput.md: id: 1cd06cd8089d last_write_checksum: sha1:e3f5820de09fc433277ee8881142f6383a1173e2 @@ -1451,8 +1455,8 @@ trackedFiles: pristine_git_object: 36d3db18679569d21e6bacfe13bcd22715372297 docs/models/ftmodelcard.md: id: 15ed6f94deea - last_write_checksum: sha1:5873780bc2a828f1164818eb9c64c3f69c6618cc - pristine_git_object: f65ff6e888a460ac5f3ad3a4556ccdd8366960c0 + last_write_checksum: sha1:284266bc4caa23f9b05d9baed509ac42b70908fa + pristine_git_object: e1be2c62699074c89fa4113e60c92bef899e2e41 docs/models/function.md: id: 416a80fba031 last_write_checksum: sha1:a9485076d430a7753558461ce87bf42d09e34511 @@ -2235,8 +2239,8 @@ trackedFiles: pristine_git_object: 645719816f34b6ce88aaada4f4a7dc546ff096b2 docs/models/listrunsv1workflowsrunsgetrequest.md: id: 132927390b33 - last_write_checksum: sha1:b2e25a49561040c64728ebfd87ca313d3da64383 - pristine_git_object: 258f585f271cc1cd712d58aa6a523a948cc3128d + last_write_checksum: sha1:58c3ce4432fb9795e1d13c38dcf13efa7c716ac6 + pristine_git_object: 8238bdc5b90aa880b66d9984656bab2d50b9ead6 docs/models/listrunsv1workflowsrunsgetresponse.md: id: da55980ef20d last_write_checksum: sha1:e176049e48a9f78b47be166b6dc8f47bca3e7da7 @@ -2789,6 +2793,10 @@ trackedFiles: id: 2b2437bca7dc last_write_checksum: sha1:97855538932162eb7cfca831f96be4b57df92956 pristine_git_object: b67ea255c930b7cae2258d083ad108a6210f096d + docs/models/publicresourcevisibility.md: + id: abc1ee88de49 + last_write_checksum: sha1:11612c0501a8d5a2f205c08dcbab99cfc58eef23 + pristine_git_object: 75496abe9b1e7af1ee45a935ac769292233b3e43 docs/models/querydefinition.md: id: 4831b7e558f9 last_write_checksum: sha1:f4983c0963906b3eda13c69e2852b08d662dd744 @@ -2933,10 +2941,6 @@ trackedFiles: id: 1efecd9117de last_write_checksum: sha1:a12afb871ba44408288f3f2ce67428747236286e pristine_git_object: bbd256d08f16e9a966c107f8eccd762eae70e3b9 - docs/models/resourcetype.md: - id: 4607729e43a1 - last_write_checksum: sha1:241a059f01662088222612170681caed2c01d812 - pristine_git_object: 047f96bb17bfabb811b0315c71c03f373fcc2bfa docs/models/resourcevisibility.md: id: 891d464e9c47 last_write_checksum: sha1:cb0eaebe4e984ab4d999745a142868d2359ab8e4 @@ -4207,8 +4211,8 @@ trackedFiles: pristine_git_object: dc0f4984380b5b137266421e87a1505af5260e89 docs/sdks/connectors/README.md: id: 7633a87d946d - last_write_checksum: sha1:0402b9a3dd326042cd9c65fd13afe5075f6a1600 - pristine_git_object: 01aa4276edc88a513a187d1b3398c787d6c2e274 + last_write_checksum: sha1:a7efa5416f8be87d341df2779d8fb5a380f47199 + pristine_git_object: 6c0c1efc7eb5d0de9a09e1d7e67b851a068bb6f5 docs/sdks/conversations/README.md: id: e22a9d2c5424 last_write_checksum: sha1:68ede193fd35a89ab226aa92a92edaecf1eebb1a @@ -4287,8 +4291,8 @@ trackedFiles: pristine_git_object: a14cf4e9659088726be37da0a48eff14e3c14572 docs/sdks/runs/README.md: id: 4598fd39b715 - last_write_checksum: sha1:f684e3c01e8df5d1a9a3beecd11f2f10cd425486 - pristine_git_object: c9c32d819827bedb992879da97735023436511fb + last_write_checksum: sha1:787ad2cc3aea493f9cac63137e718917a5cdb219 + pristine_git_object: 66a407748f96d8dcd7b663c4681d9ab3e1672e4d docs/sdks/schedules/README.md: id: 2f28c809a225 last_write_checksum: sha1:3f644b41a399bc10b5bb9b667f4ee2b36d3d0651 @@ -4359,8 +4363,8 @@ trackedFiles: pristine_git_object: 036d44b8cfc51599873bd5c401a6aed30450536c src/mistralai/client/_version.py: id: cc807b30de19 - last_write_checksum: sha1:3748fb1cb44c14e659afc4d54bcc9e2183f92b33 - pristine_git_object: 48606bf3013dbf568c1f6d3e680fb12ffa79b94f + last_write_checksum: sha1:eac49bcfbe0e31310c842b9e568f2ef7ef6cb246 + pristine_git_object: e92bde75a3246a9185d461eddd3edd33d338c8d1 src/mistralai/client/accesses.py: id: 76fc53bfcf59 last_write_checksum: sha1:33d8a0663a647b7a7e1946064d05c3b40e538816 @@ -4411,8 +4415,8 @@ trackedFiles: pristine_git_object: a19206185ab23809971b395c522a34da4e399eea src/mistralai/client/connectors.py: id: 39da03126050 - last_write_checksum: sha1:8da0dd35c1849b9bdf44394a70b619c5e085faca - pristine_git_object: e3ba3797ed5f7b2bcceaeb9377b64d9aa2d03493 + last_write_checksum: sha1:a1d07aac49f5a1c64c3c2986d23ddcc0fb2658d4 + pristine_git_object: 53bac05ccce49c0798946d668bfe239d68137edb src/mistralai/client/conversations.py: id: 40692a878064 last_write_checksum: sha1:b56c051f97ec84539028d736409289579b8df48d @@ -4511,8 +4515,8 @@ trackedFiles: pristine_git_object: d0b6b4fc091393e6e8a75f158363baa8e2ea21d4 src/mistralai/client/models/__init__.py: id: e0e8dad92725 - last_write_checksum: sha1:19d86f98529a2da48c79296add95427b3f37ca89 - pristine_git_object: 50010ba8a67d4c2e5f076a5954af21e4a03ab05f + last_write_checksum: sha1:c30aac136065c301bb030807f32f160e84242435 + pristine_git_object: fcca02ee5c40f32b4c741ae2b848d05c49a7361b src/mistralai/client/models/activitytaskcompletedattributesresponse.py: id: 8174941767cc last_write_checksum: sha1:b5246e203765ba0532a6a65d391bdd237ab2c891 @@ -4735,8 +4739,8 @@ trackedFiles: pristine_git_object: 88470163b1a599e2b11acac21ae4121aabd7b92b src/mistralai/client/models/basemodelcard.py: id: 556ebdc33276 - last_write_checksum: sha1:1a1d261bad5394f01bbad562e8eee941014b7d9e - pristine_git_object: bb3c99ddb4495488b4e058cd32332808d6de08b9 + last_write_checksum: sha1:1d9fdb6397df08fb2362388642dc919677665d6d + pristine_git_object: 6ffc8781b177e4351c5f222370d62d91ae194038 src/mistralai/client/models/basetaskstatus.py: id: 7b381554d5c7 last_write_checksum: sha1:8124cb3871ff7565865cd8b06181b5b0a8eb3428 @@ -4899,8 +4903,8 @@ trackedFiles: pristine_git_object: 953ef17cbecfa6983a722b151b966c72f74cf476 src/mistralai/client/models/connector.py: id: 1a4facac922d - last_write_checksum: sha1:cbafdce51d8a32413809b082026413805a49d412 - pristine_git_object: b6bea70eda461e5b4a58366a871e9abca160fbf1 + last_write_checksum: sha1:4a4b7a53bc1a5f20ad33e41739aee21775d32101 + pristine_git_object: 3e208f73b29df047f38b365385ea2832bb00f078 src/mistralai/client/models/connector_activate_for_organization_v1op.py: id: 9b35397dd5cc last_write_checksum: sha1:310d5c74ef6b89e604e94bec61efa51f853e7c88 @@ -4997,6 +5001,10 @@ trackedFiles: id: 3271dc4ecdc2 last_write_checksum: sha1:e45f6efff5b2ca86213ba71f770b9571ea98c5df pristine_git_object: 7072c3b8da85e2d3f3dd00e566e318eb0b151e5b + src/mistralai/client/models/connector_unshare_v1op.py: + id: 03a76840486f + last_write_checksum: sha1:abc6a8bf3f11f5af9734b847f3df27121af7a045 + pristine_git_object: 936fcb38664b380c864603d8ea873df53033ee4f src/mistralai/client/models/connector_update_v1op.py: id: 6f884d18ac56 last_write_checksum: sha1:be8044958ac76ecfc486dc5cb5f0876e595dcc38 @@ -5115,8 +5123,8 @@ trackedFiles: pristine_git_object: b3957df9ef369ecc1746ee3efd1b463bc10b4be7 src/mistralai/client/models/createconnectorrequest.py: id: 3da192d6491a - last_write_checksum: sha1:177f658f3a377d2d6954c8f77a9f33a77f7de9f4 - pristine_git_object: 78e7b6d30378317bf3a10af62dda715fbc764dd9 + last_write_checksum: sha1:53d0f0ed3768626dda7798788d2f2e44d797046a + pristine_git_object: 1a403ce31c15d1a63303c4f3e061deda0176565e src/mistralai/client/models/createdatasetrecordrequest.py: id: 9455e38a8c31 last_write_checksum: sha1:dbd1103182457884a9208109e8547728265e7ee6 @@ -5311,8 +5319,8 @@ trackedFiles: pristine_git_object: 53f4e05984410b65529e0e53c117bdcc0388bb78 src/mistralai/client/models/deploymentdetailresponse.py: id: 7f4a17a1c7ca - last_write_checksum: sha1:c77bb691031c6b73ff0a645d61a46de613ded4b9 - pristine_git_object: 4f3207344493c76a422768963cf7c6191beff7f9 + last_write_checksum: sha1:f2516aa4034fde8b7afcb310db027c65f859954e + pristine_git_object: 2da9fcb0e3a3c7e6a8b0fd1b8d94a01cdca8515a src/mistralai/client/models/deploymentlistresponse.py: id: 1f0b404ba621 last_write_checksum: sha1:828203fc1426550d9b7f6e9d3288f921eec9bfb1 @@ -5343,12 +5351,12 @@ trackedFiles: pristine_git_object: bafd7796692153ed78c6b374f4672c2d73b95009 src/mistralai/client/models/deploymentresponse.py: id: ea15ddd64402 - last_write_checksum: sha1:3ac2956b8a7f935c5c4006ea1f8f664e1b676028 - pristine_git_object: 060abb809414ea2ebaba043a5210651ac510108a + last_write_checksum: sha1:ab885c9d02a2f6029981e2d102254724a89f9dc3 + pristine_git_object: c43d77e567ab0e64dfbbf7d5a0bf64494edb28d2 src/mistralai/client/models/deploymentworkerresponse.py: id: b11a9947bd19 - last_write_checksum: sha1:cf27528873306d9137f08c82c87fa99b44ed5fc5 - pristine_git_object: 2955dc485bbf1017a728cb0562baf948083e1b13 + last_write_checksum: sha1:c1e85f24e934d0fa99af34c3f906e55acacc092d + pristine_git_object: 016df73b06920cf7ce7373ae69c2749b1d6fc9fc src/mistralai/client/models/deploymentworkerspecinput.py: id: 635133e69342 last_write_checksum: sha1:92fed4c984ab52b95484538e7d772d4b853e7d76 @@ -5599,8 +5607,8 @@ trackedFiles: pristine_git_object: ccb0f21b5a69f91119bec9db6e9f3d876e4c35af src/mistralai/client/models/ftmodelcard.py: id: c4f15eed2ca2 - last_write_checksum: sha1:1c3ab1bda3fa9e2df33b47a49d5e9b9e2d82a701 - pristine_git_object: bb7c52c881ceadccdeb3590104e774f3d2ad94d7 + last_write_checksum: sha1:b95803475dd3aa8771ae6c9960be580388c803ff + pristine_git_object: 8db894994bd832867bd757cc9a739f120d22402f src/mistralai/client/models/function.py: id: 32275a9d8fee last_write_checksum: sha1:c01c1ed54b3086859cde0dd3c3c466c78d8323ae @@ -6219,8 +6227,8 @@ trackedFiles: pristine_git_object: 1a42d9b0828a2e826948641a7b8be3e5d80e94db src/mistralai/client/models/list_runs_v1_workflows_runs_getop.py: id: 2f1b225158c3 - last_write_checksum: sha1:b13db32311724dc2d49629e0f2ea1e66c0eb6d9a - pristine_git_object: 82bdc027e9f1a105169e2806ea441249d784bc51 + last_write_checksum: sha1:a86d9cbc78d66b12a20dc982eaf9dc17244bfad7 + pristine_git_object: 48f50bd49c1338880f2bdea1b62e5caeca33fdb9 src/mistralai/client/models/list_voices_v1_audio_voices_getop.py: id: 6b3ce5be1294 last_write_checksum: sha1:f11a5135ce79d1913db87f9db7d05b4266630b20 @@ -6717,6 +6725,10 @@ trackedFiles: id: e0bc735fbadc last_write_checksum: sha1:6cb66e7935e4a35148f9491324473cea33323814 pristine_git_object: 69f08df6f751207b46b581ed70138e13ea48a6df + src/mistralai/client/models/publicresourcevisibility.py: + id: a11aef93fd11 + last_write_checksum: sha1:15352abc70e75975fc29345ab4292546af7ec418 + pristine_git_object: 10ed98e6210111070432603e1746a48565bd53ec src/mistralai/client/models/query_workflow_execution_v1_workflows_executions_execution_id_queries_postop.py: id: 73826dbd3f5b last_write_checksum: sha1:5105618697e031bae45cf9f6d7c5227d9c08f155 @@ -6825,10 +6837,6 @@ trackedFiles: id: d109cd5fe17d last_write_checksum: sha1:b7ebd5ed1b64ee944b0d8534ce1e1bffb3b545fd pristine_git_object: 39bd1a0b7b48462199d1a7e3cc5351679a78295a - src/mistralai/client/models/resourcetype.py: - id: 58cbbc423f90 - last_write_checksum: sha1:05bedc14374e61522f42d1e655017ecffd6bc9ad - pristine_git_object: 435c917c25e30c6c329dc41a6ee8d7c731fa06f2 src/mistralai/client/models/resourcevisibility.py: id: b5819dd5f981 last_write_checksum: sha1:3c7e91baa8c8a0bb2ba55a6b7c14db04350278d7 @@ -7867,8 +7875,8 @@ trackedFiles: pristine_git_object: 7bf1f05ff0ffbfe1506ac22da9e83b38abfb7f0a src/mistralai/client/runs.py: id: 4297d58aeb21 - last_write_checksum: sha1:162433f1f588304269e3c5371d8bf6efead752ce - pristine_git_object: 28a0ebc6eccfb4e2093d18fb6c8aaa1ecc510b9c + last_write_checksum: sha1:9b348a00800aba4771869645aae5df859b754f73 + pristine_git_object: 2943c0d564ea220f6b314c6f88fa0cfbd2ecd41b src/mistralai/client/schedules.py: id: d3b4fe452390 last_write_checksum: sha1:154945ed08c7f8d9f1c51dd2f46d41dcbd7c5c0e @@ -8037,7 +8045,7 @@ examples: model_id: "ft:open-mistral-7b:587a6b29:20240514:7e773925" responses: "200": - application/json: {"id": "", "object": "model", "owned_by": "mistralai", "capabilities": {"completion_chat": false, "function_calling": false, "reasoning": false, "completion_fim": false, "fine_tuning": false, "vision": false, "ocr": false, "classification": false, "moderation": false, "audio": false, "audio_transcription": false, "audio_transcription_realtime": false, "audio_speech": false, "unified_resources": false}, "max_context_length": 32768, "type": "fine-tuned", "job": "Product Markets Facilitator", "root": "", "archived": false} + application/json: {"id": "", "object": "model", "owned_by": "mistralai", "capabilities": {"completion_chat": false, "function_calling": false, "reasoning": false, "completion_fim": false, "fine_tuning": false, "vision": false, "ocr": false, "classification": false, "moderation": false, "audio": false, "audio_transcription": false, "audio_transcription_realtime": false, "audio_speech": false, "unified_resources": false}, "max_context_length": 32768, "internal": false, "type": "fine-tuned", "job": "Product Markets Facilitator", "root": "", "archived": false} delete_model_v1_models__model_id__delete: speakeasy-default-delete-model-v1-models-model-id-delete: parameters: @@ -9860,10 +9868,10 @@ examples: connector_create_v1: speakeasy-default-connector-create-v1: requestBody: - application/json: {"protocol": "mcp", "name": "", "description": "unibody usually despite slushy wherever reward stingy from", "server": "https://royal-majority.net/"} + application/json: {"name": "", "description": "unibody usually despite slushy wherever reward stingy from", "server": "https://royal-majority.net/"} responses: "201": - application/json: {"id": "3633ef72-f5c6-4354-b510-7167244672aa", "name": "", "description": "why yahoo zany potentially", "created_at": "2024-05-03T05:17:01.129Z", "modified_at": "2025-09-26T20:42:01.861Z", "owner_type": 3, "visibility": "private", "private_tool_execution": true, "mistral": false} + application/json: {"id": "3633ef72-f5c6-4354-b510-7167244672aa", "name": "", "description": "why yahoo zany potentially", "created_at": "2024-05-03T05:17:01.129Z", "modified_at": "2025-09-26T20:42:01.861Z", "owner_type": "workspace", "visibility": "private", "private_tool_execution": true, "mistral": false} "422": application/json: {} connector_list_v1: @@ -9900,7 +9908,7 @@ examples: fetch_user_data: false responses: "200": - application/json: {"id": "f6d4a827-9530-4a4c-af7f-ac5d6264abbf", "name": "", "description": "diversity nudge pulverize offensively", "created_at": "2024-12-11T18:18:39.930Z", "modified_at": "2026-11-21T21:28:01.899Z", "owner_type": 4, "visibility": "shared_org", "private_tool_execution": false, "mistral": false} + application/json: {"id": "f6d4a827-9530-4a4c-af7f-ac5d6264abbf", "name": "", "description": "diversity nudge pulverize offensively", "created_at": "2024-12-11T18:18:39.930Z", "modified_at": "2026-11-21T21:28:01.899Z", "owner_type": "system", "visibility": "shared_org", "private_tool_execution": false, "mistral": false} "422": application/json: {} connector_update_v1: @@ -9912,7 +9920,7 @@ examples: application/json: {"protocol": "mcp"} responses: "200": - application/json: {"id": "987e4f32-6930-41a7-8adf-6e893eddc3d9", "name": "", "description": "especially usually collaborate likewise svelte tightly very", "created_at": "2026-09-13T13:33:05.718Z", "modified_at": "2026-06-23T06:11:22.023Z", "owner_type": 3, "visibility": "shared_global", "private_tool_execution": false, "mistral": false} + application/json: {"id": "987e4f32-6930-41a7-8adf-6e893eddc3d9", "name": "", "description": "especially usually collaborate likewise svelte tightly very", "created_at": "2026-09-13T13:33:05.718Z", "modified_at": "2026-06-23T06:11:22.023Z", "owner_type": "workspace", "visibility": "shared_global", "private_tool_execution": false, "mistral": false} "422": application/json: {} connector_delete_v1: @@ -10414,7 +10422,7 @@ examples: active_only: true responses: "200": - application/json: {"deployments": [{"id": "404cb7bc-ee61-4a2e-aff3-75f69cf3ca94", "name": "", "is_active": true, "is_hardened": false, "created_at": "2026-10-31T16:44:16.117Z", "updated_at": "2025-01-02T22:50:15.704Z"}], "next_cursor": "", "workspace_id": "404cb7bc-ee61-4a2e-aff3-75f69cf3ca94"} + application/json: {"deployments": [{"id": "404cb7bc-ee61-4a2e-aff3-75f69cf3ca94", "name": "", "is_active": true, "is_hardened": false, "created_at": "2026-10-31T16:44:16.117Z", "updated_at": "2025-01-02T22:50:15.704Z", "worker_count": 0, "active_worker_count": 0}], "next_cursor": "", "workspace_id": "404cb7bc-ee61-4a2e-aff3-75f69cf3ca94"} "422": application/json: {} get_deployment_v1_workflows_deployments__name__get: @@ -10424,7 +10432,7 @@ examples: name: "" responses: "200": - application/json: {"id": "c3310963-59e6-41a6-b644-84aca97cc893", "name": "", "is_active": true, "is_hardened": false, "created_at": "2024-10-22T00:46:19.102Z", "updated_at": "2024-10-19T15:10:50.721Z", "workers": []} + application/json: {"id": "c3310963-59e6-41a6-b644-84aca97cc893", "name": "", "is_active": true, "is_hardened": false, "created_at": "2024-10-22T00:46:19.102Z", "updated_at": "2024-10-19T15:10:50.721Z", "worker_count": 0, "active_worker_count": 0, "workers": []} "422": application/json: {} get_worker_info_v1_workflows_workers_whoami_get: @@ -11444,6 +11452,16 @@ examples: application/json: {"service_id": "", "name": "", "spec": {"github_url": "https://short-discourse.com/", "type": "workflows_worker"}, "resources": {}, "status": {"available_replicas": 0, "ready_replicas": 0}, "created_at": "2024-08-30T12:44:59.345Z", "updated_at": "2025-12-19T17:44:51.948Z", "stopped": false} "422": application/json: {} + connector_unshare_v1: + speakeasy-default-connector-unshare-v1: + parameters: + path: + connector_id: "d5bd99ac-c46d-43bb-835c-cb4833bf101d" + responses: + "200": + application/json: {"message": ""} + "422": + application/json: {} examplesVersion: 1.0.2 generatedTests: {} generatedFiles: diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 7e16703ca..476815ade 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -32,7 +32,7 @@ generation: generateNewTests: false skipResponseBodyAssertions: false python: - version: 2.7.1 + version: 2.7.2 additionalDependencies: dev: pytest: ^8.2.2 diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 8106a4973..b1b299a61 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:aaceff5297440f2545e696842c26fbbf505e60067232987bd76d840163d50756 - sourceBlobDigest: sha256:4cfba6fafb89e46c6a1b760dc751b71cd15a7826104ed6bbcb8db3f4b5379259 + sourceRevisionDigest: sha256:d59910607d848cc859807610bbff5943a7d3adf97fb3bd4380603b6bda1c4fff + sourceBlobDigest: sha256:76adc1d6a9c1a0e2d0799b2eee26e2b2c251bda97bf32255c597877ea360e5c1 tags: - latest - - speakeasy-mistralai-sdk-29826413688-1 + - speakeasy-mistralai-sdk-30089444855-1 targets: mistralai-azure-sdk: source: mistral-azure-source @@ -39,10 +39,10 @@ targets: mistralai-sdk: source: mistral-openapi sourceNamespace: mistral-openapi - sourceRevisionDigest: sha256:aaceff5297440f2545e696842c26fbbf505e60067232987bd76d840163d50756 - sourceBlobDigest: sha256:4cfba6fafb89e46c6a1b760dc751b71cd15a7826104ed6bbcb8db3f4b5379259 + sourceRevisionDigest: sha256:d59910607d848cc859807610bbff5943a7d3adf97fb3bd4380603b6bda1c4fff + sourceBlobDigest: sha256:76adc1d6a9c1a0e2d0799b2eee26e2b2c251bda97bf32255c597877ea360e5c1 codeSamplesNamespace: mistral-openapi-code-samples - codeSamplesRevisionDigest: sha256:ab9dd45213695e6f7fe7db65ae525822ad2c2312c98f80d949cd0658ea04795e + codeSamplesRevisionDigest: sha256:cfc22296d1924bcf0b30acd3da13dede0b2a715aca7f9a58fee37a7abac416e3 workflow: workflowVersion: 1.0.0 speakeasyVersion: 1.763.6 diff --git a/README.md b/README.md index 69492af6f..e58049066 100644 --- a/README.md +++ b/README.md @@ -517,6 +517,7 @@ print(res.choices[0].message.content) * [list](docs/sdks/connectors/README.md#list) - List all connectors. * [get_auth_url](docs/sdks/connectors/README.md#get_auth_url) - Get the auth URL for a connector. * [share](docs/sdks/connectors/README.md#share) - Share a private connector to the current workspace. +* [unshare](docs/sdks/connectors/README.md#unshare) - Unshare a connector from the current workspace. * [activate_for_organization](docs/sdks/connectors/README.md#activate_for_organization) - Activate a connector for an organization. * [deactivate_for_organization](docs/sdks/connectors/README.md#deactivate_for_organization) - Deactivate a connector for an organization. * [activate_for_workspace](docs/sdks/connectors/README.md#activate_for_workspace) - Activate a connector for a workspace. @@ -1093,8 +1094,8 @@ 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 158 of 255 methods.* -* [`ObservabilityError`](./src/mistralai/client/errors/observabilityerror.py): Bad Request - Invalid request parameters or data. Applicable to 57 of 255 methods.* +* [`HTTPValidationError`](./src/mistralai/client/errors/httpvalidationerror.py): Validation Error. Status code `422`. Applicable to 159 of 256 methods.* +* [`ObservabilityError`](./src/mistralai/client/errors/observabilityerror.py): Bad Request - Invalid request parameters or data. Applicable to 57 of 256 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 b6a00c11b..87b5b8a37 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -778,4 +778,14 @@ Based on: ### Generated - [python v2.7.1] . ### Releases -- [PyPI v2.7.1] https://pypi.org/project/mistralai/2.7.1 - . \ No newline at end of file +- [PyPI v2.7.1] https://pypi.org/project/mistralai/2.7.1 - . + +## 2026-07-24 11:25:36 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.763.6 (2.884.13) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v2.7.2] . +### Releases +- [PyPI v2.7.2] https://pypi.org/project/mistralai/2.7.2 - . \ No newline at end of file diff --git a/docs/models/basemodelcard.md b/docs/models/basemodelcard.md index 2a5e7515a..6a90ef9a9 100644 --- a/docs/models/basemodelcard.md +++ b/docs/models/basemodelcard.md @@ -17,4 +17,5 @@ | `deprecation` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | N/A | | `deprecation_replacement_model` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | `default_model_temperature` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | +| `internal` | *Optional[bool]* | :heavy_minus_sign: | N/A | | `type` | *Literal["base"]* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/connector.md b/docs/models/connector.md index f48b92656..c5022a1f8 100644 --- a/docs/models/connector.md +++ b/docs/models/connector.md @@ -16,7 +16,7 @@ | `icon_url` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | `server_card` | [OptionalNullable[models.MCPServerCard]](../models/mcpservercard.md) | :heavy_minus_sign: | N/A | | `owner_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | -| `owner_type` | [models.ResourceType](../models/resourcetype.md) | :heavy_check_mark: | N/A | +| `owner_type` | [models.ConsumerType](../models/consumertype.md) | :heavy_check_mark: | N/A | | `visibility` | [models.ResourceVisibility](../models/resourcevisibility.md) | :heavy_check_mark: | N/A | | `creator_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | `locale` | [OptionalNullable[models.ConnectorLocale]](../models/connectorlocale.md) | :heavy_minus_sign: | N/A | diff --git a/docs/models/connectorunsharev1request.md b/docs/models/connectorunsharev1request.md new file mode 100644 index 000000000..ec3a8f369 --- /dev/null +++ b/docs/models/connectorunsharev1request.md @@ -0,0 +1,8 @@ +# ConnectorUnshareV1Request + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `connector_id` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/createconnectorrequest.md b/docs/models/createconnectorrequest.md index d9fc61a30..50f25f26b 100644 --- a/docs/models/createconnectorrequest.md +++ b/docs/models/createconnectorrequest.md @@ -1,16 +1,22 @@ # CreateConnectorRequest +Public create schema for MCP connectors. + +Standalone model that excludes internal-only fields (``hosted_internally``, +``mistral_integration``, ``private_tool_execution``, ``auth_scheme``, ``locale``, +``github_app_data``) and restricts visibility to :class:`PublicResourceVisibility` +(no ``shared_global``). + ## Fields | Field | Type | Required | Description | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `protocol` | *Optional[Literal["mcp"]]* | :heavy_minus_sign: | N/A | | `name` | *str* | :heavy_check_mark: | The name of the connector. Should be 64 char length maximum, alphanumeric, only underscores/dashes. | | `title` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional human-readable title for the connector. | | `description` | *str* | :heavy_check_mark: | The description of the connector. | | `icon_url` | *OptionalNullable[str]* | :heavy_minus_sign: | The optional url of the icon you want to associate to the connector. | -| `visibility` | [Optional[models.ResourceVisibility]](../models/resourcevisibility.md) | :heavy_minus_sign: | N/A | +| `visibility` | [Optional[models.PublicResourceVisibility]](../models/publicresourcevisibility.md) | :heavy_minus_sign: | Visibility options available to public API callers.

Excludes ``shared_global`` which is reserved for system-owned connectors. | | `server` | *str* | :heavy_check_mark: | The url of the MCP server. | | `headers` | Dict[str, *Any*] | :heavy_minus_sign: | Optional organization-level headers to be sent with the request to the mcp server. | | `auth_data` | [OptionalNullable[models.AuthData]](../models/authdata.md) | :heavy_minus_sign: | Optional additional authentication data for the connector. | diff --git a/docs/models/deploymentdetailresponse.md b/docs/models/deploymentdetailresponse.md index e9eb9d6f7..48e4f07fc 100644 --- a/docs/models/deploymentdetailresponse.md +++ b/docs/models/deploymentdetailresponse.md @@ -12,5 +12,8 @@ | `created_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | When the deployment was first registered | | `updated_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | When the deployment was last updated | | `location` | [OptionalNullable[models.DeploymentLocation]](../models/deploymentlocation.md) | :heavy_minus_sign: | Where the deployment is running | +| `worker_count` | *Optional[int]* | :heavy_minus_sign: | Number of workers registered to the deployment | +| `active_worker_count` | *Optional[int]* | :heavy_minus_sign: | Number of workers currently live within the liveness cutoff | +| `locations` | List[[models.LocationType](../models/locationtype.md)] | :heavy_minus_sign: | Distinct location types reported by the deployment's workers | | `managed` | [OptionalNullable[models.ManagedDeploymentResponse]](../models/manageddeploymentresponse.md) | :heavy_minus_sign: | Live managed service state for managed deployments; null for self-hosted deployments or when managed services are unavailable | | `workers` | List[[models.DeploymentWorkerResponse](../models/deploymentworkerresponse.md)] | :heavy_check_mark: | Workers registered for the deployment | \ No newline at end of file diff --git a/docs/models/deploymentresponse.md b/docs/models/deploymentresponse.md index 4369a71ca..cabf9f8d6 100644 --- a/docs/models/deploymentresponse.md +++ b/docs/models/deploymentresponse.md @@ -12,4 +12,7 @@ | `created_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | When the deployment was first registered | | `updated_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | When the deployment was last updated | | `location` | [OptionalNullable[models.DeploymentLocation]](../models/deploymentlocation.md) | :heavy_minus_sign: | Where the deployment is running | +| `worker_count` | *Optional[int]* | :heavy_minus_sign: | Number of workers registered to the deployment | +| `active_worker_count` | *Optional[int]* | :heavy_minus_sign: | Number of workers currently live within the liveness cutoff | +| `locations` | List[[models.LocationType](../models/locationtype.md)] | :heavy_minus_sign: | Distinct location types reported by the deployment's workers | | `managed` | [OptionalNullable[models.ManagedDeploymentResponse]](../models/manageddeploymentresponse.md) | :heavy_minus_sign: | Live managed service state for managed deployments; null for self-hosted deployments or when managed services are unavailable | \ No newline at end of file diff --git a/docs/models/deploymentworkerresponse.md b/docs/models/deploymentworkerresponse.md index afdcca834..f008cdb11 100644 --- a/docs/models/deploymentworkerresponse.md +++ b/docs/models/deploymentworkerresponse.md @@ -3,9 +3,10 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -| `name` | *str* | :heavy_check_mark: | Worker name | -| `created_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | When the worker first registered | -| `updated_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | When the worker last registered | -| `is_active` | *bool* | :heavy_check_mark: | Whether this worker's liveness key is currently alive | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | +| `name` | *str* | :heavy_check_mark: | Worker name | +| `created_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | When the worker first registered | +| `updated_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | When the worker last registered | +| `is_active` | *bool* | :heavy_check_mark: | Whether this worker's liveness key is currently alive | +| `location` | [OptionalNullable[models.DeploymentLocation]](../models/deploymentlocation.md) | :heavy_minus_sign: | Where the worker is running; null if the worker did not report a location | \ No newline at end of file diff --git a/docs/models/ftmodelcard.md b/docs/models/ftmodelcard.md index f65ff6e88..e1be2c626 100644 --- a/docs/models/ftmodelcard.md +++ b/docs/models/ftmodelcard.md @@ -19,6 +19,7 @@ Extra fields for fine-tuned models. | `deprecation` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | N/A | | `deprecation_replacement_model` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | `default_model_temperature` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | +| `internal` | *Optional[bool]* | :heavy_minus_sign: | N/A | | `type` | *Literal["fine-tuned"]* | :heavy_check_mark: | N/A | | `job` | *str* | :heavy_check_mark: | N/A | | `root` | *str* | :heavy_check_mark: | N/A | diff --git a/docs/models/listrunsv1workflowsrunsgetrequest.md b/docs/models/listrunsv1workflowsrunsgetrequest.md index 258f585f2..8238bdc5b 100644 --- a/docs/models/listrunsv1workflowsrunsgetrequest.md +++ b/docs/models/listrunsv1workflowsrunsgetrequest.md @@ -3,21 +3,22 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -| `workflow_identifier` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter by workflow name or id | -| `root_execution_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter by root execution id; returns the whole execution tree (the root and all its descendant sub-workflows). | -| `search` | *OptionalNullable[str]* | :heavy_minus_sign: | Search by workflow name, display name, or ID | -| `status` | [OptionalNullable[models.ListRunsV1WorkflowsRunsGetStatus]](../models/listrunsv1workflowsrunsgetstatus.md) | :heavy_minus_sign: | Filter by workflow status | -| `deployment_name` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter by deployment name | -| `sort_by` | [OptionalNullable[models.SortBy]](../models/sortby.md) | :heavy_minus_sign: | Field to sort by | -| `order` | [Optional[models.ListRunsV1WorkflowsRunsGetOrder]](../models/listrunsv1workflowsrunsgetorder.md) | :heavy_minus_sign: | Sort direction | -| `start_time_after` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Include runs with start_time >= value | -| `start_time_before` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Include runs with start_time <= value | -| `end_time_after` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Include runs with end_time >= value. Running executions (no end_time) are excluded; use the status filter to include them. | -| `end_time_before` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Include runs with end_time <= value. Running executions (no end_time) are excluded; use the status filter to include them. | -| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter by user id. Use 'current' to filter by the authenticated user | -| `workflow_tags` | List[*str*] | :heavy_minus_sign: | Filter to runs of workflows tagged with all listed tags (AND). | -| `include_internal` | *Optional[bool]* | :heavy_minus_sign: | Include runs of internal/technical workflows (e.g. parallel-execution) | -| `page_size` | *Optional[int]* | :heavy_minus_sign: | Number of items per page | -| `next_page_token` | *OptionalNullable[str]* | :heavy_minus_sign: | Token for the next page of results | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `workflow_identifier` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter by workflow name or id | +| `root_execution_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter by root execution id; returns the whole execution tree (the root and all its descendant sub-workflows). | +| `search` | *OptionalNullable[str]* | :heavy_minus_sign: | Search by workflow name, display name, or ID | +| `status` | [OptionalNullable[models.ListRunsV1WorkflowsRunsGetStatus]](../models/listrunsv1workflowsrunsgetstatus.md) | :heavy_minus_sign: | Filter by workflow status | +| `deployment_name` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter by deployment name | +| `sort_by` | [OptionalNullable[models.SortBy]](../models/sortby.md) | :heavy_minus_sign: | Field to sort by | +| `order` | [Optional[models.ListRunsV1WorkflowsRunsGetOrder]](../models/listrunsv1workflowsrunsgetorder.md) | :heavy_minus_sign: | Sort direction | +| `start_time_after` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Include runs with start_time >= value | +| `start_time_before` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Include runs with start_time <= value | +| `end_time_after` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Include runs with end_time >= value. Running executions (no end_time) are excluded; use the status filter to include them. | +| `end_time_before` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Include runs with end_time <= value. Running executions (no end_time) are excluded; use the status filter to include them. | +| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter by user id. Use 'current' to filter by the authenticated user | +| `workflow_tags` | List[*str*] | :heavy_minus_sign: | Filter to runs of workflows tagged with all listed tags (AND). | +| `include_internal` | *Optional[bool]* | :heavy_minus_sign: | Include runs of internal/technical workflows (e.g. parallel-execution) | +| `page_size` | *Optional[int]* | :heavy_minus_sign: | Number of items per page | +| `next_page_token` | *OptionalNullable[str]* | :heavy_minus_sign: | Token for the next page of results | +| `search_key` | List[*str*] | :heavy_minus_sign: | Filter executions by search key as repeated 'key:value' entries. Each entry matches an exact key and a similar value; multiple entries are AND'd together (max 3). | \ No newline at end of file diff --git a/docs/models/publicresourcevisibility.md b/docs/models/publicresourcevisibility.md new file mode 100644 index 000000000..75496abe9 --- /dev/null +++ b/docs/models/publicresourcevisibility.md @@ -0,0 +1,19 @@ +# PublicResourceVisibility + +Visibility options available to public API callers. + +Excludes ``shared_global`` which is reserved for system-owned connectors. + +## Example Usage + +```python +from mistralai.client.models import PublicResourceVisibility +value: PublicResourceVisibility = "shared_org" +``` + + +## Values + +- `"shared_org"` +- `"shared_workspace"` +- `"private"` diff --git a/docs/models/resourcetype.md b/docs/models/resourcetype.md deleted file mode 100644 index 047f96bb1..000000000 --- a/docs/models/resourcetype.md +++ /dev/null @@ -1,20 +0,0 @@ -# ResourceType - -## Example Usage - -```python -from mistralai.client.models import ResourceType - -# Open enum: unrecognized values are captured as UnrecognizedInt -value: ResourceType = 1 -``` - - -## Values - -This is an open enum. Unrecognized values will not fail type checks. - -- `1` -- `2` -- `3` -- `4` diff --git a/docs/sdks/connectors/README.md b/docs/sdks/connectors/README.md index 01aa4276e..6c0c1efc7 100644 --- a/docs/sdks/connectors/README.md +++ b/docs/sdks/connectors/README.md @@ -10,6 +10,7 @@ * [list](#list) - List all connectors. * [get_auth_url](#get_auth_url) - Get the auth URL for a connector. * [share](#share) - Share a private connector to the current workspace. +* [unshare](#unshare) - Unshare a connector from the current workspace. * [activate_for_organization](#activate_for_organization) - Activate a connector for an organization. * [deactivate_for_organization](#deactivate_for_organization) - Deactivate a connector for an organization. * [activate_for_workspace](#activate_for_workspace) - Activate a connector for a workspace. @@ -65,7 +66,7 @@ with Mistral( | `server` | *str* | :heavy_check_mark: | The url of the MCP server. | | `title` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional human-readable title for the connector. | | `icon_url` | *OptionalNullable[str]* | :heavy_minus_sign: | The optional url of the icon you want to associate to the connector. | -| `visibility` | [Optional[models.ResourceVisibility]](../../models/resourcevisibility.md) | :heavy_minus_sign: | N/A | +| `visibility` | [Optional[models.PublicResourceVisibility]](../../models/publicresourcevisibility.md) | :heavy_minus_sign: | Visibility options available to public API callers.

Excludes ``shared_global`` which is reserved for system-owned connectors. | | `headers` | Dict[str, *Any*] | :heavy_minus_sign: | Optional organization-level headers to be sent with the request to the mcp server. | | `auth_data` | [OptionalNullable[models.AuthData]](../../models/authdata.md) | :heavy_minus_sign: | Optional additional authentication data for the connector. | | `oauth2_server_metadata` | [OptionalNullable[models.ExtendedOAuthServerMetadata]](../../models/extendedoauthservermetadata.md) | :heavy_minus_sign: | Optional OAuth2 authorization server metadata (authorization_endpoint, token_endpoint, etc.). When provided, skips .well-known discovery and uses these endpoints directly. | @@ -174,7 +175,7 @@ with Mistral( ## share -Transfers ownership of a private user-owned connector to the current workspace, making it available to all workspace members. This action is irreversible: once shared, the connector belongs to the workspace and can no longer be used privately across other workspaces. Any authentication flows that rely on the original owner's identity (e.g. OAuth on-behalf-of) will be affected and must be reconfigured after sharing. Only the connector's creator can call this endpoint. Requires the ShareConnectorToWorkspace workspace permission. +Transfers ownership of a private user-owned connector to the current workspace, making it available to all workspace members. The creator can later revert this via the unshare endpoint. Any authentication flows that rely on the original owner's identity (e.g. OAuth on-behalf-of) will be affected and must be reconfigured after sharing. Only the connector's creator can call this endpoint. Requires the ShareConnectorToWorkspace workspace permission. ### Example Usage @@ -213,6 +214,47 @@ with Mistral( | errors.HTTPValidationError | 422 | application/json | | errors.SDKError | 4XX, 5XX | \*/\* | +## unshare + +Reverts a workspace-shared connector back to a private, creator-owned connector. Workspace-scoped connections and other members' connections are removed; the creator's own connection is preserved. Only the connector's creator can call this endpoint. Requires the ShareConnectorToWorkspace workspace permission. + +### Example Usage + + +```python +from mistralai.client import Mistral +import os + + +with Mistral( + api_key=os.getenv("MISTRAL_API_KEY", ""), +) as mistral: + + res = mistral.beta.connectors.unshare(connector_id="d5bd99ac-c46d-43bb-835c-cb4833bf101d") + + # Handle response + print(res) + +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `connector_id` | *str* | :heavy_check_mark: | N/A | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | + +### Response + +**[models.MessageResponse](../../models/messageresponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| errors.HTTPValidationError | 422 | application/json | +| errors.SDKError | 4XX, 5XX | \*/\* | + ## activate_for_organization Enable a connector at the organization level so all members can use it. diff --git a/docs/sdks/runs/README.md b/docs/sdks/runs/README.md index c9c32d819..66a407748 100644 --- a/docs/sdks/runs/README.md +++ b/docs/sdks/runs/README.md @@ -35,25 +35,26 @@ with Mistral( ### Parameters -| Parameter | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -| `workflow_identifier` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter by workflow name or id | -| `root_execution_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter by root execution id; returns the whole execution tree (the root and all its descendant sub-workflows). | -| `search` | *OptionalNullable[str]* | :heavy_minus_sign: | Search by workflow name, display name, or ID | -| `status` | [OptionalNullable[models.ListRunsV1WorkflowsRunsGetStatus]](../../models/listrunsv1workflowsrunsgetstatus.md) | :heavy_minus_sign: | Filter by workflow status | -| `deployment_name` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter by deployment name | -| `sort_by` | [OptionalNullable[models.SortBy]](../../models/sortby.md) | :heavy_minus_sign: | Field to sort by | -| `order` | [Optional[models.ListRunsV1WorkflowsRunsGetOrder]](../../models/listrunsv1workflowsrunsgetorder.md) | :heavy_minus_sign: | Sort direction | -| `start_time_after` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Include runs with start_time >= value | -| `start_time_before` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Include runs with start_time <= value | -| `end_time_after` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Include runs with end_time >= value. Running executions (no end_time) are excluded; use the status filter to include them. | -| `end_time_before` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Include runs with end_time <= value. Running executions (no end_time) are excluded; use the status filter to include them. | -| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter by user id. Use 'current' to filter by the authenticated user | -| `workflow_tags` | List[*str*] | :heavy_minus_sign: | Filter to runs of workflows tagged with all listed tags (AND). | -| `include_internal` | *Optional[bool]* | :heavy_minus_sign: | Include runs of internal/technical workflows (e.g. parallel-execution) | -| `page_size` | *Optional[int]* | :heavy_minus_sign: | Number of items per page | -| `next_page_token` | *OptionalNullable[str]* | :heavy_minus_sign: | Token for the next page of results | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `workflow_identifier` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter by workflow name or id | +| `root_execution_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter by root execution id; returns the whole execution tree (the root and all its descendant sub-workflows). | +| `search` | *OptionalNullable[str]* | :heavy_minus_sign: | Search by workflow name, display name, or ID | +| `status` | [OptionalNullable[models.ListRunsV1WorkflowsRunsGetStatus]](../../models/listrunsv1workflowsrunsgetstatus.md) | :heavy_minus_sign: | Filter by workflow status | +| `deployment_name` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter by deployment name | +| `sort_by` | [OptionalNullable[models.SortBy]](../../models/sortby.md) | :heavy_minus_sign: | Field to sort by | +| `order` | [Optional[models.ListRunsV1WorkflowsRunsGetOrder]](../../models/listrunsv1workflowsrunsgetorder.md) | :heavy_minus_sign: | Sort direction | +| `start_time_after` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Include runs with start_time >= value | +| `start_time_before` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Include runs with start_time <= value | +| `end_time_after` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Include runs with end_time >= value. Running executions (no end_time) are excluded; use the status filter to include them. | +| `end_time_before` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Include runs with end_time <= value. Running executions (no end_time) are excluded; use the status filter to include them. | +| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter by user id. Use 'current' to filter by the authenticated user | +| `workflow_tags` | List[*str*] | :heavy_minus_sign: | Filter to runs of workflows tagged with all listed tags (AND). | +| `include_internal` | *Optional[bool]* | :heavy_minus_sign: | Include runs of internal/technical workflows (e.g. parallel-execution) | +| `page_size` | *Optional[int]* | :heavy_minus_sign: | Number of items per page | +| `next_page_token` | *OptionalNullable[str]* | :heavy_minus_sign: | Token for the next page of results | +| `search_key` | List[*str*] | :heavy_minus_sign: | Filter executions by search key as repeated 'key:value' entries. Each entry matches an exact key and a similar value; multiple entries are AND'd together (max 3). | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response diff --git a/src/mistralai/client/_version.py b/src/mistralai/client/_version.py index 48606bf30..e92bde75a 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.7.1" +__version__: str = "2.7.2" __openapi_doc_version__: str = "1.0.0" __gen_version__: str = "2.884.13" -__user_agent__: str = "speakeasy-sdk/python 2.7.1 2.884.13 1.0.0 mistralai" +__user_agent__: str = "speakeasy-sdk/python 2.7.2 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 e3ba3797e..53bac05cc 100644 --- a/src/mistralai/client/connectors.py +++ b/src/mistralai/client/connectors.py @@ -21,7 +21,7 @@ def create( server: str, title: OptionalNullable[str] = UNSET, icon_url: OptionalNullable[str] = UNSET, - visibility: Optional[models.ResourceVisibility] = None, + visibility: Optional[models.PublicResourceVisibility] = None, headers: OptionalNullable[Dict[str, Any]] = UNSET, auth_data: OptionalNullable[ Union[models.AuthData, models.AuthDataTypedDict] @@ -48,7 +48,9 @@ def create( :param server: The url of the MCP server. :param title: Optional human-readable title for the connector. :param icon_url: The optional url of the icon you want to associate to the connector. - :param visibility: + :param visibility: Visibility options available to public API callers. + + Excludes ``shared_global`` which is reserved for system-owned connectors. :param headers: Optional organization-level headers to be sent with the request to the mcp server. :param auth_data: Optional additional authentication data for the connector. :param oauth2_server_metadata: Optional OAuth2 authorization server metadata (authorization_endpoint, token_endpoint, etc.). When provided, skips .well-known discovery and uses these endpoints directly. @@ -159,7 +161,7 @@ async def create_async( server: str, title: OptionalNullable[str] = UNSET, icon_url: OptionalNullable[str] = UNSET, - visibility: Optional[models.ResourceVisibility] = None, + visibility: Optional[models.PublicResourceVisibility] = None, headers: OptionalNullable[Dict[str, Any]] = UNSET, auth_data: OptionalNullable[ Union[models.AuthData, models.AuthDataTypedDict] @@ -186,7 +188,9 @@ async def create_async( :param server: The url of the MCP server. :param title: Optional human-readable title for the connector. :param icon_url: The optional url of the icon you want to associate to the connector. - :param visibility: + :param visibility: Visibility options available to public API callers. + + Excludes ``shared_global`` which is reserved for system-owned connectors. :param headers: Optional organization-level headers to be sent with the request to the mcp server. :param auth_data: Optional additional authentication data for the connector. :param oauth2_server_metadata: Optional OAuth2 authorization server metadata (authorization_endpoint, token_endpoint, etc.). When provided, skips .well-known discovery and uses these endpoints directly. @@ -716,7 +720,7 @@ def share( ) -> models.MessageResponse: r"""Share a private connector to the current workspace. - Transfers ownership of a private user-owned connector to the current workspace, making it available to all workspace members. This action is irreversible: once shared, the connector belongs to the workspace and can no longer be used privately across other workspaces. Any authentication flows that rely on the original owner's identity (e.g. OAuth on-behalf-of) will be affected and must be reconfigured after sharing. Only the connector's creator can call this endpoint. Requires the ShareConnectorToWorkspace workspace permission. + Transfers ownership of a private user-owned connector to the current workspace, making it available to all workspace members. The creator can later revert this via the unshare endpoint. Any authentication flows that rely on the original owner's identity (e.g. OAuth on-behalf-of) will be affected and must be reconfigured after sharing. Only the connector's creator can call this endpoint. Requires the ShareConnectorToWorkspace workspace permission. :param connector_id: :param retries: Override the default retry configuration for this method @@ -809,7 +813,7 @@ async def share_async( ) -> models.MessageResponse: r"""Share a private connector to the current workspace. - Transfers ownership of a private user-owned connector to the current workspace, making it available to all workspace members. This action is irreversible: once shared, the connector belongs to the workspace and can no longer be used privately across other workspaces. Any authentication flows that rely on the original owner's identity (e.g. OAuth on-behalf-of) will be affected and must be reconfigured after sharing. Only the connector's creator can call this endpoint. Requires the ShareConnectorToWorkspace workspace permission. + Transfers ownership of a private user-owned connector to the current workspace, making it available to all workspace members. The creator can later revert this via the unshare endpoint. Any authentication flows that rely on the original owner's identity (e.g. OAuth on-behalf-of) will be affected and must be reconfigured after sharing. Only the connector's creator can call this endpoint. Requires the ShareConnectorToWorkspace workspace permission. :param connector_id: :param retries: Override the default retry configuration for this method @@ -891,6 +895,192 @@ async def share_async( raise errors.SDKError("Unexpected response received", http_res) + def unshare( + self, + *, + connector_id: str, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.MessageResponse: + r"""Unshare a connector from the current workspace. + + Reverts a workspace-shared connector back to a private, creator-owned connector. Workspace-scoped connections and other members' connections are removed; the creator's own connection is preserved. Only the connector's creator can call this endpoint. Requires the ShareConnectorToWorkspace workspace permission. + + :param connector_id: + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if timeout_ms is None: + timeout_ms = 300000 + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + request = models.ConnectorUnshareV1Request( + connector_id=connector_id, + ) + + req = self._build_request( + method="DELETE", + path="/v1/connectors/{connector_id}/share", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=False, + request_has_path_params=True, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + allow_empty_value=None, + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["429", "500", "502", "503", "504"]) + + http_res = self.do_request( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="connector_unshare_v1", + oauth2_scopes=None, + security_source=get_security_from_env( + self.sdk_configuration.security, models.Security + ), + ), + request=req, + is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), + retry_config=retry_config, + ) + + response_data: Any = None + if utils.match_response(http_res, "200", "application/json"): + return unmarshal_json_response(models.MessageResponse, 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) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = utils.stream_to_text(http_res) + raise errors.SDKError("API error occurred", http_res, http_res_text) + + raise errors.SDKError("Unexpected response received", http_res) + + async def unshare_async( + self, + *, + connector_id: str, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.MessageResponse: + r"""Unshare a connector from the current workspace. + + Reverts a workspace-shared connector back to a private, creator-owned connector. Workspace-scoped connections and other members' connections are removed; the creator's own connection is preserved. Only the connector's creator can call this endpoint. Requires the ShareConnectorToWorkspace workspace permission. + + :param connector_id: + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if timeout_ms is None: + timeout_ms = 300000 + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + request = models.ConnectorUnshareV1Request( + connector_id=connector_id, + ) + + req = self._build_request_async( + method="DELETE", + path="/v1/connectors/{connector_id}/share", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=False, + request_has_path_params=True, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + allow_empty_value=None, + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["429", "500", "502", "503", "504"]) + + http_res = await self.do_request_async( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="connector_unshare_v1", + oauth2_scopes=None, + security_source=get_security_from_env( + self.sdk_configuration.security, models.Security + ), + ), + request=req, + is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), + retry_config=retry_config, + ) + + response_data: Any = None + if utils.match_response(http_res, "200", "application/json"): + return unmarshal_json_response(models.MessageResponse, 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) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = await utils.stream_to_text_async(http_res) + raise errors.SDKError("API error occurred", http_res, http_res_text) + + raise errors.SDKError("Unexpected response received", http_res) + def activate_for_organization( self, *, diff --git a/src/mistralai/client/models/__init__.py b/src/mistralai/client/models/__init__.py index 50010ba8a..fcca02ee5 100644 --- a/src/mistralai/client/models/__init__.py +++ b/src/mistralai/client/models/__init__.py @@ -477,6 +477,10 @@ ConnectorShareV1Request, ConnectorShareV1RequestTypedDict, ) + from .connector_unshare_v1op import ( + ConnectorUnshareV1Request, + ConnectorUnshareV1RequestTypedDict, + ) from .connector_update_v1op import ( ConnectorUpdateV1Request, ConnectorUpdateV1RequestTypedDict, @@ -1885,6 +1889,7 @@ PublicExecutionConnectorTypedDict, ) from .publicexecutionenv import PublicExecutionEnv, PublicExecutionEnvTypedDict + from .publicresourcevisibility import PublicResourceVisibility from .query_workflow_execution_v1_workflows_executions_execution_id_queries_postop import ( QueryWorkflowExecutionV1WorkflowsExecutionsExecutionIDQueriesPostRequest, QueryWorkflowExecutionV1WorkflowsExecutionsExecutionIDQueriesPostRequestTypedDict, @@ -1981,7 +1986,6 @@ from .resetinvocationbody import ResetInvocationBody, ResetInvocationBodyTypedDict from .resourcelink import ResourceLink, ResourceLinkTypedDict from .resourcescapability import ResourcesCapability, ResourcesCapabilityTypedDict - from .resourcetype import ResourceType from .resourcevisibility import ResourceVisibility from .responsedoneevent import ResponseDoneEvent, ResponseDoneEventTypedDict from .responseerrorevent import ResponseErrorEvent, ResponseErrorEventTypedDict @@ -3144,6 +3148,8 @@ "ConnectorToolResultMetadataTypedDict", "ConnectorToolTypedDict", "ConnectorTypedDict", + "ConnectorUnshareV1Request", + "ConnectorUnshareV1RequestTypedDict", "ConnectorUpdateV1Request", "ConnectorUpdateV1RequestTypedDict", "ConnectorsQueryFilters", @@ -4100,6 +4106,7 @@ "PublicExecutionConnectorTypedDict", "PublicExecutionEnv", "PublicExecutionEnvTypedDict", + "PublicResourceVisibility", "QueryDefinition", "QueryDefinitionTypedDict", "QueryInvocationBody", @@ -4163,7 +4170,6 @@ "Resource", "ResourceLink", "ResourceLinkTypedDict", - "ResourceType", "ResourceTypedDict", "ResourceVisibility", "Resources", @@ -5069,6 +5075,8 @@ "ConnectorListWorkspaceCredentialsV1RequestTypedDict": ".connector_list_workspace_credentials_v1op", "ConnectorShareV1Request": ".connector_share_v1op", "ConnectorShareV1RequestTypedDict": ".connector_share_v1op", + "ConnectorUnshareV1Request": ".connector_unshare_v1op", + "ConnectorUnshareV1RequestTypedDict": ".connector_unshare_v1op", "ConnectorUpdateV1Request": ".connector_update_v1op", "ConnectorUpdateV1RequestTypedDict": ".connector_update_v1op", "ConnectorAuthenticationHeader": ".connectorauthenticationheader", @@ -6067,6 +6075,7 @@ "PublicExecutionConnectorTypedDict": ".publicexecutionconnector", "PublicExecutionEnv": ".publicexecutionenv", "PublicExecutionEnvTypedDict": ".publicexecutionenv", + "PublicResourceVisibility": ".publicresourcevisibility", "QueryWorkflowExecutionV1WorkflowsExecutionsExecutionIDQueriesPostRequest": ".query_workflow_execution_v1_workflows_executions_execution_id_queries_postop", "QueryWorkflowExecutionV1WorkflowsExecutionsExecutionIDQueriesPostRequestTypedDict": ".query_workflow_execution_v1_workflows_executions_execution_id_queries_postop", "QueryDefinition": ".querydefinition", @@ -6127,7 +6136,6 @@ "ResourceLinkTypedDict": ".resourcelink", "ResourcesCapability": ".resourcescapability", "ResourcesCapabilityTypedDict": ".resourcescapability", - "ResourceType": ".resourcetype", "ResourceVisibility": ".resourcevisibility", "ResponseDoneEvent": ".responsedoneevent", "ResponseDoneEventTypedDict": ".responsedoneevent", diff --git a/src/mistralai/client/models/basemodelcard.py b/src/mistralai/client/models/basemodelcard.py index bb3c99ddb..6ffc8781b 100644 --- a/src/mistralai/client/models/basemodelcard.py +++ b/src/mistralai/client/models/basemodelcard.py @@ -35,6 +35,7 @@ class BaseModelCardTypedDict(TypedDict): deprecation: NotRequired[Nullable[datetime]] deprecation_replacement_model: NotRequired[Nullable[str]] default_model_temperature: NotRequired[Nullable[float]] + internal: NotRequired[bool] type: Literal["base"] @@ -66,6 +67,8 @@ class BaseModelCard(BaseModel): default_model_temperature: OptionalNullable[float] = UNSET + internal: Optional[bool] = False + type: Annotated[ Annotated[Literal["base"], AfterValidator(validate_const("base"))], pydantic.Field(alias="type"), @@ -85,6 +88,7 @@ def serialize_model(self, handler): "deprecation", "deprecation_replacement_model", "default_model_temperature", + "internal", ] ) nullable_fields = set( diff --git a/src/mistralai/client/models/connector.py b/src/mistralai/client/models/connector.py index b6bea70ed..3e208f73b 100644 --- a/src/mistralai/client/models/connector.py +++ b/src/mistralai/client/models/connector.py @@ -10,6 +10,7 @@ from .connectorlocale import ConnectorLocale, ConnectorLocaleTypedDict from .connectorprotocol import ConnectorProtocol from .connectortool import ConnectorTool, ConnectorToolTypedDict +from .consumertype import ConsumerType from .mcpservercard import MCPServerCard, MCPServerCardTypedDict from .publicauthenticationmethod import ( PublicAuthenticationMethod, @@ -20,7 +21,6 @@ PublicConnectionConfigTypedDict, ) from .publicexecutionenv import PublicExecutionEnv, PublicExecutionEnvTypedDict -from .resourcetype import ResourceType from .resourcevisibility import ResourceVisibility from datetime import datetime from mistralai.client.types import ( @@ -41,7 +41,7 @@ class ConnectorTypedDict(TypedDict): description: str created_at: datetime modified_at: datetime - owner_type: ResourceType + owner_type: ConsumerType visibility: ResourceVisibility private_tool_execution: bool title: NotRequired[Nullable[str]] @@ -80,7 +80,7 @@ class Connector(BaseModel): modified_at: datetime - owner_type: ResourceType + owner_type: ConsumerType visibility: ResourceVisibility diff --git a/src/mistralai/client/models/connector_unshare_v1op.py b/src/mistralai/client/models/connector_unshare_v1op.py new file mode 100644 index 000000000..936fcb386 --- /dev/null +++ b/src/mistralai/client/models/connector_unshare_v1op.py @@ -0,0 +1,17 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: 03a76840486f + +from __future__ import annotations +from mistralai.client.types import BaseModel +from mistralai.client.utils import FieldMetadata, PathParamMetadata +from typing_extensions import Annotated, TypedDict + + +class ConnectorUnshareV1RequestTypedDict(TypedDict): + connector_id: str + + +class ConnectorUnshareV1Request(BaseModel): + connector_id: Annotated[ + str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) + ] diff --git a/src/mistralai/client/models/createconnectorrequest.py b/src/mistralai/client/models/createconnectorrequest.py index 78e7b6d30..1a403ce31 100644 --- a/src/mistralai/client/models/createconnectorrequest.py +++ b/src/mistralai/client/models/createconnectorrequest.py @@ -7,7 +7,7 @@ ExtendedOAuthServerMetadata, ExtendedOAuthServerMetadataTypedDict, ) -from .resourcevisibility import ResourceVisibility +from .publicresourcevisibility import PublicResourceVisibility from mistralai.client.types import ( BaseModel, Nullable, @@ -15,27 +15,35 @@ UNSET, UNSET_SENTINEL, ) -from mistralai.client.utils import validate_const -import pydantic from pydantic import model_serializer -from pydantic.functional_validators import AfterValidator -from typing import Any, Dict, Literal, Optional -from typing_extensions import Annotated, NotRequired, TypedDict +from typing import Any, Dict, Optional +from typing_extensions import NotRequired, TypedDict class CreateConnectorRequestTypedDict(TypedDict): + r"""Public create schema for MCP connectors. + + Standalone model that excludes internal-only fields (``hosted_internally``, + ``mistral_integration``, ``private_tool_execution``, ``auth_scheme``, ``locale``, + ``github_app_data``) and restricts visibility to :class:`PublicResourceVisibility` + (no ``shared_global``). + """ + name: str r"""The name of the connector. Should be 64 char length maximum, alphanumeric, only underscores/dashes.""" description: str r"""The description of the connector.""" server: str r"""The url of the MCP server.""" - protocol: Literal["mcp"] title: NotRequired[Nullable[str]] r"""Optional human-readable title for the connector.""" icon_url: NotRequired[Nullable[str]] r"""The optional url of the icon you want to associate to the connector.""" - visibility: NotRequired[ResourceVisibility] + visibility: NotRequired[PublicResourceVisibility] + r"""Visibility options available to public API callers. + + Excludes ``shared_global`` which is reserved for system-owned connectors. + """ headers: NotRequired[Nullable[Dict[str, Any]]] r"""Optional organization-level headers to be sent with the request to the mcp server.""" auth_data: NotRequired[Nullable[AuthDataTypedDict]] @@ -49,6 +57,14 @@ class CreateConnectorRequestTypedDict(TypedDict): class CreateConnectorRequest(BaseModel): + r"""Public create schema for MCP connectors. + + Standalone model that excludes internal-only fields (``hosted_internally``, + ``mistral_integration``, ``private_tool_execution``, ``auth_scheme``, ``locale``, + ``github_app_data``) and restricts visibility to :class:`PublicResourceVisibility` + (no ``shared_global``). + """ + name: str r"""The name of the connector. Should be 64 char length maximum, alphanumeric, only underscores/dashes.""" @@ -58,18 +74,17 @@ class CreateConnectorRequest(BaseModel): server: str r"""The url of the MCP server.""" - protocol: Annotated[ - Annotated[Optional[Literal["mcp"]], AfterValidator(validate_const("mcp"))], - pydantic.Field(alias="protocol"), - ] = "mcp" - title: OptionalNullable[str] = UNSET r"""Optional human-readable title for the connector.""" icon_url: OptionalNullable[str] = UNSET r"""The optional url of the icon you want to associate to the connector.""" - visibility: Optional[ResourceVisibility] = None + visibility: Optional[PublicResourceVisibility] = None + r"""Visibility options available to public API callers. + + Excludes ``shared_global`` which is reserved for system-owned connectors. + """ headers: OptionalNullable[Dict[str, Any]] = UNSET r"""Optional organization-level headers to be sent with the request to the mcp server.""" @@ -90,7 +105,6 @@ class CreateConnectorRequest(BaseModel): def serialize_model(self, handler): optional_fields = set( [ - "protocol", "title", "icon_url", "visibility", @@ -132,9 +146,3 @@ def serialize_model(self, handler): m[k] = val return m - - -try: - CreateConnectorRequest.model_rebuild() -except NameError: - pass diff --git a/src/mistralai/client/models/deploymentdetailresponse.py b/src/mistralai/client/models/deploymentdetailresponse.py index 4f3207344..2da9fcb0e 100644 --- a/src/mistralai/client/models/deploymentdetailresponse.py +++ b/src/mistralai/client/models/deploymentdetailresponse.py @@ -7,6 +7,7 @@ DeploymentWorkerResponse, DeploymentWorkerResponseTypedDict, ) +from .locationtype import LocationType from .manageddeploymentresponse import ( ManagedDeploymentResponse, ManagedDeploymentResponseTypedDict, @@ -41,6 +42,12 @@ class DeploymentDetailResponseTypedDict(TypedDict): r"""Whether the deployment has at least one authorized credential""" location: NotRequired[Nullable[DeploymentLocationTypedDict]] r"""Where the deployment is running""" + worker_count: NotRequired[int] + r"""Number of workers registered to the deployment""" + active_worker_count: NotRequired[int] + r"""Number of workers currently live within the liveness cutoff""" + locations: NotRequired[List[LocationType]] + r"""Distinct location types reported by the deployment's workers""" managed: NotRequired[Nullable[ManagedDeploymentResponseTypedDict]] r"""Live managed service state for managed deployments; null for self-hosted deployments or when managed services are unavailable""" @@ -70,12 +77,30 @@ class DeploymentDetailResponse(BaseModel): location: OptionalNullable[DeploymentLocation] = UNSET r"""Where the deployment is running""" + worker_count: Optional[int] = 0 + r"""Number of workers registered to the deployment""" + + active_worker_count: Optional[int] = 0 + r"""Number of workers currently live within the liveness cutoff""" + + locations: Optional[List[LocationType]] = None + r"""Distinct location types reported by the deployment's workers""" + managed: OptionalNullable[ManagedDeploymentResponse] = UNSET r"""Live managed service state for managed deployments; null for self-hosted deployments or when managed services are unavailable""" @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["is_hardened", "location", "managed"]) + optional_fields = set( + [ + "is_hardened", + "location", + "worker_count", + "active_worker_count", + "locations", + "managed", + ] + ) nullable_fields = set(["location", "managed"]) serialized = handler(self) m = {} diff --git a/src/mistralai/client/models/deploymentresponse.py b/src/mistralai/client/models/deploymentresponse.py index 060abb809..c43d77e56 100644 --- a/src/mistralai/client/models/deploymentresponse.py +++ b/src/mistralai/client/models/deploymentresponse.py @@ -3,6 +3,7 @@ from __future__ import annotations from .deploymentlocation import DeploymentLocation, DeploymentLocationTypedDict +from .locationtype import LocationType from .manageddeploymentresponse import ( ManagedDeploymentResponse, ManagedDeploymentResponseTypedDict, @@ -16,7 +17,7 @@ UNSET_SENTINEL, ) from pydantic import model_serializer -from typing import Optional +from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -35,6 +36,12 @@ class DeploymentResponseTypedDict(TypedDict): r"""Whether the deployment has at least one authorized credential""" location: NotRequired[Nullable[DeploymentLocationTypedDict]] r"""Where the deployment is running""" + worker_count: NotRequired[int] + r"""Number of workers registered to the deployment""" + active_worker_count: NotRequired[int] + r"""Number of workers currently live within the liveness cutoff""" + locations: NotRequired[List[LocationType]] + r"""Distinct location types reported by the deployment's workers""" managed: NotRequired[Nullable[ManagedDeploymentResponseTypedDict]] r"""Live managed service state for managed deployments; null for self-hosted deployments or when managed services are unavailable""" @@ -61,12 +68,30 @@ class DeploymentResponse(BaseModel): location: OptionalNullable[DeploymentLocation] = UNSET r"""Where the deployment is running""" + worker_count: Optional[int] = 0 + r"""Number of workers registered to the deployment""" + + active_worker_count: Optional[int] = 0 + r"""Number of workers currently live within the liveness cutoff""" + + locations: Optional[List[LocationType]] = None + r"""Distinct location types reported by the deployment's workers""" + managed: OptionalNullable[ManagedDeploymentResponse] = UNSET r"""Live managed service state for managed deployments; null for self-hosted deployments or when managed services are unavailable""" @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["is_hardened", "location", "managed"]) + optional_fields = set( + [ + "is_hardened", + "location", + "worker_count", + "active_worker_count", + "locations", + "managed", + ] + ) nullable_fields = set(["location", "managed"]) serialized = handler(self) m = {} diff --git a/src/mistralai/client/models/deploymentworkerresponse.py b/src/mistralai/client/models/deploymentworkerresponse.py index 2955dc485..016df73b0 100644 --- a/src/mistralai/client/models/deploymentworkerresponse.py +++ b/src/mistralai/client/models/deploymentworkerresponse.py @@ -2,9 +2,17 @@ # @generated-id: b11a9947bd19 from __future__ import annotations +from .deploymentlocation import DeploymentLocation, DeploymentLocationTypedDict from datetime import datetime -from mistralai.client.types import BaseModel -from typing_extensions import TypedDict +from mistralai.client.types import ( + BaseModel, + Nullable, + OptionalNullable, + UNSET, + UNSET_SENTINEL, +) +from pydantic import model_serializer +from typing_extensions import NotRequired, TypedDict class DeploymentWorkerResponseTypedDict(TypedDict): @@ -16,6 +24,8 @@ class DeploymentWorkerResponseTypedDict(TypedDict): r"""When the worker last registered""" is_active: bool r"""Whether this worker's liveness key is currently alive""" + location: NotRequired[Nullable[DeploymentLocationTypedDict]] + r"""Where the worker is running; null if the worker did not report a location""" class DeploymentWorkerResponse(BaseModel): @@ -30,3 +40,31 @@ class DeploymentWorkerResponse(BaseModel): is_active: bool r"""Whether this worker's liveness key is currently alive""" + + location: OptionalNullable[DeploymentLocation] = UNSET + r"""Where the worker is running; null if the worker did not report a location""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["location"]) + nullable_fields = set(["location"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + is_nullable_and_explicitly_set = ( + k in nullable_fields + and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member + ) + + if val != UNSET_SENTINEL: + if ( + val is not None + or k not in optional_fields + or is_nullable_and_explicitly_set + ): + m[k] = val + + return m diff --git a/src/mistralai/client/models/ftmodelcard.py b/src/mistralai/client/models/ftmodelcard.py index bb7c52c88..8db894994 100644 --- a/src/mistralai/client/models/ftmodelcard.py +++ b/src/mistralai/client/models/ftmodelcard.py @@ -39,6 +39,7 @@ class FTModelCardTypedDict(TypedDict): deprecation: NotRequired[Nullable[datetime]] deprecation_replacement_model: NotRequired[Nullable[str]] default_model_temperature: NotRequired[Nullable[float]] + internal: NotRequired[bool] type: Literal["fine-tuned"] archived: NotRequired[bool] @@ -77,6 +78,8 @@ class FTModelCard(BaseModel): default_model_temperature: OptionalNullable[float] = UNSET + internal: Optional[bool] = False + type: Annotated[ Annotated[Literal["fine-tuned"], AfterValidator(validate_const("fine-tuned"))], pydantic.Field(alias="type"), @@ -98,6 +101,7 @@ def serialize_model(self, handler): "deprecation", "deprecation_replacement_model", "default_model_temperature", + "internal", "archived", ] ) diff --git a/src/mistralai/client/models/list_runs_v1_workflows_runs_getop.py b/src/mistralai/client/models/list_runs_v1_workflows_runs_getop.py index 82bdc027e..48f50bd49 100644 --- a/src/mistralai/client/models/list_runs_v1_workflows_runs_getop.py +++ b/src/mistralai/client/models/list_runs_v1_workflows_runs_getop.py @@ -82,6 +82,8 @@ class ListRunsV1WorkflowsRunsGetRequestTypedDict(TypedDict): r"""Number of items per page""" next_page_token: NotRequired[Nullable[str]] r"""Token for the next page of results""" + search_key: NotRequired[Nullable[List[str]]] + r"""Filter executions by search key as repeated 'key:value' entries. Each entry matches an exact key and a similar value; multiple entries are AND'd together (max 3).""" class ListRunsV1WorkflowsRunsGetRequest(BaseModel): @@ -181,6 +183,12 @@ class ListRunsV1WorkflowsRunsGetRequest(BaseModel): ] = UNSET r"""Token for the next page of results""" + search_key: Annotated[ + OptionalNullable[List[str]], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = UNSET + r"""Filter executions by search key as repeated 'key:value' entries. Each entry matches an exact key and a similar value; multiple entries are AND'd together (max 3).""" + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( @@ -201,6 +209,7 @@ def serialize_model(self, handler): "include_internal", "page_size", "next_page_token", + "search_key", ] ) nullable_fields = set( @@ -218,6 +227,7 @@ def serialize_model(self, handler): "user_id", "workflow_tags", "next_page_token", + "search_key", ] ) serialized = handler(self) diff --git a/src/mistralai/client/models/publicresourcevisibility.py b/src/mistralai/client/models/publicresourcevisibility.py new file mode 100644 index 000000000..10ed98e62 --- /dev/null +++ b/src/mistralai/client/models/publicresourcevisibility.py @@ -0,0 +1,16 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: a11aef93fd11 + +from __future__ import annotations +from typing import Literal + + +PublicResourceVisibility = Literal[ + "shared_org", + "shared_workspace", + "private", +] +r"""Visibility options available to public API callers. + +Excludes ``shared_global`` which is reserved for system-owned connectors. +""" diff --git a/src/mistralai/client/models/resourcetype.py b/src/mistralai/client/models/resourcetype.py deleted file mode 100644 index 435c917c2..000000000 --- a/src/mistralai/client/models/resourcetype.py +++ /dev/null @@ -1,17 +0,0 @@ -"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" -# @generated-id: 58cbbc423f90 - -from __future__ import annotations -from mistralai.client.types import UnrecognizedInt -from typing import Literal, Union - - -ResourceType = Union[ - Literal[ - 1, - 2, - 3, - 4, - ], - UnrecognizedInt, -] diff --git a/src/mistralai/client/runs.py b/src/mistralai/client/runs.py index 28a0ebc6e..2943c0d56 100644 --- a/src/mistralai/client/runs.py +++ b/src/mistralai/client/runs.py @@ -37,6 +37,7 @@ def list_runs( include_internal: Optional[bool] = True, page_size: Optional[int] = 50, next_page_token: OptionalNullable[str] = UNSET, + search_key: OptionalNullable[List[str]] = UNSET, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -60,6 +61,7 @@ def list_runs( :param include_internal: Include runs of internal/technical workflows (e.g. parallel-execution) :param page_size: Number of items per page :param next_page_token: Token for the next page of results + :param search_key: Filter executions by search key as repeated 'key:value' entries. Each entry matches an exact key and a similar value; multiple entries are AND'd together (max 3). :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -95,6 +97,7 @@ def list_runs( include_internal=include_internal, page_size=page_size, next_page_token=next_page_token, + search_key=search_key, ) req = self._build_request( @@ -172,6 +175,7 @@ def next_func() -> Optional[models.ListRunsV1WorkflowsRunsGetResponse]: include_internal=include_internal, page_size=page_size, next_page_token=next_cursor, + search_key=search_key, retries=retries, server_url=server_url, timeout_ms=timeout_ms, @@ -224,6 +228,7 @@ async def list_runs_async( include_internal: Optional[bool] = True, page_size: Optional[int] = 50, next_page_token: OptionalNullable[str] = UNSET, + search_key: OptionalNullable[List[str]] = UNSET, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -247,6 +252,7 @@ async def list_runs_async( :param include_internal: Include runs of internal/technical workflows (e.g. parallel-execution) :param page_size: Number of items per page :param next_page_token: Token for the next page of results + :param search_key: Filter executions by search key as repeated 'key:value' entries. Each entry matches an exact key and a similar value; multiple entries are AND'd together (max 3). :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -282,6 +288,7 @@ async def list_runs_async( include_internal=include_internal, page_size=page_size, next_page_token=next_page_token, + search_key=search_key, ) req = self._build_request_async( @@ -364,6 +371,7 @@ async def empty_result(): include_internal=include_internal, page_size=page_size, next_page_token=next_cursor, + search_key=search_key, retries=retries, server_url=server_url, timeout_ms=timeout_ms, From 062618672422b4d61a709a2e0d0deea7b64e8dc0 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Fri, 24 Jul 2026 11:30:42 +0000 Subject: [PATCH 2/2] chore: align package version files to version 2.7.2 --- pyproject.toml | 2 +- uv.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index d2cd0735c..71fbcd469 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "mistralai" -version = "2.7.1" +version = "2.7.2" description = "Python Client SDK for the Mistral AI API." authors = [{ name = "Mistral" }] requires-python = ">=3.10" diff --git a/uv.lock b/uv.lock index d6f0c558c..345f00ea6 100644 --- a/uv.lock +++ b/uv.lock @@ -1047,7 +1047,7 @@ wheels = [ [[package]] name = "mistralai" -version = "2.7.1" +version = "2.7.2" source = { editable = "." } dependencies = [ { name = "eval-type-backport" },