diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 31a9f3028..11b42809f 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: e4751b5e405c41275defa80913e5a8a9 + docChecksum: 3592b290ef7ee0487b9bd095a11aa2ec docVersion: 1.0.0 speakeasyVersion: 1.763.6 generationVersion: 2.884.13 - releaseVersion: 2.7.0 - configChecksum: 43a08324ccf1d3fccfa950f3b8a36624 + releaseVersion: 2.7.1 + configChecksum: c597fc53d4cceedd41092f74e31329bb repoURL: https://github.com/mistralai/client-python.git installationURL: https://github.com/mistralai/client-python.git published: true persistentEdits: - generation_id: bc4fa0d2-5463-465c-b27c-755ea16e938d - pristine_commit_hash: b3452e262fcd2b9b63682033e9c1ec9f346ad9a1 - pristine_tree_hash: 80f8157dc4a8ccd3def6b3c19057f55e13e81686 + generation_id: 12494d98-c92f-4646-abe5-b0e1beaedbdb + pristine_commit_hash: 8a2c31a2179b328d40bdc43d9187801c17fc4b45 + pristine_tree_hash: b1ea4fada40d0bc10832ee56afd93dc76a025562 features: python: acceptHeaders: 3.0.0 @@ -821,10 +821,6 @@ trackedFiles: id: 46684ffdf874 last_write_checksum: sha1:5b10a9f3f19591a2675979c21dd8383d5249d728 pristine_git_object: 8fa51571697ee375bfbc708de854bc0b1129eec7 - docs/models/conversationpayload.md: - id: df641edf7b7e - last_write_checksum: sha1:ffb2c51b5e7d06dcffd41cede9fd24b6aee34518 - pristine_git_object: 481f18e67f70226c928522726c73b3e07b2a7c4c docs/models/conversationrequest.md: id: dd7f4d6807f2 last_write_checksum: sha1:fff53e06f2409c4de6fa8f6a56efad5c165b7685 @@ -873,10 +869,6 @@ trackedFiles: id: 3e9c4a9ab94d last_write_checksum: sha1:41587c4d9516da340a0d55f79cdf9370bca9f4fa pristine_git_object: 9d2c5633820affc1e265367f7e392ec5ffc35468 - docs/models/conversationsource.md: - id: b50fdc875f45 - last_write_checksum: sha1:9c5bbff0c90b33609939b6455be62e85e682eebc - pristine_git_object: ee88d9d4631c62e2845294950cc7e787316bf461 docs/models/conversationstreamrequest.md: id: 833f266c4f96 last_write_checksum: sha1:5e9f0e779acc11017dbce26e1a4d2be179cdca99 @@ -919,8 +911,8 @@ trackedFiles: pristine_git_object: d9fc61a30eb5f1c0c5fb510eb6f533efff14fdfe docs/models/createdatasetrecordrequest.md: id: e2c8a858a8e6 - last_write_checksum: sha1:6848c7398d763f7a046dbb41cda8bc33cbb98230 - pristine_git_object: 3ea0d68db2cc15e0dcdb51ca77a90823557604f2 + last_write_checksum: sha1:9b93d8087fca92dfa4bf1e681ecd2fbb61520e86 + pristine_git_object: 7ef6950efbfd3a9bcbc7f5f9543ac2bf6d64a33e docs/models/createdatasetrecordv1observabilitydatasetsdatasetidrecordspostrequest.md: id: 599b04b8f392 last_write_checksum: sha1:022456acf96559cefa8cdec2c006e13107241261 @@ -929,6 +921,10 @@ trackedFiles: id: ff55db5edd8c last_write_checksum: sha1:840cddba3faaee46a0a65a92e3f09b6079ac410d pristine_git_object: d4c166436a4d3cdafcc5990215b0ee2ea2ff9571 + docs/models/createdeploymentrequest.md: + id: e621e94416c5 + last_write_checksum: sha1:98100ebc42b94597fe9ab2c0a04cf7c61eb33937 + pristine_git_object: 7e97e9b40195749dbaa646632beec716dbbc9495 docs/models/createfileresponse.md: id: ea1396cebae8 last_write_checksum: sha1:cdda40f3d8165c27ac40a0548b79a9ffafaef4e0 @@ -1055,8 +1051,12 @@ trackedFiles: pristine_git_object: f729908d470767dd2bde499fcfb198e5587c7d40 docs/models/datasetrecord.md: id: 449ed69d3872 - last_write_checksum: sha1:55a649fc627e297da420482599680da87989c297 - pristine_git_object: dbc7c3d0046af0423eebab4d0d982e55a3ed1d38 + last_write_checksum: sha1:8685807735fdda2d6808632261d325dca5c7dcd2 + pristine_git_object: 2d7ac2de86209f900035e2bc976165ca329608fd + docs/models/datasetrecordsource.md: + id: 96ca4a4af5eb + last_write_checksum: sha1:5870137c33ce4e3e7b1781d74ebb1dee4c48042e + pristine_git_object: b9e9de30baeff6f78b9b9fc5f6fc7f2910622cd9 docs/models/deletebatchjobresponse.md: id: 077483bb3832 last_write_checksum: sha1:2789ca6f7663b82731201d9439d949c8dfd1077c @@ -1077,6 +1077,10 @@ trackedFiles: id: 1324ff11f62a last_write_checksum: sha1:b4e444986d7185513653466f232ce378a45ea98e pristine_git_object: 4557d3c603d6a0b6ae2873e2ac11cca58604849b + docs/models/deletedeploymentv1workflowsdeploymentsnamedeleterequest.md: + id: 520748d99633 + last_write_checksum: sha1:15af8dc6331d399bfdc2cd9d0fba73f21ac108b9 + pristine_git_object: b86c3fe78148d1373f4455ac319ebaa9997c8a12 docs/models/deletefileresponse.md: id: ab3aa44589a0 last_write_checksum: sha1:6d6ff32f1a9a6caf26eaf590fa78c0f9efb2be9d @@ -1113,10 +1117,14 @@ trackedFiles: id: 7307bedc8733 last_write_checksum: sha1:a1211b8cb576ad1358e68983680ee326c3920a5e pristine_git_object: 8142772d7ea33ad8a75cf9cf822564ba3f630de2 + docs/models/deploymentbuildstate.md: + id: 7019a1189d21 + last_write_checksum: sha1:9b6733368e984fb7267420507282b72bbd9f617c + pristine_git_object: 9dff582203770fbdb9628cbb9893a962923e297b docs/models/deploymentdetailresponse.md: id: 712f7bbc8cc0 - last_write_checksum: sha1:1a13965b69e8c9673f6ae02d87b0010d86389f36 - pristine_git_object: cff6eb53a0fd078f87ee1e9718c9246ab9360446 + last_write_checksum: sha1:f2ba1cca618aadb93b4c5c3f3bd841c1f8fd9a3d + pristine_git_object: e9eb9d6f79924c39831c072dd5db76a7f1a85f23 docs/models/deploymentlistresponse.md: id: 45a11caf1008 last_write_checksum: sha1:e0d0d588f994f72dd7adcc096129cfdac50efb33 @@ -1133,10 +1141,22 @@ trackedFiles: id: fa360c0dff40 last_write_checksum: sha1:309959d041d47ed39a34402e42552c834523cdfd pristine_git_object: 8cf2ade307ce5690f0784211e39b801ec75de7bf + docs/models/deploymentobservedstate.md: + id: 8b01388b9434 + last_write_checksum: sha1:66c380404c57a7c6d5c60d1c37004d41af5cbc6e + pristine_git_object: 5f4779d78eed208bccbde33ed64b46d118fbadaf + docs/models/deploymentresourceconfig.md: + id: 5834c98a07b3 + last_write_checksum: sha1:84df2e5736d1eaab479a0fbc31c6cd34623608a7 + pristine_git_object: 92261a14ac65a6017d2f602aa99d31eebea319f4 + docs/models/deploymentresourceconfigupdate.md: + id: f811bb0b2548 + last_write_checksum: sha1:c94149e7cf2b090ed72874a73b34e5f1fdc8bff5 + pristine_git_object: e11a8275410eab9849577f7fe6b86665f86a04e6 docs/models/deploymentresponse.md: id: a9da842850c4 - last_write_checksum: sha1:5e69d2c0b987eca0ac211148f9abd2ddfadfb4bc - pristine_git_object: 54486bacf3af34734b433e1e5aad1d02e3e7db13 + last_write_checksum: sha1:8339e98dccdcd00b7d218b63c39159668ecb2564 + pristine_git_object: 4369a71caad95abbccdde3dd34fbe61b86b15e89 docs/models/deploymentstatus.md: id: b039895c72a9 last_write_checksum: sha1:fe2f0489b2fea1fa58454ea8abe7426d01b17794 @@ -1145,6 +1165,14 @@ trackedFiles: id: 07cd9c89237a last_write_checksum: sha1:1f8b60ad6e17714100626106c2de16f6aca273e4 pristine_git_object: afdcca834da74cc33711b1aa229f5ccf66eceefd + docs/models/deploymentworkerspecinput.md: + id: 1cd06cd8089d + last_write_checksum: sha1:e3f5820de09fc433277ee8881142f6383a1173e2 + pristine_git_object: 11e7008549e350b980259df38179b8ff603c3cef + docs/models/deploymentworkerspecresponse.md: + id: cad5b4a16cab + last_write_checksum: sha1:ae08adad3f2ef65723285cd729eca2b368582871 + pristine_git_object: 8c9114c6c9413be7ac7d4dd61def65dfdc8a845c docs/models/document.md: id: cd1d2a444370 last_write_checksum: sha1:7aeb84c1a0efa2b3bf15808714405fe29b930296 @@ -2265,6 +2293,10 @@ trackedFiles: id: 12b7ec599fbd last_write_checksum: sha1:e5d0cb420a7f3091bd616818dd0b40d90d994e95 pristine_git_object: 6b871cfa5d0db476df312ad0a412d666f41c33c2 + docs/models/manageddeploymentresponse.md: + id: fba53130778a + last_write_checksum: sha1:be094ff6f77a5f60441adf8c5a5841c9e9fab197 + pristine_git_object: f09b1b9c1ccda959abc8aaaab1ae7130d5c9255c docs/models/mcpprompt.md: id: c6eeb6a6a719 last_write_checksum: sha1:321ce6a140536a8582632d937f498b2fd8006a7b @@ -2503,8 +2535,8 @@ trackedFiles: pristine_git_object: 5893eacfe1fd5ddc0bc52b83612af918345cc0f3 docs/models/ocrrequest.md: id: 6862a3fc2d0f - last_write_checksum: sha1:427dc4b07be7db540bbd79b4883b3446274fec93 - pristine_git_object: 6851e03e1b6b0d055f121c5fd854b5694229e866 + last_write_checksum: sha1:11afbba1a3e91a4aa9336d089c645067883ab3d3 + pristine_git_object: 4bc19e381e632fa8e2ffbdb571500991fc2906a2 docs/models/ocrresponse.md: id: 30042328fb78 last_write_checksum: sha1:8e4a4ae404ea752f3e9f1108c2a5f89ed6cfb143 @@ -2911,8 +2943,8 @@ trackedFiles: pristine_git_object: 970211bb11b10aac688084845d1172e65d1ced1d docs/models/responseconnectorlisttoolsv1.md: id: 11f3f310ef36 - last_write_checksum: sha1:db8c315f851caf7f36b852bf7a34ab2a0daf63fe - pristine_git_object: 18a31c5628f714a7bf1757bc8f79cab9e689bc6a + last_write_checksum: sha1:083e9956b7b506cb91c756af0bab4d54ea5d7d30 + pristine_git_object: 1dd0cadfeb4c43436eff451a6152409ac728d4a9 docs/models/responsedoneevent.md: id: 38c38c3c065b last_write_checksum: sha1:4ac3a0fd91d5ebaccce7f4098ae416b56e08416f @@ -2949,6 +2981,10 @@ trackedFiles: id: 48d4a45780a9 last_write_checksum: sha1:8e75db359f0d640a27498d20c2ea6d561c318d7e pristine_git_object: 844c5d610a9a351532d12b1a73f6c660059da76b + docs/models/restartdeploymentv1workflowsdeploymentsnamerestartpostrequest.md: + id: 7012ffe68392 + last_write_checksum: sha1:21f8c4b09a0186581ef38b52bef52b254ac0a171 + pristine_git_object: 1c5889cb4afef1f0d607dadd6634a4c6836fa6f1 docs/models/resumeschedulev1workflowsschedulesscheduleidresumepostrequest.md: id: 70bace616181 last_write_checksum: sha1:2c13407b2c3b01bc59f486e2848fac0c3d025dc1 @@ -3269,6 +3305,14 @@ trackedFiles: id: 6a902241137c last_write_checksum: sha1:6291d6bc7cbcd7640b83b03ac8ce353b95c1f913 pristine_git_object: 372eafee6f22105d6f5fd31f2e04ea04f5abe641 + docs/models/startdeploymentv1workflowsdeploymentsnamestartpostrequest.md: + id: 7718c2ec0f79 + last_write_checksum: sha1:57f62290d632ce49eb365d196c42675d7399c740 + pristine_git_object: 79b57f64c7a6273521c9e070448916d389c22f39 + docs/models/stopdeploymentv1workflowsdeploymentsnamestoppostrequest.md: + id: c652856a908e + last_write_checksum: sha1:a5041d5bb8cf419d78983fe84ddc876c3c44f5e1 + pristine_git_object: 556a43ff2611fc868c93a6b44be90f7719bc59c9 docs/models/streamdeploymentlogsdata.md: id: 3e37fbf49d55 last_write_checksum: sha1:1b81189371dd8dd2a63451d59c73fe4fb6e240af @@ -3679,12 +3723,12 @@ trackedFiles: pristine_git_object: cf590a2fc7f58707855eb0bda2d4b8460bfea800 docs/models/updateconnectorrequest.md: id: 40e38d9c7c2a - last_write_checksum: sha1:64344e869d1ef8a6296f693539d9b6a9726a7eaa - pristine_git_object: 005943e92cf4ba4b35e5e9fab761e1259f80fbdd + last_write_checksum: sha1:6a8880c541a16375ad67b3bdb64bd020c6bbc799 + pristine_git_object: 3e715e5617b0888229a1f25b82f12c55c7cfb98c docs/models/updatedatasetrecordpayloadrequest.md: id: ada11a6c544f - last_write_checksum: sha1:220ce1184c9f6b6c6d1e5cdf2dc18197778f7af2 - pristine_git_object: f152d84329ffd358b56392025a69f13f6d2b7546 + last_write_checksum: sha1:57f0b53f5c30a9a0ed850109e57b6cb62e14c6a5 + pristine_git_object: ca9e049bd2a2602f3cfabba985bd73994670af64 docs/models/updatedatasetrecordpayloadv1observabilitydatasetrecordsdatasetrecordidpayloadputrequest.md: id: abb1793448c5 last_write_checksum: sha1:4bc30c277c9d2fa5f8fdf8938f65c61e1da8abf8 @@ -3709,6 +3753,14 @@ trackedFiles: id: 66f521a5a9f5 last_write_checksum: sha1:a5121824ba55698bcb31641641e73e2eeb19136c pristine_git_object: 8cf62617303949d2633773af0268447befb04af2 + docs/models/updatedeploymentrequest.md: + id: 855b59126923 + last_write_checksum: sha1:0d7d4a19675f06a06ce5d3f5cb36dd2311f718d9 + pristine_git_object: 3c0cc98f6f8dda0e180cfe12f3b29a369dadd2cd + docs/models/updatedeploymentv1workflowsdeploymentsnamepatchrequest.md: + id: 452aa6e9a083 + last_write_checksum: sha1:27549c3fd51f533963413a9c11cd73db663e9ac8 + pristine_git_object: 8e85a45f336dbbed67d282dae1b0fc24550bb162 docs/models/updatedocumentrequest.md: id: ee4e094a6aa7 last_write_checksum: sha1:33a21ce8b03db36d05ec02f7f3fdc5d5ab95f344 @@ -3819,8 +3871,20 @@ trackedFiles: pristine_git_object: 8e405fc0bc409e1cd5a34742886b87036b5b8235 docs/models/useridentity.md: id: 959b5b6bb365 - last_write_checksum: sha1:d33d20d0a09ed3371de64a55e1627f33de4d8f09 - pristine_git_object: d372734dc44d60cc3a66c98a623f55adce2660d3 + last_write_checksum: sha1:57c19208b5cccac6058c850e34f98bdb7d6b04e9 + pristine_git_object: 4a4236e29bdeb414c374ef282405915f21f8a81e + docs/models/useridentityapikey.md: + id: bf0a42aed924 + last_write_checksum: sha1:9b6d71d9ca6ede7d5db10d751634e008276a4f68 + pristine_git_object: c6a144b1b21f8b10d06680d1e42e46fa802ad524 + docs/models/useridentityorganization.md: + id: 7892c5efb33d + last_write_checksum: sha1:b1a4142fb7f465da8c2c4bac0ddcf53506cb1413 + pristine_git_object: d62e58810adbf9f6507fa0ea11616d8362119ab1 + docs/models/useridentityworkspace.md: + id: c4ae4565b887 + last_write_checksum: sha1:9d6c72fa8f728787742156cf2d989092ea3fdfb6 + pristine_git_object: cdc0eb536e1a9d6e89f816b1d844f82262f88e13 docs/models/usermessage.md: id: ed66d7a0f80b last_write_checksum: sha1:f0ed7d9cb7264f1d9e4a9190772df3f15e25346c @@ -4069,6 +4133,10 @@ trackedFiles: id: 2735faee5b12 last_write_checksum: sha1:5a3d0c69f0d60f4362b8325287d7854d9ecadc4e pristine_git_object: af919c68028854c00c2b611bd79235dc24d52fda + docs/models/workflowsworkerspecupdate.md: + id: a7af8bf36e09 + last_write_checksum: sha1:786675d99068e9d9a50999ceb05b0a508769cc83 + pristine_git_object: 6bf1bc5652f2579b835e14a6775454fc3cdf6d8f docs/models/workflowtaskfailedattributes.md: id: 7f329c44d7fb last_write_checksum: sha1:432c70ec990e81e2de79c14efbbb6161b60e1b3e @@ -4139,20 +4207,20 @@ trackedFiles: pristine_git_object: dc0f4984380b5b137266421e87a1505af5260e89 docs/sdks/connectors/README.md: id: 7633a87d946d - last_write_checksum: sha1:09bdcf0ec69b6a5f4cea5d67ac8c5485ab75a21e - pristine_git_object: c3418a9408e23c24ac26675958963aea3fb78ba0 + last_write_checksum: sha1:0402b9a3dd326042cd9c65fd13afe5075f6a1600 + pristine_git_object: 01aa4276edc88a513a187d1b3398c787d6c2e274 docs/sdks/conversations/README.md: id: e22a9d2c5424 last_write_checksum: sha1:68ede193fd35a89ab226aa92a92edaecf1eebb1a pristine_git_object: 63cd80a4a655a5c139be79239b0787c3f90cdea9 docs/sdks/datasets/README.md: id: deb5d90f4faf - last_write_checksum: sha1:cf41aa56b5fe1296961ddb769b96cb0f451ed2f2 - pristine_git_object: c04ced0cf5e5f7774ba9b1d25722085b92b8f0c2 + last_write_checksum: sha1:68f8982980d4e4610fc0e03e26437fef46cbef66 + pristine_git_object: d609dd653933d817b9dee61aac14893f24240c24 docs/sdks/deployments/README.md: id: e7c5559ab768 - last_write_checksum: sha1:ec0d17d1863d876f3f2f3d2e82072a3d175fa24c - pristine_git_object: 914d792fc4c4706801720cd4bb54bb6a4a564f49 + last_write_checksum: sha1:22c163aa9fcc4274a69a22fe7f755307732dc139 + pristine_git_object: eaae63b14ee2d8f607b77849c2285fb833142e8f docs/sdks/documents/README.md: id: 9758e88a0a9d last_write_checksum: sha1:7f1540110547b0ddb1350dc24422bb94bdf3bdd8 @@ -4211,12 +4279,12 @@ trackedFiles: pristine_git_object: f585dcbeadeb87d5634a505450f3599af21df155 docs/sdks/ocr/README.md: id: 545e35d2613e - last_write_checksum: sha1:cd32bb3687d72b393f7b4df9f75fc1a84fd172f4 - pristine_git_object: 68a2879f569f7eadebb22bf0f43c2da8411c1130 + last_write_checksum: sha1:7f8e3e3cb74a3ff6af9a1fc2c611bbed659c3b4e + pristine_git_object: 70ce47242cd1893d4e22f2ef09738326aa48be2c docs/sdks/records/README.md: id: db86bab024d3 - last_write_checksum: sha1:2ef5b164016e9b40c27d8a4915aeb8d3d2ed42c7 - pristine_git_object: ce8f1f689512a9eac118c05ec1e9acf17e931556 + last_write_checksum: sha1:152a48dd9363439a754a4be50941669256fcf60e + pristine_git_object: a14cf4e9659088726be37da0a48eff14e3c14572 docs/sdks/runs/README.md: id: 4598fd39b715 last_write_checksum: sha1:f684e3c01e8df5d1a9a3beecd11f2f10cd425486 @@ -4291,8 +4359,8 @@ trackedFiles: pristine_git_object: 036d44b8cfc51599873bd5c401a6aed30450536c src/mistralai/client/_version.py: id: cc807b30de19 - last_write_checksum: sha1:b6e60a7217d50231613976650c8497286adc10d5 - pristine_git_object: 1afd58d0bf83f277dfe11a811a57f87632de1a96 + last_write_checksum: sha1:3748fb1cb44c14e659afc4d54bcc9e2183f92b33 + pristine_git_object: 48606bf3013dbf568c1f6d3e680fb12ffa79b94f src/mistralai/client/accesses.py: id: 76fc53bfcf59 last_write_checksum: sha1:33d8a0663a647b7a7e1946064d05c3b40e538816 @@ -4343,20 +4411,20 @@ trackedFiles: pristine_git_object: a19206185ab23809971b395c522a34da4e399eea src/mistralai/client/connectors.py: id: 39da03126050 - last_write_checksum: sha1:56ef7da1147dff54d0a47ac562c3c37ff3a77fbc - pristine_git_object: 472c1e841883e3b3265528dc206d012400f51b6f + last_write_checksum: sha1:8da0dd35c1849b9bdf44394a70b619c5e085faca + pristine_git_object: e3ba3797ed5f7b2bcceaeb9377b64d9aa2d03493 src/mistralai/client/conversations.py: id: 40692a878064 last_write_checksum: sha1:b56c051f97ec84539028d736409289579b8df48d pristine_git_object: 6f4c29eeabd79ea4f18ee5aa61c8c5665e714a87 src/mistralai/client/datasets.py: id: e5a6ae2a2d85 - last_write_checksum: sha1:413ed23581d2d33f1897bdc54b93cd163d5435dc - pristine_git_object: 2e4e12201981a2bba2447ad06ba5445786cfc164 + last_write_checksum: sha1:7b971b9595afe6027889b0b097bfd5c3defc4e05 + pristine_git_object: 0c9718747c15dce3e8c6580c9db14518985b0679 src/mistralai/client/deployments.py: id: a874b267fcb9 - last_write_checksum: sha1:30017633acd36d863f32fed6763270be2afbd6de - pristine_git_object: 72255ee6d3025ca3666580327d38187f45ae66fc + last_write_checksum: sha1:9e5491392d0483431b1f4580b7221218ff1bd1b3 + pristine_git_object: 1654132c43130832a53863a25658e11a30271333 src/mistralai/client/documents.py: id: bcc17286c31c last_write_checksum: sha1:4261eeb474387959cbf359911e8ff3cfe706f75f @@ -4443,8 +4511,8 @@ trackedFiles: pristine_git_object: d0b6b4fc091393e6e8a75f158363baa8e2ea21d4 src/mistralai/client/models/__init__.py: id: e0e8dad92725 - last_write_checksum: sha1:08e494a75adca54eeda602eb7e7c6c0b2f29256d - pristine_git_object: eab3663d92b50b4c0c03a4e7a937464b583919cc + last_write_checksum: sha1:19d86f98529a2da48c79296add95427b3f37ca89 + pristine_git_object: 50010ba8a67d4c2e5f076a5954af21e4a03ab05f src/mistralai/client/models/activitytaskcompletedattributesresponse.py: id: 8174941767cc last_write_checksum: sha1:b5246e203765ba0532a6a65d391bdd237ab2c891 @@ -4911,8 +4979,8 @@ trackedFiles: pristine_git_object: 6b37773fb3e7b1b0e999a342709599797d64c558 src/mistralai/client/models/connector_list_tools_v1op.py: id: 4c6ad704479b - last_write_checksum: sha1:8af274c0304af97a649137075b4fea4acadeb434 - pristine_git_object: 3e9905c30d02fef3e73689b2e8968462dc4b36fa + last_write_checksum: sha1:f1ac1e2ea00f76c4160ec085bdd8bc8340fd64f9 + pristine_git_object: 4f4124a744809a8695463fcd7f510f3d8016ebc3 src/mistralai/client/models/connector_list_user_credentials_v1op.py: id: 106e8fba762d last_write_checksum: sha1:35c2b9e14c552a6525c7d1baf1bdea509284e939 @@ -5005,10 +5073,6 @@ trackedFiles: id: 011c39501c26 last_write_checksum: sha1:83adcc316ff46085a7b02a4ce54b3cee7a848937 pristine_git_object: a7e13c712fa0ac250929efdc10303ea7fd26c37d - src/mistralai/client/models/conversationpayload.py: - id: 4581218c84c1 - last_write_checksum: sha1:51c3787091d7d2a09a0625d854a74db3c46d6a1a - pristine_git_object: 6bfc5894b329531c7845d0457209a0d5c35c0145 src/mistralai/client/models/conversationrequest.py: id: 58e3ae67f149 last_write_checksum: sha1:5d64abb831437c60c7e88a7dce2e08d03174ee1e @@ -5025,10 +5089,6 @@ trackedFiles: id: 521c2b5bfb2b last_write_checksum: sha1:6fd47c92114693010c6014af6e2a347091985a87 pristine_git_object: 41b7098f7086b41089432b183df664fb7539bfc1 - src/mistralai/client/models/conversationsource.py: - id: 24d6a0861d4b - last_write_checksum: sha1:e28921788ab1b6d2b6daf08b714bf34b2047eb6c - pristine_git_object: a3b93b61b842002fc9fbb05815b800fb1294cb52 src/mistralai/client/models/conversationstreamrequest.py: id: 58d633507527 last_write_checksum: sha1:17f643578f395a5b4605710402f115eb25cae8b3 @@ -5059,12 +5119,16 @@ trackedFiles: pristine_git_object: 78e7b6d30378317bf3a10af62dda715fbc764dd9 src/mistralai/client/models/createdatasetrecordrequest.py: id: 9455e38a8c31 - last_write_checksum: sha1:df3e8d7425500f23101c25267738e617eeb2d467 - pristine_git_object: 6fd2bf96a28dceb4096d4e9bebe51495ef7a2103 + last_write_checksum: sha1:dbd1103182457884a9208109e8547728265e7ee6 + pristine_git_object: 66299c44304ef4984df66f1e3d02c198d6f64253 src/mistralai/client/models/createdatasetrequest.py: id: 046a094d3ef9 last_write_checksum: sha1:5c38317b544af6ca66fb895c627634d160bc3975 pristine_git_object: ecffc52a82e3e0baca00cf94de047ff5124e3a04 + src/mistralai/client/models/createdeploymentrequest.py: + id: 1ebab7ec18c6 + last_write_checksum: sha1:a21981a92d4ec425e9747c8fb35a31bd0cafc9e4 + pristine_git_object: 57f8cc737a4565fcef56c2d29ae693350cb28727 src/mistralai/client/models/createfileresponse.py: id: fea5e4832dcc last_write_checksum: sha1:e0a0abb33411e145285db9d36c207812bf8f0587 @@ -5179,8 +5243,12 @@ trackedFiles: pristine_git_object: 90676245b258a6c4217a730fb8b59a336e830afb src/mistralai/client/models/datasetrecord.py: id: 87ddebf2a0ce - last_write_checksum: sha1:399243f84e7f6488b7994cedc2db565d21c087d8 - pristine_git_object: 39c92cce7ee7f42878703c7983ebfe1c964e1d4e + last_write_checksum: sha1:f50d282e068ed71aef0b054e55092e60e43b3d8e + pristine_git_object: 64eb666a1a4fd030601df0de0ca420102f3132b0 + src/mistralai/client/models/datasetrecordsource.py: + id: 5416a8b7276d + last_write_checksum: sha1:7d96759361ba874016f403f18da8a775c9865fd3 + pristine_git_object: a237ecebbc841346a7d694f3c238e18367a78df9 src/mistralai/client/models/delete_campaign_v1_observability_campaigns_campaign_id_deleteop.py: id: 3d1cd35fecc6 last_write_checksum: sha1:276676f082fa84f14ab74502302d32361277d4c8 @@ -5193,6 +5261,10 @@ trackedFiles: id: 446419cd07d2 last_write_checksum: sha1:fc4e716afa0920b4c07fb9bf90c69c3e50a3f958 pristine_git_object: af8697706726676862d2b27317b64ebd52510282 + src/mistralai/client/models/delete_deployment_v1_workflows_deployments_name_deleteop.py: + id: b669fcc8cb57 + last_write_checksum: sha1:0e172f684cb410f2df4dd917d81ae268497ee5e3 + pristine_git_object: f9907398b68ebe424be5546e573fe9bf89b86b78 src/mistralai/client/models/delete_judge_v1_observability_judges_judge_id_deleteop.py: id: 415724e139bd last_write_checksum: sha1:0fc88a1a4edefd593e8b2d6f18bdd77383142209 @@ -5233,10 +5305,14 @@ trackedFiles: id: 68f53d67a140 last_write_checksum: sha1:5653c52c448643feab36e03ba2c73b602438149f pristine_git_object: f0ca3282d3d26bbdcf9382063b14c185c3758faa + src/mistralai/client/models/deploymentbuildstate.py: + id: 61e9001287f8 + last_write_checksum: sha1:7bfcea2b41ec09dbf2a753d084be639755e265b3 + pristine_git_object: 53f4e05984410b65529e0e53c117bdcc0388bb78 src/mistralai/client/models/deploymentdetailresponse.py: id: 7f4a17a1c7ca - last_write_checksum: sha1:16ea783e78a6cebc049cd8405efe968ef6bd75e7 - pristine_git_object: 9c8e196ab9f33d04d0e35bce42fe596ea318ee10 + last_write_checksum: sha1:c77bb691031c6b73ff0a645d61a46de613ded4b9 + pristine_git_object: 4f3207344493c76a422768963cf7c6191beff7f9 src/mistralai/client/models/deploymentlistresponse.py: id: 1f0b404ba621 last_write_checksum: sha1:828203fc1426550d9b7f6e9d3288f921eec9bfb1 @@ -5253,14 +5329,34 @@ trackedFiles: id: 2991a19da27d last_write_checksum: sha1:5f498c304ac9e13dbe957cc72ee7e03ca4431ac3 pristine_git_object: 7801115b1349f70dec9634d2454cb56a07213a60 + src/mistralai/client/models/deploymentobservedstate.py: + id: 4bed4a2622bf + last_write_checksum: sha1:5cd9803d86353f16f950ea783cbe77f1fa0b883e + pristine_git_object: cb920095fe6bd5717f6d6b78b98ef358eeb687f9 + src/mistralai/client/models/deploymentresourceconfig.py: + id: 278b04eed455 + last_write_checksum: sha1:8817e6e5d99d0e17843fc0169757967e63f57f37 + pristine_git_object: 8011b7b69823286bc9550b5212734f47ae46425d + src/mistralai/client/models/deploymentresourceconfigupdate.py: + id: 369dcb81cacb + last_write_checksum: sha1:382de67e01142294f9ec8f54db0a65aba675ca3f + pristine_git_object: bafd7796692153ed78c6b374f4672c2d73b95009 src/mistralai/client/models/deploymentresponse.py: id: ea15ddd64402 - last_write_checksum: sha1:1430aa9143ee0f08b48504820b650aa6f3ee5f19 - pristine_git_object: 876e4a071154de32124f05f602063d88a6e6c587 + last_write_checksum: sha1:3ac2956b8a7f935c5c4006ea1f8f664e1b676028 + pristine_git_object: 060abb809414ea2ebaba043a5210651ac510108a src/mistralai/client/models/deploymentworkerresponse.py: id: b11a9947bd19 last_write_checksum: sha1:cf27528873306d9137f08c82c87fa99b44ed5fc5 pristine_git_object: 2955dc485bbf1017a728cb0562baf948083e1b13 + src/mistralai/client/models/deploymentworkerspecinput.py: + id: 635133e69342 + last_write_checksum: sha1:92fed4c984ab52b95484538e7d772d4b853e7d76 + pristine_git_object: cdf8d222c6a512c5d8c96e32134f9516e557391b + src/mistralai/client/models/deploymentworkerspecresponse.py: + id: e56d154527fd + last_write_checksum: sha1:7bf6ef988cf9c7161ec21eddc98729a64bd887d6 + pristine_git_object: 0d3b5335c0f468d76e9a31149ccd4b103075f490 src/mistralai/client/models/document.py: id: fbbf7428328c last_write_checksum: sha1:3cdd40229b126132d3eb60505cd1d635325a8372 @@ -6209,6 +6305,10 @@ trackedFiles: id: 2972072d4ad2 last_write_checksum: sha1:5aca3a318b1fddc96802455c3c0b53d2207b2539 pristine_git_object: e52d471295e16a81ffcfb96c6758a315f22670b9 + src/mistralai/client/models/manageddeploymentresponse.py: + id: bc7d5ee5c606 + last_write_checksum: sha1:2e0120997c7beecf847102b918b82353a1b11a3c + pristine_git_object: 72905df965f65f5a25e3ab881732deb246f8f878 src/mistralai/client/models/mcpprompt.py: id: eac4133413b2 last_write_checksum: sha1:003b0a3bf0f7af4db962697e1604510710709983 @@ -6415,8 +6515,8 @@ trackedFiles: pristine_git_object: 6294488cacbd6910a8edb6458ce37d1f0696ba43 src/mistralai/client/models/ocrrequest.py: id: 36f204c64074 - last_write_checksum: sha1:4cd9c6ff777d2d4636b7d8bcc87fc05e83884dd4 - pristine_git_object: 3628c2143bc8e6733f61fe1dfcf6b6acf8a53f4b + last_write_checksum: sha1:f98b0c4b9f30f49fafc48293e36f416d8d9405b5 + pristine_git_object: f290a9f3fc84129f2f8c382d489704ce6dffc6c7 src/mistralai/client/models/ocrresponse.py: id: 2fdfc881ca56 last_write_checksum: sha1:8e496f6122ea0798df0d23f50ea3046a29f0f8db @@ -6753,6 +6853,10 @@ trackedFiles: id: 24f54ee8b0f2 last_write_checksum: sha1:bbe13695d5cde5f98635c01453057061d0167f99 pristine_git_object: ca3750421f3dda97cd85a6783084a934ed4f0fd4 + src/mistralai/client/models/restart_deployment_v1_workflows_deployments_name_restart_postop.py: + id: a24431d44971 + last_write_checksum: sha1:29f842f60598d701dd3c2bb65df96cfc37543e97 + pristine_git_object: 42f8ce8585ca4ee39c124a80db7cade954528023 src/mistralai/client/models/resume_schedule_v1_workflows_schedules_schedule_id_resume_postop.py: id: 2daf20be73bb last_write_checksum: sha1:4775b3a31c7dcdd5be1db4117044bfacb4698d51 @@ -7017,6 +7121,14 @@ trackedFiles: id: 1733e4765106 last_write_checksum: sha1:3c79fc7c43cd018fba4950ba013ed15899b82ebf pristine_git_object: 0add960bc93f53df5ddda94892543a0857f32dd6 + src/mistralai/client/models/start_deployment_v1_workflows_deployments_name_start_postop.py: + id: a130112def7d + last_write_checksum: sha1:87a8ec5c2aaaff2a684b8bb7442a52a4d656553b + pristine_git_object: d4f9a29a0624791b06462d2f811cd8438ae7b64a + src/mistralai/client/models/stop_deployment_v1_workflows_deployments_name_stop_postop.py: + id: c6e21688bc0c + last_write_checksum: sha1:f98fa1a24df02cb8358a9ff1aa8ab6039d505c8c + pristine_git_object: 0b82ba107b9f864ff64f2e41067e861394221e84 src/mistralai/client/models/stream_deployment_logsop.py: id: 0d66b14b5200 last_write_checksum: sha1:f651071fd9b03c32c475a58ce9ec9cf56f06bc81 @@ -7329,6 +7441,10 @@ trackedFiles: id: 7bb459765cba last_write_checksum: sha1:56ae41144cef62f4c6384994f30dbaede3d30925 pristine_git_object: 5a44056454e368ae54485532875e72750fe82e27 + src/mistralai/client/models/update_deployment_v1_workflows_deployments_name_patchop.py: + id: 10af4960601c + last_write_checksum: sha1:b70a27d253ed1629513363c3966b01a1581cae70 + pristine_git_object: e8662c69beb80afe34aa534191c7962b7e4f96bf src/mistralai/client/models/update_index_metrics_v1_rag_indexes_index_index_id_metrics_putop.py: id: a57bee1ef839 last_write_checksum: sha1:35be085d91b75ab4ef9467645ce274ea6e5bd65e @@ -7363,12 +7479,12 @@ trackedFiles: pristine_git_object: 7bb9686b9b542c47ac25fb6780017b5739829b1e src/mistralai/client/models/updateconnectorrequest.py: id: a761cd154109 - last_write_checksum: sha1:e8369fc4d0cc0f309e1a2bbbba1c23bf42e6c00d - pristine_git_object: 77172f8ce9cb626a6408b192584bbde12d9b8b78 + last_write_checksum: sha1:97ef4e155923655d7eba815c51aaaba7c5effcc4 + pristine_git_object: 8af8c8b44cde04e3e3a44039b89708e943d99f54 src/mistralai/client/models/updatedatasetrecordpayloadrequest.py: id: bd45f357a538 - last_write_checksum: sha1:774ba70d9f417e84b546b9f4c5c85eb2876dd56d - pristine_git_object: 155ea78df17aeda6f1e7f70e4ae6d18dfdae1499 + last_write_checksum: sha1:7f72103f1260ad87527f664f8de70ca2b3da3a6a + pristine_git_object: d938eb1593428a630c305dfc77055742af199153 src/mistralai/client/models/updatedatasetrecordpropertiesrequest.py: id: c457ead40a69 last_write_checksum: sha1:ef265db7817eb0f59ee182e327482918aefbf36c @@ -7381,6 +7497,10 @@ trackedFiles: id: 143f97683a02 last_write_checksum: sha1:932dbdf03be9a321795c14142ddf3729c1e0f111 pristine_git_object: e878c8764774e4420a85145196cfb93c32d108fa + src/mistralai/client/models/updatedeploymentrequest.py: + id: f13927d84169 + last_write_checksum: sha1:fc7ffccac4d4a19d30d6ad592f5193fbc2432f7b + pristine_git_object: b93518fd7546bd6e0450d62c2bdea76859004b80 src/mistralai/client/models/updatedocumentrequest.py: id: a8cfda07d337 last_write_checksum: sha1:f282948c29e5ef5bdb598e02923a44c0c4215e7a @@ -7435,8 +7555,20 @@ trackedFiles: pristine_git_object: 20686bff2118fc96adf50a0b775d719d68310041 src/mistralai/client/models/useridentity.py: id: 8b1effdfe1ba - last_write_checksum: sha1:443e93db593813abb4c7f4b89bfc12f9a653f494 - pristine_git_object: 1b9a7a6b2136ec5863b5dd2e14e70bef5f1b6c9a + last_write_checksum: sha1:7ad7c16feb0b452585a4a30f8f7a7b56deafaf8c + pristine_git_object: 7da7bff3c3097deb53d81a42b5beb8421646b4df + src/mistralai/client/models/useridentityapikey.py: + id: 163a67bef05a + last_write_checksum: sha1:0eecf2dd2bd8309636939772ad2cec267db58d2a + pristine_git_object: 2cdbc0f898d737ee6aa3cff757507ab20c16c106 + src/mistralai/client/models/useridentityorganization.py: + id: 646f6c60c670 + last_write_checksum: sha1:a516840d9c6d9019b8003c90d82ff5fb7d7d455b + pristine_git_object: a62208214eaa3449cce609422c0bb15c6c9a6a19 + src/mistralai/client/models/useridentityworkspace.py: + id: b0f8ef23c566 + last_write_checksum: sha1:75eb66cfe9f9c36912862b3bd6c20f11b14e5083 + pristine_git_object: 8bd8561c5d051fa47d80cbdd9ab580d5d303b065 src/mistralai/client/models/usermessage.py: id: cb583483acf4 last_write_checksum: sha1:b97161e1abd159d5a0c5757cac2a97bd6a5f1ef0 @@ -7669,6 +7801,10 @@ trackedFiles: id: deb3c58716b9 last_write_checksum: sha1:11ecea6e29d5f57ea84aba35adacf8c2a16e5453 pristine_git_object: 94e5b89c10b4ffdbbdaf4bd3c8305e3174c63651 + src/mistralai/client/models/workflowsworkerspecupdate.py: + id: 97b61c6693ee + last_write_checksum: sha1:580595dad6bf8b1cbb3139ffe570c2ca12dc2f9c + pristine_git_object: c03856326702bd68a1b6b74fe85f8f3821405856 src/mistralai/client/models/workflowtaskfailedattributes.py: id: c4c09c4d5ea7 last_write_checksum: sha1:b1faee3ed43b88829ca68f5cd642f24d8f1fe9f5 @@ -7715,8 +7851,8 @@ trackedFiles: pristine_git_object: 4d07debc5757055464dd0fb3cd1b5b0aebd3cfe8 src/mistralai/client/ocr.py: id: 2f804a12fc62 - last_write_checksum: sha1:42d187a4d918535d004873ff1b3ee7b0c0aa6826 - pristine_git_object: e63d1aeb649883d4e44d17915e739c2ec96e7da7 + last_write_checksum: sha1:5be9eac7b87c08d75012eeac1771d9d5d6e3a2b3 + pristine_git_object: b4ff23a4dc2d238348ee5cf39808910956d7b423 src/mistralai/client/py.typed: id: d95cd1565e33 last_write_checksum: sha1:8efc425ffe830805ffcc0f3055871bdcdc542c60 @@ -7727,8 +7863,8 @@ trackedFiles: pristine_git_object: 934b2374571b475a573d38e59c8fdf40aa5ba3b8 src/mistralai/client/records.py: id: 10f90c990bd8 - last_write_checksum: sha1:e92d25a41547870c67848dd890a7f2face59b594 - pristine_git_object: e2f87f469ec2448e22336715de355c1f965d150b + last_write_checksum: sha1:f31202c87cc2f89990980fd57caabcff5840ae4a + pristine_git_object: 7bf1f05ff0ffbfe1506ac22da9e83b38abfb7f0a src/mistralai/client/runs.py: id: 4297d58aeb21 last_write_checksum: sha1:162433f1f588304269e3c5371d8bf6efead752ce @@ -8397,7 +8533,7 @@ examples: application/json: {} userExample: requestBody: - application/json: {"model": "CX-9", "document": {"type": "document_url", "document_url": "https://upset-labourer.net/"}, "bbox_annotation_format": {"type": "text"}, "document_annotation_format": {"type": "text"}, "include_blocks": false} + application/json: {"model": "CX-9", "document": {"type": "document_url", "document_url": "https://upset-labourer.net/"}, "bbox_annotation_format": {"type": "text"}, "document_annotation_format": {"type": "text"}, "include_blocks": true} responses: "200": application/json: {"pages": [{"index": 1, "markdown": "# LEVERAGING UNLABELED DATA TO PREDICT OUT-OF-DISTRIBUTION PERFORMANCE\nSaurabh Garg*
Carnegie Mellon University
sgarg2@andrew.cmu.edu
Sivaraman Balakrishnan
Carnegie Mellon University
sbalakri@andrew.cmu.edu
Zachary C. Lipton
Carnegie Mellon University
zlipton@andrew.cmu.edu\n## Behnam Neyshabur\nGoogle Research, Blueshift team
neyshabur@google.com\nHanie Sedghi
Google Research, Brain team
hsedghi@google.com\n#### Abstract\nReal-world machine learning deployments are characterized by mismatches between the source (training) and target (test) distributions that may cause performance drops. In this work, we investigate methods for predicting the target domain accuracy using only labeled source data and unlabeled target data. We propose Average Thresholded Confidence (ATC), a practical method that learns a threshold on the model's confidence, predicting accuracy as the fraction of unlabeled examples for which model confidence exceeds that threshold. ATC outperforms previous methods across several model architectures, types of distribution shifts (e.g., due to synthetic corruptions, dataset reproduction, or novel subpopulations), and datasets (WILDS, ImageNet, BREEDS, CIFAR, and MNIST). In our experiments, ATC estimates target performance $2-4 \\times$ more accurately than prior methods. We also explore the theoretical foundations of the problem, proving that, in general, identifying the accuracy is just as hard as identifying the optimal predictor and thus, the efficacy of any method rests upon (perhaps unstated) assumptions on the nature of the shift. Finally, analyzing our method on some toy distributions, we provide insights concerning when it works ${ }^{1}$.\n## 1 INTRODUCTION\nMachine learning models deployed in the real world typically encounter examples from previously unseen distributions. While the IID assumption enables us to evaluate models using held-out data from the source distribution (from which training data is sampled), this estimate is no longer valid in presence of a distribution shift. Moreover, under such shifts, model accuracy tends to degrade (Szegedy et al., 2014; Recht et al., 2019; Koh et al., 2021). Commonly, the only data available to the practitioner are a labeled training set (source) and unlabeled deployment-time data which makes the problem more difficult. In this setting, detecting shifts in the distribution of covariates is known to be possible (but difficult) in theory (Ramdas et al., 2015), and in practice (Rabanser et al., 2018). However, producing an optimal predictor using only labeled source and unlabeled target data is well-known to be impossible absent further assumptions (Ben-David et al., 2010; Lipton et al., 2018).\nTwo vital questions that remain are: (i) the precise conditions under which we can estimate a classifier's target-domain accuracy; and (ii) which methods are most practically useful. To begin, the straightforward way to assess the performance of a model under distribution shift would be to collect labeled (target domain) examples and then to evaluate the model on that data. However, collecting fresh labeled data from the target distribution is prohibitively expensive and time-consuming, especially if the target distribution is non-stationary. Hence, instead of using labeled data, we aim to use unlabeled data from the target distribution, that is comparatively abundant, to predict model performance. Note that in this work, our focus is not to improve performance on the target but, rather, to estimate the accuracy on the target for a given classifier.\n[^0]: Work done in part while Saurabh Garg was interning at Google ${ }^{1}$ Code is available at [https://github.com/saurabhgarg1996/ATC_code](https://github.com/saurabhgarg1996/ATC_code).\n", "images": [], "dimensions": {"dpi": 200, "height": 2200, "width": 1700}}, {"index": 2, "markdown": "![img-0.jpeg](img-0.jpeg)\nFigure 1: Illustration of our proposed method ATC. Left: using source domain validation data, we identify a threshold on a score (e.g. negative entropy) computed on model confidence such that fraction of examples above the threshold matches the validation set accuracy. ATC estimates accuracy on unlabeled target data as the fraction of examples with the score above the threshold. Interestingly, this threshold yields accurate estimates on a wide set of target distributions resulting from natural and synthetic shifts. Right: Efficacy of ATC over previously proposed approaches on our testbed with a post-hoc calibrated model. To obtain errors on the same scale, we rescale all errors with Average Confidence (AC) error. Lower estimation error is better. See Table 1 for exact numbers and comparison on various types of distribution shift. See Sec. 5 for details on our testbed.\nRecently, numerous methods have been proposed for this purpose (Deng & Zheng, 2021; Chen et al., 2021b; Jiang et al., 2021; Deng et al., 2021; Guillory et al., 2021). These methods either require calibration on the target domain to yield consistent estimates (Jiang et al., 2021; Guillory et al., 2021) or additional labeled data from several target domains to learn a linear regression function on a distributional distance that then predicts model performance (Deng et al., 2021; Deng & Zheng, 2021; Guillory et al., 2021). However, methods that require calibration on the target domain typically yield poor estimates since deep models trained and calibrated on source data are not, in general, calibrated on a (previously unseen) target domain (Ovadia et al., 2019). Besides, methods that leverage labeled data from target domains rely on the fact that unseen target domains exhibit strong linear correlation with seen target domains on the underlying distance measure and, hence, can be rendered ineffective when such target domains with labeled data are unavailable (in Sec. 5.1 we demonstrate such a failure on a real-world distribution shift problem). Therefore, throughout the paper, we assume access to labeled source data and only unlabeled data from target domain(s).\nIn this work, we first show that absent assumptions on the source classifier or the nature of the shift, no method of estimating accuracy will work generally (even in non-contrived settings). To estimate accuracy on target domain perfectly, we highlight that even given perfect knowledge of the labeled source distribution (i.e., $p_{s}(x, y)$ ) and unlabeled target distribution (i.e., $p_{t}(x)$ ), we need restrictions on the nature of the shift such that we can uniquely identify the target conditional $p_{t}(y \\mid x)$. Thus, in general, identifying the accuracy of the classifier is as hard as identifying the optimal predictor.\nSecond, motivated by the superiority of methods that use maximum softmax probability (or logit) of a model for Out-Of-Distribution (OOD) detection (Hendrycks & Gimpel, 2016; Hendrycks et al., 2019), we propose a simple method that leverages softmax probability to predict model performance. Our method, Average Thresholded Confidence (ATC), learns a threshold on a score (e.g., maximum confidence or negative entropy) of model confidence on validation source data and predicts target domain accuracy as the fraction of unlabeled target points that receive a score above that threshold. ATC selects a threshold on validation source data such that the fraction of source examples that receive the score above the threshold match the accuracy of those examples. Our primary contribution in ATC is the proposal of obtaining the threshold and observing its efficacy on (practical) accuracy estimation. Importantly, our work takes a step forward in positively answering the question raised in Deng & Zheng (2021); Deng et al. (2021) about a practical strategy to select a threshold that enables accuracy prediction with thresholded model confidence.\n", "images": [{"id": "img-0.jpeg", "top_left_x": 292, "top_left_y": 217, "bottom_right_x": 1405, "bottom_right_y": 649, "image_base64": ""}], "dimensions": {"dpi": 200, "height": 2200, "width": 1700}}, {"index": 3, "markdown": "", "images": [], "dimensions": {"dpi": 539192, "height": 944919, "width": 247256}}, {"index": 27, "markdown": "![img-8.jpeg](img-8.jpeg)\nFigure 9: Scatter plot of predicted accuracy versus (true) OOD accuracy for vision datasets except MNIST with a ResNet50 model. Results reported by aggregating MAE numbers over 4 different seeds.\n", "images": [{"id": "img-8.jpeg", "top_left_x": 290, "top_left_y": 226, "bottom_right_x": 1405, "bottom_right_y": 1834, "image_base64": ""}], "dimensions": {"dpi": 200, "height": 2200, "width": 1700}}, {"index": 28, "markdown": "| Dataset | Shift | IM | | AC | | DOC | | GDE | ATC-MC (Ours) | | ATC-NE (Ours) | | | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | | | | Pre T | Post T | Pre T | Post T | Pre T | Post T | Post T | Pre T | Post T | Pre T | Post T | | CIFAR10 | Natural | 6.60 | 5.74 | 9.88 | 6.89 | 7.25 | 6.07 | 4.77 | 3.21 | 3.02 | 2.99 | 2.85 | | | | (0.35) | (0.30) | (0.16) | (0.13) | (0.15) | (0.16) | (0.13) | (0.49) | (0.40) | (0.37) | (0.29) | | | Synthetic | 12.33 | 10.20 | 16.50 | 11.91 | 13.87 | 11.08 | 6.55 | 4.65 | 4.25 | 4.21 | 3.87 | | | | (0.51) | (0.48) | (0.26) | (0.17) | (0.18) | (0.17) | (0.35) | (0.55) | (0.55) | (0.55) | (0.75) | | CIFAR100 | Synthetic | 13.69 | 11.51 | 23.61 | 13.10 | 14.60 | 10.14 | 9.85 | 5.50 | 4.75 | 4.72 | 4.94 | | | | (0.55) | (0.41) | (1.16) | (0.80) | (0.77) | (0.64) | (0.57) | (0.70) | (0.73) | (0.74) | (0.74) | | ImageNet200 | Natural | 12.37 | 8.19 | 22.07 | 8.61 | 15.17 | 7.81 | 5.13 | 4.37 | 2.04 | 3.79 | 1.45 | | | | (0.25) | (0.33) | (0.08) | (0.25) | (0.11) | (0.29) | (0.08) | (0.39) | (0.24) | (0.30) | (0.27) | | | Synthetic | 19.86 | 12.94 | 32.44 | 13.35 | 25.02 | 12.38 | 5.41 | 5.93 | 3.09 | 5.00 | 2.68 | | | | (1.38) | (1.81) | (1.00) | (1.30) | (1.10) | (1.38) | (0.89) | (1.38) | (0.87) | (1.28) | (0.45) | | ImageNet | Natural | 7.77 | 6.50 | 18.13 | 6.02 | 8.13 | 5.76 | 6.23 | 3.88 | 2.17 | 2.06 | 0.80 | | | | (0.27) | (0.33) | (0.23) | (0.34) | (0.27) | (0.37) | (0.41) | (0.53) | (0.62) | (0.54) | (0.44) | | | Synthetic | 13.39 | 10.12 | 24.62 | 8.51 | 13.55 | 7.90 | 6.32 | 3.34 | 2.53 | 2.61 | 4.89 | | | | (0.53) | (0.63) | (0.64) | (0.71) | (0.61) | (0.72) | (0.33) | (0.53) | (0.36) | (0.33) | (0.83) | | FMoW-WILDS | Natural | 5.53 | 4.31 | 33.53 | 12.84 | 5.94 | 4.45 | 5.74 | 3.06 | 2.70 | 3.02 | 2.72 | | | | (0.33) | (0.63) | (0.13) | (12.06) | (0.36) | (0.77) | (0.55) | (0.36) | (0.54) | (0.35) | (0.44) | | RxRx1-WILDS | Natural | 5.80 | 5.72 | 7.90 | 4.84 | 5.98 | 5.98 | 6.03 | 4.66 | 4.56 | 4.41 | 4.47 | | | | (0.17) | (0.15) | (0.24) | (0.09) | (0.15) | (0.13) | (0.08) | (0.38) | (0.38) | (0.31) | (0.26) | | Amazon-WILDS | Natural | 2.40 | 2.29 | 8.01 | 2.38 | 2.40 | 2.28 | 17.87 | 1.65 | 1.62 | 1.60 | 1.59 | | | | (0.08) | (0.09) | (0.53) | (0.17) | (0.09) | (0.09) | (0.18) | (0.06) | (0.05) | (0.14) | (0.15) | | CivilCom.-WILDS | Natural | 12.64 | 10.80 | 16.76 | 11.03 | 13.31 | 10.99 | 16.65 | | 7.14 | | | | | | (0.52) | (0.48) | (0.53) | (0.49) | (0.52) | (0.49) | (0.25) | | (0.41) | | | | MNIST | Natural | 18.48 | 15.99 | 21.17 | 14.81 | 20.19 | 14.56 | 24.42 | 5.02 | 2.40 | 3.14 | 3.50 | | | | (0.45) | (1.53) | (0.24) | (3.89) | (0.23) | (3.47) | (0.41) | (0.44) | (1.83) | (0.49) | (0.17) | | ENTITY-13 | Same | 16.23 | 11.14 | 24.97 | 10.88 | 19.08 | 10.47 | 10.71 | 5.39 | 3.88 | 4.58 | 4.19 | | | | (0.77) | (0.65) | (0.70) | (0.77) | (0.65) | (0.72) | (0.74) | (0.92) | (0.61) | (0.85) | (0.16) | | | Novel | 28.53 | 22.02 | 38.33 | 21.64 | 32.43 | 21.22 | 20.61 | 13.58 | 10.28 | 12.25 | 6.63 | | | | (0.82) | (0.68) | (0.75) | (0.86) | (0.69) | (0.80) | (0.60) | (1.15) | (1.34) | (1.21) | (0.93) | | ENTITY-30 | Same | 18.59 | 14.46 | 28.82 | 14.30 | 21.63 | 13.46 | 12.92 | 9.12 | 7.75 | 8.15 | 7.64 | | | | (0.51) | (0.52) | (0.43) | (0.71) | (0.37) | (0.59) | (0.14) | (0.62) | (0.72) | (0.68) | (0.88) | | | Novel | 32.34 | 26.85 | 44.02 | 26.27 | 36.82 | 25.42 | 23.16 | 17.75 | 14.30 | 15.60 | 10.57 | | | | (0.60) | (0.58) | (0.56) | (0.79) | (0.47) | (0.68) | (0.12) | (0.76) | (0.85) | (0.86) | (0.86) | | NONLIVING-26 | Same | 18.66 | 17.17 | 26.39 | 16.14 | 19.86 | 15.58 | 16.63 | 10.87 | 10.24 | 10.07 | 10.26 | | | | (0.76) | (0.74) | (0.82) | (0.81) | (0.67) | (0.76) | (0.45) | (0.98) | (0.83) | (0.92) | (1.18) | | | Novel | 33.43 | 31.53 | 41.66 | 29.87 | 35.13 | 29.31 | 29.56 | 21.70 | 20.12 | 19.08 | 18.26 | | | | (0.67) | (0.65) | (0.67) | (0.71) | (0.54) | (0.64) | (0.21) | (0.86) | (0.75) | (0.82) | (1.12) | | LIVING-17 | Same | 12.63 | 11.05 | 18.32 | 10.46 | 14.43 | 10.14 | 9.87 | 4.57 | 3.95 | 3.81 | 4.21 | | | | (1.25) | (1.20) | (1.01) | (1.12) | (1.11) | (1.16) | (0.61) | (0.71) | (0.48) | (0.22) | (0.53) | | | Novel | 29.03 | 26.96 | 35.67 | 26.11 | 31.73 | 25.73 | 23.53 | 16.15 | 14.49 | 12.97 | 11.39 | | | | (1.44) | (1.38) | (1.09) | (1.27) | (1.19) | (1.35) | (0.52) | (1.36) | (1.46) | (1.52) | (1.72) |\nTable 3: Mean Absolute estimation Error (MAE) results for different datasets in our setup grouped by the nature of shift. 'Same' refers to same subpopulation shifts and 'Novel' refers novel subpopulation shifts. We include details about the target sets considered in each shift in Table 2. Post T denotes use of TS calibration on source. For language datasets, we use DistilBERT-base-uncased, for vision dataset we report results with DenseNet model with the exception of MNIST where we use FCN. Across all datasets, we observe that ATC achieves superior performance (lower MAE is better). For GDE post T and pre T estimates match since TS doesn't alter the argmax prediction. Results reported by aggregating MAE numbers over 4 different seeds. Values in parenthesis (i.e., $(\\cdot)$ ) denote standard deviation values.\n", "images": [], "dimensions": {"dpi": 200, "height": 2200, "width": 1700}}, {"index": 29, "markdown": "| Dataset | Shift | IM | | AC | | DOC | | GDE | ATC-MC (Ours) | | ATC-NE (Ours) | | | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | | | | Pre T | Post T | Pre T | Post T | Pre T | Post T | Post T | Pre T | Post T | Pre T | Post T | | CIFAR10 | Natural | 7.14 | 6.20 | 10.25 | 7.06 | 7.68 | 6.35 | 5.74 | 4.02 | 3.85 | 3.76 | 3.38 | | | | (0.14) | (0.11) | (0.31) | (0.33) | (0.28) | (0.27) | (0.25) | (0.38) | (0.30) | (0.33) | (0.32) | | | Synthetic | 12.62 | 10.75 | 16.50 | 11.91 | 13.93 | 11.20 | 7.97 | 5.66 | 5.03 | 4.87 | 3.63 | | | | (0.76) | (0.71) | (0.28) | (0.24) | (0.29) | (0.28) | (0.13) | (0.64) | (0.71) | (0.71) | (0.62) | | CIFAR100 | Synthetic | 12.77 | 12.34 | 16.89 | 12.73 | 11.18 | 9.63 | 12.00 | 5.61 | 5.55 | 5.65 | 5.76 | | | | (0.43) | (0.68) | (0.20) | (2.59) | (0.35) | (1.25) | (0.48) | (0.51) | (0.55) | (0.35) | (0.27) | | ImageNet200 | Natural | 12.63 | 7.99 | 23.08 | 7.22 | 15.40 | 6.33 | 5.00 | 4.60 | 1.80 | 4.06 | 1.38 | | | | (0.59) | (0.47) | (0.31) | (0.22) | (0.42) | (0.24) | (0.36) | (0.63) | (0.17) | (0.69) | (0.29) | | | Synthetic | 20.17 | 11.74 | 33.69 | 9.51 | 25.49 | 8.61 | 4.19 | 5.37 | 2.78 | 4.53 | 3.58 | | | | (0.74) | (0.80) | (0.73) | (0.51) | (0.66) | (0.50) | (0.14) | (0.88) | (0.23) | (0.79) | (0.33) | | ImageNet | Natural | 8.09 | 6.42 | 21.66 | 5.91 | 8.53 | 5.21 | 5.90 | 3.93 | 1.89 | 2.45 | 0.73 | | | | (0.25) | (0.28) | (0.38) | (0.22) | (0.26) | (0.25) | (0.44) | (0.26) | (0.21) | (0.16) | (0.10) | | | Synthetic | 13.93 | 9.90 | 28.05 | 7.56 | 13.82 | 6.19 | 6.70 | 3.33 | 2.55 | 2.12 | 5.06 | | | | (0.14) | (0.23) | (0.39) | (0.13) | (0.31) | (0.07) | (0.52) | (0.25) | (0.25) | (0.31) | (0.27) | | FMoW-WILDS | Natural | 5.15 | 3.55 | 34.64 | 5.03 | 5.58 | 3.46 | 5.08 | 2.59 | 2.33 | 2.52 | 2.22 | | | | (0.19) | (0.41) | (0.22) | (0.29) | (0.17) | (0.37) | (0.46) | (0.32) | (0.28) | (0.25) | (0.30) | | RxRx1-WILDS | Natural | 6.17 | 6.11 | 21.05 | 5.21 | 6.54 | 6.27 | 6.82 | 5.30 | 5.20 | 5.19 | 5.63 | | | | (0.20) | (0.24) | (0.31) | (0.18) | (0.21) | (0.20) | (0.31) | (0.30) | (0.44) | (0.43) | (0.55) | | Entity-13 | Same | 18.32 | 14.38 | 27.79 | 13.56 | 20.50 | 13.22 | 16.09 | 9.35 | 7.50 | 7.80 | 6.94 | | | | (0.29) | (0.53) | (1.18) | (0.58) | (0.47) | (0.58) | (0.84) | (0.79) | (0.65) | (0.62) | (0.71) | | | Novel | 28.82 | 24.03 | 38.97 | 22.96 | 31.66 | 22.61 | 25.26 | 17.11 | 13.96 | 14.75 | 9.94 | | | | (0.30) | (0.55) | (1.32) | (0.59) | (0.54) | (0.58) | (1.08) | (0.93) | (0.64) | (0.78) | | | Entity-30 | Same | 16.91 | 14.61 | 26.84 | 14.37 | 18.60 | 13.11 | 13.74 | 8.54 | 7.94 | 7.77 | 8.04 | | | | (1.33) | (1.11) | (2.15) | (1.34) | (1.69) | (1.30) | (1.07) | (1.47) | (1.38) | (1.44) | (1.51) | | | Novel | 28.66 | 25.83 | 39.21 | 25.03 | 30.95 | 23.73 | 23.15 | 15.57 | 13.24 | 12.44 | 11.05 | | | | (1.16) | (0.88) | (2.03) | (1.11) | (1.64) | (1.11) | (0.51) | (1.44) | (1.15) | (1.26) | (1.13) | | NonLIVING-26 | Same | 17.43 | 15.95 | 27.70 | 15.40 | 18.06 | 14.58 | 16.99 | 10.79 | 10.13 | 10.05 | 10.29 | | | | (0.90) | (0.86) | (0.90) | (0.69) | (1.00) | (0.78) | (1.25) | (0.62) | (0.32) | (0.46) | (0.79) | | | Novel | 29.51 | 27.75 | 40.02 | 26.77 | 30.36 | 25.93 | 27.70 | 19.64 | 17.75 | 16.90 | 15.69 | | | | (0.86) | (0.82) | (0.76) | (0.82) | (0.95) | (0.80) | (1.42) | (0.68) | (0.53) | (0.60) | (0.83) | | LIVING-17 | Same | 14.28 | 12.21 | 23.46 | 11.16 | 15.22 | 10.78 | 10.49 | 4.92 | 4.23 | 4.19 | 4.73 | | | | (0.96) | (0.93) | (1.16) | (0.90) | (0.96) | (0.99) | (0.97) | (0.57) | (0.42) | (0.35) | (0.24) | | | Novel | 28.91 | 26.35 | 38.62 | 24.91 | 30.32 | 24.52 | 22.49 | 15.42 | 13.02 | 12.29 | 10.34 | | | | (0.66) | (0.73) | (1.01) | (0.61) | (0.59) | (0.74) | (0.85) | (0.59) | (0.53) | (0.73) | (0.62) |\nTable 4: Mean Absolute estimation Error (MAE) results for different datasets in our setup grouped by the nature of shift for ResNet model. 'Same' refers to same subpopulation shifts and 'Novel' refers novel subpopulation shifts. We include details about the target sets considered in each shift in Table 2. Post T denotes use of TS calibration on source. Across all datasets, we observe that ATC achieves superior performance (lower MAE is better). For GDE post T and pre T estimates match since TS doesn't alter the argmax prediction. Results reported by aggregating MAE numbers over 4 different seeds. Values in parenthesis (i.e., $(\\cdot)$ ) denote standard deviation values.\n", "images": [], "dimensions": {"dpi": 200, "height": 2200, "width": 1700}}], "model": "mistral-ocr-2503-completion", "usage_info": {"pages_processed": 29, "doc_size_bytes": null}} @@ -9564,7 +9700,7 @@ examples: path: dataset_id: "4c54ed13-1459-44e1-8696-1a6df06f7177" requestBody: - application/json: {"payload": {"messages": [{"key": ""}, {"key": "", "key1": ""}]}, "properties": {"key": "", "key1": "", "key2": ""}} + application/json: {"payload": {"messages": [{"key": ""}, {"key": "", "key1": ""}]}} responses: "201": application/json: {"id": "dd3d2088-f021-41f6-aa26-6b86d0352e3b", "created_at": "2025-08-03T16:57:36.654Z", "updated_at": "2024-08-13T19:23:55.490Z", "deleted_at": "2026-06-12T19:29:36.465Z", "dataset_id": "fa142dc2-521b-4396-b33d-045371fdfec0", "payload": {"messages": [{"key": ""}, {"key": "", "key1": ""}]}, "properties": {"key": "", "key1": "", "key2": ""}, "source": "DIRECT_INPUT"} @@ -11247,6 +11383,67 @@ examples: application/json: "" "422": application/json: {} + create_deployment_v1_workflows_deployments_post: + speakeasy-default-create-deployment-v1-workflows-deployments-post: + requestBody: + application/json: {"name": "", "spec": {"github_url": "https://ugly-parade.com"}} + responses: + "202": + application/json: {"service_id": "", "name": "", "spec": {"github_url": "https://unwieldy-jump.net/", "type": "workflows_worker"}, "resources": {}, "status": {"available_replicas": 0, "ready_replicas": 0}, "created_at": "2025-09-24T17:27:41.536Z", "updated_at": "2024-07-04T17:27:19.277Z", "stopped": false} + "422": + application/json: {} + update_deployment_v1_workflows_deployments__name__patch: + speakeasy-default-update-deployment-v1-workflows-deployments-name-patch: + parameters: + path: + name: "" + requestBody: + application/json: {} + responses: + "202": + application/json: {"service_id": "", "name": "", "spec": {"github_url": "https://unfit-muscat.biz/", "type": "workflows_worker"}, "resources": {}, "status": {"available_replicas": 0, "ready_replicas": 0}, "created_at": "2025-02-15T12:00:55.455Z", "updated_at": "2026-11-10T22:32:25.133Z", "stopped": false} + "422": + application/json: {} + delete_deployment_v1_workflows_deployments__name__delete: + speakeasy-default-delete-deployment-v1-workflows-deployments-name-delete: + parameters: + path: + name: "" + responses: + "202": + application/json: {"service_id": "", "name": "", "spec": {"github_url": "https://severe-cassava.name/", "type": "workflows_worker"}, "resources": {}, "status": {"available_replicas": 0, "ready_replicas": 0}, "created_at": "2024-05-23T14:42:18.653Z", "updated_at": "2025-10-24T15:30:01.048Z", "stopped": false} + "422": + application/json: {} + stop_deployment_v1_workflows_deployments__name__stop_post: + speakeasy-default-stop-deployment-v1-workflows-deployments-name-stop-post: + parameters: + path: + name: "" + responses: + "202": + application/json: {"service_id": "", "name": "", "spec": {"github_url": "https://ignorant-appliance.net", "type": "workflows_worker"}, "resources": {}, "status": {"available_replicas": 0, "ready_replicas": 0}, "created_at": "2026-07-02T12:54:12.841Z", "updated_at": "2024-08-09T21:26:19.568Z", "stopped": false} + "422": + application/json: {} + start_deployment_v1_workflows_deployments__name__start_post: + speakeasy-default-start-deployment-v1-workflows-deployments-name-start-post: + parameters: + path: + name: "" + responses: + "202": + application/json: {"service_id": "", "name": "", "spec": {"github_url": "https://shameless-tuber.com/", "type": "workflows_worker"}, "resources": {}, "status": {"available_replicas": 0, "ready_replicas": 0}, "created_at": "2025-10-30T23:24:19.705Z", "updated_at": "2025-06-08T01:56:17.729Z", "stopped": false} + "422": + application/json: {} + restart_deployment_v1_workflows_deployments__name__restart_post: + speakeasy-default-restart-deployment-v1-workflows-deployments-name-restart-post: + parameters: + path: + name: "" + responses: + "202": + 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: {} examplesVersion: 1.0.2 generatedTests: {} generatedFiles: diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 14616dbdf..7e16703ca 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -32,7 +32,7 @@ generation: generateNewTests: false skipResponseBodyAssertions: false python: - version: 2.7.0 + version: 2.7.1 additionalDependencies: dev: pytest: ^8.2.2 diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 6c44b959f..8106a4973 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:45f48569f77b2594726990a398bbfc067534087872b4b354909874aea2947eec - sourceBlobDigest: sha256:79a21b93193e5d5b63b79a79c55aed6778c98b6dfebc96066c5db2fd9580476b + sourceRevisionDigest: sha256:aaceff5297440f2545e696842c26fbbf505e60067232987bd76d840163d50756 + sourceBlobDigest: sha256:4cfba6fafb89e46c6a1b760dc751b71cd15a7826104ed6bbcb8db3f4b5379259 tags: - latest - - speakeasy-mistralai-sdk-29108619696-1 + - speakeasy-mistralai-sdk-29826413688-1 targets: mistralai-azure-sdk: source: mistral-azure-source @@ -39,10 +39,10 @@ targets: mistralai-sdk: source: mistral-openapi sourceNamespace: mistral-openapi - sourceRevisionDigest: sha256:45f48569f77b2594726990a398bbfc067534087872b4b354909874aea2947eec - sourceBlobDigest: sha256:79a21b93193e5d5b63b79a79c55aed6778c98b6dfebc96066c5db2fd9580476b + sourceRevisionDigest: sha256:aaceff5297440f2545e696842c26fbbf505e60067232987bd76d840163d50756 + sourceBlobDigest: sha256:4cfba6fafb89e46c6a1b760dc751b71cd15a7826104ed6bbcb8db3f4b5379259 codeSamplesNamespace: mistral-openapi-code-samples - codeSamplesRevisionDigest: sha256:1287373c382da57b707e755a2eb775ead35bbe8e00b4ed7c8312cf52166a3617 + codeSamplesRevisionDigest: sha256:ab9dd45213695e6f7fe7db65ae525822ad2c2312c98f80d949cd0658ea04795e workflow: workflowVersion: 1.0.0 speakeasyVersion: 1.763.6 diff --git a/README.md b/README.md index 5778a6350..69492af6f 100644 --- a/README.md +++ b/README.md @@ -784,7 +784,13 @@ print(res.choices[0].message.content) #### [Workflows.Deployments](docs/sdks/deployments/README.md) * [list_deployments](docs/sdks/deployments/README.md#list_deployments) - List Deployments +* [create_deployment](docs/sdks/deployments/README.md#create_deployment) - Create Deployment +* [update_deployment](docs/sdks/deployments/README.md#update_deployment) - Update Deployment +* [delete_deployment](docs/sdks/deployments/README.md#delete_deployment) - Delete Deployment * [get_deployment](docs/sdks/deployments/README.md#get_deployment) - Get Deployment +* [stop_deployment](docs/sdks/deployments/README.md#stop_deployment) - Stop Deployment +* [start_deployment](docs/sdks/deployments/README.md#start_deployment) - Start Deployment +* [restart_deployment](docs/sdks/deployments/README.md#restart_deployment) - Restart Deployment * [get_deployment_logs](docs/sdks/deployments/README.md#get_deployment_logs) - Get Deployment Logs * [stream_deployment_logs](docs/sdks/deployments/README.md#stream_deployment_logs) - Stream Deployment Logs @@ -1087,8 +1093,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 152 of 249 methods.* -* [`ObservabilityError`](./src/mistralai/client/errors/observabilityerror.py): Bad Request - Invalid request parameters or data. Applicable to 57 of 249 methods.* +* [`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.* * [`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 58a2b0d1f..b6a00c11b 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -768,4 +768,14 @@ Based on: ### Generated - [python v2.7.0] . ### Releases -- [PyPI v2.7.0] https://pypi.org/project/mistralai/2.7.0 - . \ No newline at end of file +- [PyPI v2.7.0] https://pypi.org/project/mistralai/2.7.0 - . + +## 2026-07-21 11:46:55 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.763.6 (2.884.13) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v2.7.1] . +### Releases +- [PyPI v2.7.1] https://pypi.org/project/mistralai/2.7.1 - . \ No newline at end of file diff --git a/docs/models/conversationpayload.md b/docs/models/conversationpayload.md deleted file mode 100644 index 481f18e67..000000000 --- a/docs/models/conversationpayload.md +++ /dev/null @@ -1,9 +0,0 @@ -# ConversationPayload - - -## Fields - -| Field | Type | Required | Description | -| ---------------------- | ---------------------- | ---------------------- | ---------------------- | -| `messages` | List[Dict[str, *Any*]] | :heavy_check_mark: | N/A | -| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/createdatasetrecordrequest.md b/docs/models/createdatasetrecordrequest.md index 3ea0d68db..7ef6950ef 100644 --- a/docs/models/createdatasetrecordrequest.md +++ b/docs/models/createdatasetrecordrequest.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -| `payload` | [models.ConversationPayload](../models/conversationpayload.md) | :heavy_check_mark: | N/A | -| `properties` | Dict[str, *Any*] | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | +| `payload` | Dict[str, *Any*] | :heavy_check_mark: | Caller-authored input object stored on a dataset record. | +| `properties` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/createdeploymentrequest.md b/docs/models/createdeploymentrequest.md new file mode 100644 index 000000000..7e97e9b40 --- /dev/null +++ b/docs/models/createdeploymentrequest.md @@ -0,0 +1,10 @@ +# CreateDeploymentRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | +| `name` | *str* | :heavy_check_mark: | N/A | +| `spec` | [models.DeploymentWorkerSpecInput](../models/deploymentworkerspecinput.md) | :heavy_check_mark: | N/A | +| `resources` | [OptionalNullable[models.DeploymentResourceConfig]](../models/deploymentresourceconfig.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/datasetrecord.md b/docs/models/datasetrecord.md index dbc7c3d00..2d7ac2de8 100644 --- a/docs/models/datasetrecord.md +++ b/docs/models/datasetrecord.md @@ -10,6 +10,6 @@ | `updated_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | N/A | | `deleted_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | N/A | | `dataset_id` | *str* | :heavy_check_mark: | N/A | -| `payload` | [models.ConversationPayload](../models/conversationpayload.md) | :heavy_check_mark: | N/A | +| `payload` | Dict[str, *Any*] | :heavy_check_mark: | Caller-authored input object stored on a dataset record. | | `properties` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `source` | [models.ConversationSource](../models/conversationsource.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| `source` | [models.DatasetRecordSource](../models/datasetrecordsource.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/conversationsource.md b/docs/models/datasetrecordsource.md similarity index 68% rename from docs/models/conversationsource.md rename to docs/models/datasetrecordsource.md index ee88d9d46..b9e9de30b 100644 --- a/docs/models/conversationsource.md +++ b/docs/models/datasetrecordsource.md @@ -1,12 +1,12 @@ -# ConversationSource +# DatasetRecordSource ## Example Usage ```python -from mistralai.client.models import ConversationSource +from mistralai.client.models import DatasetRecordSource # Open enum: unrecognized values are captured as UnrecognizedStr -value: ConversationSource = "EXPLORER" +value: DatasetRecordSource = "EXPLORER" ``` diff --git a/docs/models/deletedeploymentv1workflowsdeploymentsnamedeleterequest.md b/docs/models/deletedeploymentv1workflowsdeploymentsnamedeleterequest.md new file mode 100644 index 000000000..b86c3fe78 --- /dev/null +++ b/docs/models/deletedeploymentv1workflowsdeploymentsnamedeleterequest.md @@ -0,0 +1,8 @@ +# DeleteDeploymentV1WorkflowsDeploymentsNameDeleteRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `name` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/deploymentbuildstate.md b/docs/models/deploymentbuildstate.md new file mode 100644 index 000000000..9dff58220 --- /dev/null +++ b/docs/models/deploymentbuildstate.md @@ -0,0 +1,13 @@ +# DeploymentBuildState + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | +| `phase` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `commit_sha` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `image` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `message` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `started_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | N/A | +| `finished_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/deploymentdetailresponse.md b/docs/models/deploymentdetailresponse.md index cff6eb53a..e9eb9d6f7 100644 --- a/docs/models/deploymentdetailresponse.md +++ b/docs/models/deploymentdetailresponse.md @@ -3,13 +3,14 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | -| `id` | *str* | :heavy_check_mark: | Unique identifier of the deployment | -| `name` | *str* | :heavy_check_mark: | Deployment name | -| `is_active` | *bool* | :heavy_check_mark: | Whether at least one worker is currently live | -| `is_hardened` | *Optional[bool]* | :heavy_minus_sign: | Whether the deployment has at least one authorized credential | -| `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 | -| `workers` | List[[models.DeploymentWorkerResponse](../models/deploymentworkerresponse.md)] | :heavy_check_mark: | Workers registered for the deployment | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique identifier of the deployment | +| `name` | *str* | :heavy_check_mark: | Deployment name | +| `is_active` | *bool* | :heavy_check_mark: | Whether at least one worker is currently live | +| `is_hardened` | *Optional[bool]* | :heavy_minus_sign: | Whether the deployment has at least one authorized credential | +| `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 | +| `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/deploymentobservedstate.md b/docs/models/deploymentobservedstate.md new file mode 100644 index 000000000..5f4779d78 --- /dev/null +++ b/docs/models/deploymentobservedstate.md @@ -0,0 +1,16 @@ +# DeploymentObservedState + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | +| `phase` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `available_replicas` | *Optional[int]* | :heavy_minus_sign: | N/A | +| `ready_replicas` | *Optional[int]* | :heavy_minus_sign: | N/A | +| `endpoint` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `message` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `last_seen` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | N/A | +| `deployed_revision` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `generation` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | +| `build_state` | [OptionalNullable[models.DeploymentBuildState]](../models/deploymentbuildstate.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/deploymentresourceconfig.md b/docs/models/deploymentresourceconfig.md new file mode 100644 index 000000000..92261a14a --- /dev/null +++ b/docs/models/deploymentresourceconfig.md @@ -0,0 +1,12 @@ +# DeploymentResourceConfig + + +## Fields + +| Field | Type | Required | Description | +| ----------------------- | ----------------------- | ----------------------- | ----------------------- | +| `replicas` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | +| `cpu_request` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `cpu_limit` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `memory_request` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `memory_limit` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/deploymentresourceconfigupdate.md b/docs/models/deploymentresourceconfigupdate.md new file mode 100644 index 000000000..e11a82754 --- /dev/null +++ b/docs/models/deploymentresourceconfigupdate.md @@ -0,0 +1,12 @@ +# DeploymentResourceConfigUpdate + + +## Fields + +| Field | Type | Required | Description | +| ----------------------- | ----------------------- | ----------------------- | ----------------------- | +| `replicas` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | +| `cpu_request` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `cpu_limit` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `memory_request` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `memory_limit` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/deploymentresponse.md b/docs/models/deploymentresponse.md index 54486bacf..4369a71ca 100644 --- a/docs/models/deploymentresponse.md +++ b/docs/models/deploymentresponse.md @@ -3,12 +3,13 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | -| `id` | *str* | :heavy_check_mark: | Unique identifier of the deployment | -| `name` | *str* | :heavy_check_mark: | Deployment name | -| `is_active` | *bool* | :heavy_check_mark: | Whether at least one worker is currently live | -| `is_hardened` | *Optional[bool]* | :heavy_minus_sign: | Whether the deployment has at least one authorized credential | -| `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 | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique identifier of the deployment | +| `name` | *str* | :heavy_check_mark: | Deployment name | +| `is_active` | *bool* | :heavy_check_mark: | Whether at least one worker is currently live | +| `is_hardened` | *Optional[bool]* | :heavy_minus_sign: | Whether the deployment has at least one authorized credential | +| `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 | +| `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/deploymentworkerspecinput.md b/docs/models/deploymentworkerspecinput.md new file mode 100644 index 000000000..11e700854 --- /dev/null +++ b/docs/models/deploymentworkerspecinput.md @@ -0,0 +1,11 @@ +# DeploymentWorkerSpecInput + + +## Fields + +| Field | Type | Required | Description | +| ----------------------- | ----------------------- | ----------------------- | ----------------------- | +| `github_url` | *str* | :heavy_check_mark: | N/A | +| `revision` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `entrypoint` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `working_dir` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/deploymentworkerspecresponse.md b/docs/models/deploymentworkerspecresponse.md new file mode 100644 index 000000000..8c9114c6c --- /dev/null +++ b/docs/models/deploymentworkerspecresponse.md @@ -0,0 +1,14 @@ +# DeploymentWorkerSpecResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------- | ----------------------- | ----------------------- | ----------------------- | +| `github_url` | *str* | :heavy_check_mark: | N/A | +| `type` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `revision` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `entrypoint` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `working_dir` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `restarted_at` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `commit_sha` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/manageddeploymentresponse.md b/docs/models/manageddeploymentresponse.md new file mode 100644 index 000000000..f09b1b9c1 --- /dev/null +++ b/docs/models/manageddeploymentresponse.md @@ -0,0 +1,20 @@ +# ManagedDeploymentResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | +| `service_id` | *str* | :heavy_check_mark: | N/A | +| `name` | *str* | :heavy_check_mark: | N/A | +| `spec` | [models.DeploymentWorkerSpecResponse](../models/deploymentworkerspecresponse.md) | :heavy_check_mark: | N/A | +| `resources` | [models.DeploymentResourceConfig](../models/deploymentresourceconfig.md) | :heavy_check_mark: | N/A | +| `status` | [models.DeploymentObservedState](../models/deploymentobservedstate.md) | :heavy_check_mark: | N/A | +| `created_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | N/A | +| `updated_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | N/A | +| `stopped` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `rollout_status` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `created_by` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `updated_by` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `deployed_by` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `deployed_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/ocrrequest.md b/docs/models/ocrrequest.md index 6851e03e1..4bc19e381 100644 --- a/docs/models/ocrrequest.md +++ b/docs/models/ocrrequest.md @@ -15,7 +15,7 @@ | `document_annotation_format` | [OptionalNullable[models.ResponseFormat]](../models/responseformat.md) | :heavy_minus_sign: | Structured output class for extracting useful information from the entire document. Only json_schema is valid for this field | **Example 1:** {
"type": "text"
}
**Example 2:** {
"type": "json_object"
}
**Example 3:** {
"type": "json_schema",
"json_schema": {
"schema": {
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"authors": {
"items": {
"type": "string"
},
"title": "Authors",
"type": "array"
}
},
"required": [
"name",
"authors"
],
"title": "Book",
"type": "object",
"additionalProperties": false
},
"name": "book",
"strict": true
}
} | | `document_annotation_prompt` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional prompt to guide the model in extracting structured output from the entire document. A document_annotation_format must be provided. | | | `table_format` | [OptionalNullable[models.TableFormat]](../models/tableformat.md) | :heavy_minus_sign: | N/A | | -| `extract_header` | *Optional[bool]* | :heavy_minus_sign: | N/A | | -| `extract_footer` | *Optional[bool]* | :heavy_minus_sign: | N/A | | +| `extract_header` | *Optional[bool]* | :heavy_minus_sign: | Extract the page header into the response's `header` field and remove it from the markdown content | | +| `extract_footer` | *Optional[bool]* | :heavy_minus_sign: | Extract the page footer into the response's `footer` field and remove it from the markdown content | | | `include_blocks` | *Optional[bool]* | :heavy_minus_sign: | Return paragraph-level bounding boxes for all content blocks in the response | | -| `confidence_scores_granularity` | [OptionalNullable[models.ConfidenceScoresGranularity]](../models/confidencescoresgranularity.md) | :heavy_minus_sign: | Granularity for confidence scores: 'word' (per-word scores) or 'page' (aggregate only). Defaults to None (no confidence scores) to keep response payload small. | | \ No newline at end of file +| `confidence_scores_granularity` | [OptionalNullable[models.ConfidenceScoresGranularity]](../models/confidencescoresgranularity.md) | :heavy_minus_sign: | Granularity for confidence scores: 'page' (aggregate only), 'word' (per-word scores). Defaults to None (no confidence scores) to keep response payload small. | | \ No newline at end of file diff --git a/docs/models/responseconnectorlisttoolsv1.md b/docs/models/responseconnectorlisttoolsv1.md index 18a31c562..1dd0cadfe 100644 --- a/docs/models/responseconnectorlisttoolsv1.md +++ b/docs/models/responseconnectorlisttoolsv1.md @@ -5,12 +5,6 @@ Successful Response ## Supported Types -### `List[models.ConnectorTool]` - -```python -value: List[models.ConnectorTool] = /* values here */ -``` - ### `List[models.MCPTool]` ```python diff --git a/docs/models/restartdeploymentv1workflowsdeploymentsnamerestartpostrequest.md b/docs/models/restartdeploymentv1workflowsdeploymentsnamerestartpostrequest.md new file mode 100644 index 000000000..1c5889cb4 --- /dev/null +++ b/docs/models/restartdeploymentv1workflowsdeploymentsnamerestartpostrequest.md @@ -0,0 +1,8 @@ +# RestartDeploymentV1WorkflowsDeploymentsNameRestartPostRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `name` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/startdeploymentv1workflowsdeploymentsnamestartpostrequest.md b/docs/models/startdeploymentv1workflowsdeploymentsnamestartpostrequest.md new file mode 100644 index 000000000..79b57f64c --- /dev/null +++ b/docs/models/startdeploymentv1workflowsdeploymentsnamestartpostrequest.md @@ -0,0 +1,8 @@ +# StartDeploymentV1WorkflowsDeploymentsNameStartPostRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `name` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/stopdeploymentv1workflowsdeploymentsnamestoppostrequest.md b/docs/models/stopdeploymentv1workflowsdeploymentsnamestoppostrequest.md new file mode 100644 index 000000000..556a43ff2 --- /dev/null +++ b/docs/models/stopdeploymentv1workflowsdeploymentsnamestoppostrequest.md @@ -0,0 +1,8 @@ +# StopDeploymentV1WorkflowsDeploymentsNameStopPostRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `name` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/updateconnectorrequest.md b/docs/models/updateconnectorrequest.md index 005943e92..3e715e561 100644 --- a/docs/models/updateconnectorrequest.md +++ b/docs/models/updateconnectorrequest.md @@ -10,8 +10,6 @@ | `description` | *OptionalNullable[str]* | :heavy_minus_sign: | 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. | | `system_prompt` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional system prompt for the connector. | -| `connection_config` | Dict[str, *Any*] | :heavy_minus_sign: | Optional new connection config. | -| `connection_secrets` | Dict[str, *Any*] | :heavy_minus_sign: | Optional new connection secrets | | `protocol` | *Optional[Literal["mcp"]]* | :heavy_minus_sign: | N/A | | `server` | *OptionalNullable[str]* | :heavy_minus_sign: | New server url for your mcp connector. | | `headers` | Dict[str, *Any*] | :heavy_minus_sign: | New headers for your mcp connector. | diff --git a/docs/models/updatedatasetrecordpayloadrequest.md b/docs/models/updatedatasetrecordpayloadrequest.md index f152d8432..ca9e049bd 100644 --- a/docs/models/updatedatasetrecordpayloadrequest.md +++ b/docs/models/updatedatasetrecordpayloadrequest.md @@ -3,6 +3,6 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -| `payload` | [models.ConversationPayload](../models/conversationpayload.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | +| `payload` | Dict[str, *Any*] | :heavy_check_mark: | Caller-authored input object stored on a dataset record. | \ No newline at end of file diff --git a/docs/models/updatedeploymentrequest.md b/docs/models/updatedeploymentrequest.md new file mode 100644 index 000000000..3c0cc98f6 --- /dev/null +++ b/docs/models/updatedeploymentrequest.md @@ -0,0 +1,9 @@ +# UpdateDeploymentRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | +| `spec` | [OptionalNullable[models.WorkflowsWorkerSpecUpdate]](../models/workflowsworkerspecupdate.md) | :heavy_minus_sign: | N/A | +| `resources` | [OptionalNullable[models.DeploymentResourceConfigUpdate]](../models/deploymentresourceconfigupdate.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/updatedeploymentv1workflowsdeploymentsnamepatchrequest.md b/docs/models/updatedeploymentv1workflowsdeploymentsnamepatchrequest.md new file mode 100644 index 000000000..8e85a45f3 --- /dev/null +++ b/docs/models/updatedeploymentv1workflowsdeploymentsnamepatchrequest.md @@ -0,0 +1,9 @@ +# UpdateDeploymentV1WorkflowsDeploymentsNamePatchRequest + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | +| `name` | *str* | :heavy_check_mark: | N/A | +| `update_deployment_request` | [models.UpdateDeploymentRequest](../models/updatedeploymentrequest.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/useridentity.md b/docs/models/useridentity.md index d372734dc..4a4236e29 100644 --- a/docs/models/useridentity.md +++ b/docs/models/useridentity.md @@ -3,9 +3,12 @@ ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `id` | *str* | :heavy_check_mark: | N/A | -| `email` | *Nullable[str]* | :heavy_check_mark: | N/A | -| `first_name` | *Nullable[str]* | :heavy_check_mark: | N/A | -| `last_name` | *Nullable[str]* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | +| `id` | *str* | :heavy_check_mark: | N/A | +| `email` | *Nullable[str]* | :heavy_check_mark: | N/A | +| `first_name` | *Nullable[str]* | :heavy_check_mark: | N/A | +| `last_name` | *Nullable[str]* | :heavy_check_mark: | N/A | +| `workspace` | [OptionalNullable[models.UserIdentityWorkspace]](../models/useridentityworkspace.md) | :heavy_minus_sign: | N/A | +| `organization` | [OptionalNullable[models.UserIdentityOrganization]](../models/useridentityorganization.md) | :heavy_minus_sign: | N/A | +| `api_key` | [OptionalNullable[models.UserIdentityAPIKey]](../models/useridentityapikey.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/useridentityapikey.md b/docs/models/useridentityapikey.md new file mode 100644 index 000000000..c6a144b1b --- /dev/null +++ b/docs/models/useridentityapikey.md @@ -0,0 +1,9 @@ +# UserIdentityAPIKey + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `id` | *str* | :heavy_check_mark: | N/A | +| `name` | *Nullable[str]* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/useridentityorganization.md b/docs/models/useridentityorganization.md new file mode 100644 index 000000000..d62e58810 --- /dev/null +++ b/docs/models/useridentityorganization.md @@ -0,0 +1,9 @@ +# UserIdentityOrganization + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `id` | *str* | :heavy_check_mark: | N/A | +| `name` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/useridentityworkspace.md b/docs/models/useridentityworkspace.md new file mode 100644 index 000000000..cdc0eb536 --- /dev/null +++ b/docs/models/useridentityworkspace.md @@ -0,0 +1,9 @@ +# UserIdentityWorkspace + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `id` | *str* | :heavy_check_mark: | N/A | +| `name` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/workflowsworkerspecupdate.md b/docs/models/workflowsworkerspecupdate.md new file mode 100644 index 000000000..6bf1bc565 --- /dev/null +++ b/docs/models/workflowsworkerspecupdate.md @@ -0,0 +1,11 @@ +# WorkflowsWorkerSpecUpdate + + +## Fields + +| Field | Type | Required | Description | +| ----------------------- | ----------------------- | ----------------------- | ----------------------- | +| `github_url` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `revision` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `entrypoint` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `working_dir` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/sdks/connectors/README.md b/docs/sdks/connectors/README.md index c3418a940..01aa4276e 100644 --- a/docs/sdks/connectors/README.md +++ b/docs/sdks/connectors/README.md @@ -1109,8 +1109,6 @@ with Mistral( | `description` | *OptionalNullable[str]* | :heavy_minus_sign: | 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. | | `system_prompt` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional system prompt for the connector. | -| `connection_config` | Dict[str, *Any*] | :heavy_minus_sign: | Optional new connection config. | -| `connection_secrets` | Dict[str, *Any*] | :heavy_minus_sign: | Optional new connection secrets | | `server` | *OptionalNullable[str]* | :heavy_minus_sign: | New server url for your mcp connector. | | `headers` | Dict[str, *Any*] | :heavy_minus_sign: | New headers for your mcp connector. | | `auth_data` | [OptionalNullable[models.AuthData]](../../models/authdata.md) | :heavy_minus_sign: | New authentication data for your mcp connector. | diff --git a/docs/sdks/datasets/README.md b/docs/sdks/datasets/README.md index c04ced0cf..d609dd653 100644 --- a/docs/sdks/datasets/README.md +++ b/docs/sdks/datasets/README.md @@ -276,7 +276,7 @@ Add a conversation to the dataset ```python -from mistralai.client import Mistral, models +from mistralai.client import Mistral import os @@ -284,8 +284,8 @@ with Mistral( api_key=os.getenv("MISTRAL_API_KEY", ""), ) as mistral: - res = mistral.beta.observability.datasets.create_record(dataset_id="4c54ed13-1459-44e1-8696-1a6df06f7177", payload=models.ConversationPayload( - messages=[ + res = mistral.beta.observability.datasets.create_record(dataset_id="4c54ed13-1459-44e1-8696-1a6df06f7177", payload={ + "messages": [ { "key": "", }, @@ -294,10 +294,6 @@ with Mistral( "key1": "", }, ], - ), properties={ - "key": "", - "key1": "", - "key2": "", }) # Handle response @@ -310,8 +306,8 @@ with Mistral( | Parameter | Type | Required | Description | | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | | `dataset_id` | *str* | :heavy_check_mark: | N/A | -| `payload` | [models.ConversationPayload](../../models/conversationpayload.md) | :heavy_check_mark: | N/A | -| `properties` | Dict[str, *Any*] | :heavy_check_mark: | N/A | +| `payload` | Dict[str, *Any*] | :heavy_check_mark: | Caller-authored input object stored on a dataset record. | +| `properties` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `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/docs/sdks/deployments/README.md b/docs/sdks/deployments/README.md index 914d792fc..eaae63b14 100644 --- a/docs/sdks/deployments/README.md +++ b/docs/sdks/deployments/README.md @@ -5,7 +5,13 @@ ### Available Operations * [list_deployments](#list_deployments) - List Deployments +* [create_deployment](#create_deployment) - Create Deployment +* [update_deployment](#update_deployment) - Update Deployment +* [delete_deployment](#delete_deployment) - Delete Deployment * [get_deployment](#get_deployment) - Get Deployment +* [stop_deployment](#stop_deployment) - Stop Deployment +* [start_deployment](#start_deployment) - Start Deployment +* [restart_deployment](#restart_deployment) - Restart Deployment * [get_deployment_logs](#get_deployment_logs) - Get Deployment Logs * [stream_deployment_logs](#stream_deployment_logs) - Stream Deployment Logs @@ -56,6 +62,135 @@ with Mistral( | errors.HTTPValidationError | 422 | application/json | | errors.SDKError | 4XX, 5XX | \*/\* | +## create_deployment + +Create Deployment + +### Example Usage + + +```python +from mistralai.client import Mistral +import os + + +with Mistral( + api_key=os.getenv("MISTRAL_API_KEY", ""), +) as mistral: + + res = mistral.workflows.deployments.create_deployment(name="", spec={ + "github_url": "https://ugly-parade.com", + }) + + # Handle response + print(res) + +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `name` | *str* | :heavy_check_mark: | N/A | +| `spec` | [models.DeploymentWorkerSpecInput](../../models/deploymentworkerspecinput.md) | :heavy_check_mark: | N/A | +| `resources` | [OptionalNullable[models.DeploymentResourceConfig]](../../models/deploymentresourceconfig.md) | :heavy_minus_sign: | 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.ManagedDeploymentResponse](../../models/manageddeploymentresponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| errors.HTTPValidationError | 422 | application/json | +| errors.SDKError | 4XX, 5XX | \*/\* | + +## update_deployment + +Update Deployment + +### Example Usage + + +```python +from mistralai.client import Mistral +import os + + +with Mistral( + api_key=os.getenv("MISTRAL_API_KEY", ""), +) as mistral: + + res = mistral.workflows.deployments.update_deployment(name="") + + # Handle response + print(res) + +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `name` | *str* | :heavy_check_mark: | N/A | +| `spec` | [OptionalNullable[models.WorkflowsWorkerSpecUpdate]](../../models/workflowsworkerspecupdate.md) | :heavy_minus_sign: | N/A | +| `resources` | [OptionalNullable[models.DeploymentResourceConfigUpdate]](../../models/deploymentresourceconfigupdate.md) | :heavy_minus_sign: | 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.ManagedDeploymentResponse](../../models/manageddeploymentresponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| errors.HTTPValidationError | 422 | application/json | +| errors.SDKError | 4XX, 5XX | \*/\* | + +## delete_deployment + +Delete Deployment + +### Example Usage + + +```python +from mistralai.client import Mistral +import os + + +with Mistral( + api_key=os.getenv("MISTRAL_API_KEY", ""), +) as mistral: + + res = mistral.workflows.deployments.delete_deployment(name="") + + # Handle response + print(res) + +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `name` | *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.ManagedDeploymentResponse](../../models/manageddeploymentresponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| errors.HTTPValidationError | 422 | application/json | +| errors.SDKError | 4XX, 5XX | \*/\* | + ## get_deployment Get Deployment @@ -97,6 +232,129 @@ with Mistral( | errors.HTTPValidationError | 422 | application/json | | errors.SDKError | 4XX, 5XX | \*/\* | +## stop_deployment + +Stop Deployment + +### Example Usage + + +```python +from mistralai.client import Mistral +import os + + +with Mistral( + api_key=os.getenv("MISTRAL_API_KEY", ""), +) as mistral: + + res = mistral.workflows.deployments.stop_deployment(name="") + + # Handle response + print(res) + +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `name` | *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.ManagedDeploymentResponse](../../models/manageddeploymentresponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| errors.HTTPValidationError | 422 | application/json | +| errors.SDKError | 4XX, 5XX | \*/\* | + +## start_deployment + +Start Deployment + +### Example Usage + + +```python +from mistralai.client import Mistral +import os + + +with Mistral( + api_key=os.getenv("MISTRAL_API_KEY", ""), +) as mistral: + + res = mistral.workflows.deployments.start_deployment(name="") + + # Handle response + print(res) + +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `name` | *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.ManagedDeploymentResponse](../../models/manageddeploymentresponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| errors.HTTPValidationError | 422 | application/json | +| errors.SDKError | 4XX, 5XX | \*/\* | + +## restart_deployment + +Restart Deployment + +### Example Usage + + +```python +from mistralai.client import Mistral +import os + + +with Mistral( + api_key=os.getenv("MISTRAL_API_KEY", ""), +) as mistral: + + res = mistral.workflows.deployments.restart_deployment(name="") + + # Handle response + print(res) + +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `name` | *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.ManagedDeploymentResponse](../../models/manageddeploymentresponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| errors.HTTPValidationError | 422 | application/json | +| errors.SDKError | 4XX, 5XX | \*/\* | + ## get_deployment_logs Retrieve logs for a deployment (across all of its workers). diff --git a/docs/sdks/ocr/README.md b/docs/sdks/ocr/README.md index 68a2879f5..70ce47242 100644 --- a/docs/sdks/ocr/README.md +++ b/docs/sdks/ocr/README.md @@ -31,7 +31,7 @@ with Mistral( "type": "text", }, document_annotation_format={ "type": "text", - }, include_blocks=False) + }, include_blocks=True) # Handle response print(res) @@ -52,10 +52,10 @@ with Mistral( | `document_annotation_format` | [OptionalNullable[models.ResponseFormat]](../../models/responseformat.md) | :heavy_minus_sign: | Structured output class for extracting useful information from the entire document. Only json_schema is valid for this field | **Example 1:** {
"type": "text"
}
**Example 2:** {
"type": "json_object"
}
**Example 3:** {
"type": "json_schema",
"json_schema": {
"schema": {
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"authors": {
"items": {
"type": "string"
},
"title": "Authors",
"type": "array"
}
},
"required": [
"name",
"authors"
],
"title": "Book",
"type": "object",
"additionalProperties": false
},
"name": "book",
"strict": true
}
} | | `document_annotation_prompt` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional prompt to guide the model in extracting structured output from the entire document. A document_annotation_format must be provided. | | | `table_format` | [OptionalNullable[models.TableFormat]](../../models/tableformat.md) | :heavy_minus_sign: | N/A | | -| `extract_header` | *Optional[bool]* | :heavy_minus_sign: | N/A | | -| `extract_footer` | *Optional[bool]* | :heavy_minus_sign: | N/A | | +| `extract_header` | *Optional[bool]* | :heavy_minus_sign: | Extract the page header into the response's `header` field and remove it from the markdown content | | +| `extract_footer` | *Optional[bool]* | :heavy_minus_sign: | Extract the page footer into the response's `footer` field and remove it from the markdown content | | | `include_blocks` | *Optional[bool]* | :heavy_minus_sign: | Return paragraph-level bounding boxes for all content blocks in the response | | -| `confidence_scores_granularity` | [OptionalNullable[models.ConfidenceScoresGranularity]](../../models/confidencescoresgranularity.md) | :heavy_minus_sign: | Granularity for confidence scores: 'word' (per-word scores) or 'page' (aggregate only). Defaults to None (no confidence scores) to keep response payload small. | | +| `confidence_scores_granularity` | [OptionalNullable[models.ConfidenceScoresGranularity]](../../models/confidencescoresgranularity.md) | :heavy_minus_sign: | Granularity for confidence scores: 'page' (aggregate only), 'word' (per-word scores). Defaults to None (no confidence scores) to keep response payload small. | | | `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/docs/sdks/records/README.md b/docs/sdks/records/README.md index ce8f1f689..a14cf4e96 100644 --- a/docs/sdks/records/README.md +++ b/docs/sdks/records/README.md @@ -194,7 +194,7 @@ Update a dataset record conversation payload ```python -from mistralai.client import Mistral, models +from mistralai.client import Mistral import os @@ -202,8 +202,8 @@ with Mistral( api_key=os.getenv("MISTRAL_API_KEY", ""), ) as mistral: - mistral.beta.observability.datasets.records.update_payload(dataset_record_id="17506b15-748e-4e7c-9737-c97c44d04b0f", payload=models.ConversationPayload( - messages=[ + mistral.beta.observability.datasets.records.update_payload(dataset_record_id="17506b15-748e-4e7c-9737-c97c44d04b0f", payload={ + "messages": [ { "key": "", }, @@ -214,7 +214,7 @@ with Mistral( "key": "", }, ], - )) + }) # Use the SDK ... @@ -225,7 +225,7 @@ with Mistral( | Parameter | Type | Required | Description | | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | | `dataset_record_id` | *str* | :heavy_check_mark: | N/A | -| `payload` | [models.ConversationPayload](../../models/conversationpayload.md) | :heavy_check_mark: | N/A | +| `payload` | Dict[str, *Any*] | :heavy_check_mark: | Caller-authored input object stored on a dataset record. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Errors diff --git a/pyproject.toml b/pyproject.toml index c901f3475..d2cd0735c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "mistralai" -version = "2.7.0" +version = "2.7.1" description = "Python Client SDK for the Mistral AI API." authors = [{ name = "Mistral" }] requires-python = ">=3.10" diff --git a/src/mistralai/client/_version.py b/src/mistralai/client/_version.py index 1afd58d0b..48606bf30 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.0" +__version__: str = "2.7.1" __openapi_doc_version__: str = "1.0.0" __gen_version__: str = "2.884.13" -__user_agent__: str = "speakeasy-sdk/python 2.7.0 2.884.13 1.0.0 mistralai" +__user_agent__: str = "speakeasy-sdk/python 2.7.1 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 472c1e841..e3ba3797e 100644 --- a/src/mistralai/client/connectors.py +++ b/src/mistralai/client/connectors.py @@ -5084,8 +5084,6 @@ def update( description: OptionalNullable[str] = UNSET, icon_url: OptionalNullable[str] = UNSET, system_prompt: OptionalNullable[str] = UNSET, - connection_config: OptionalNullable[Dict[str, Any]] = UNSET, - connection_secrets: OptionalNullable[Dict[str, Any]] = UNSET, server: OptionalNullable[str] = UNSET, headers: OptionalNullable[Dict[str, Any]] = UNSET, auth_data: OptionalNullable[ @@ -5106,8 +5104,6 @@ def update( :param description: The description of the connector. :param icon_url: The optional url of the icon you want to associate to the connector. :param system_prompt: Optional system prompt for the connector. - :param connection_config: Optional new connection config. - :param connection_secrets: Optional new connection secrets :param server: New server url for your mcp connector. :param headers: New headers for your mcp connector. :param auth_data: New authentication data for your mcp connector. @@ -5137,8 +5133,6 @@ def update( description=description, icon_url=icon_url, system_prompt=system_prompt, - connection_config=connection_config, - connection_secrets=connection_secrets, server=server, headers=headers, auth_data=utils.get_pydantic_model( @@ -5220,8 +5214,6 @@ async def update_async( description: OptionalNullable[str] = UNSET, icon_url: OptionalNullable[str] = UNSET, system_prompt: OptionalNullable[str] = UNSET, - connection_config: OptionalNullable[Dict[str, Any]] = UNSET, - connection_secrets: OptionalNullable[Dict[str, Any]] = UNSET, server: OptionalNullable[str] = UNSET, headers: OptionalNullable[Dict[str, Any]] = UNSET, auth_data: OptionalNullable[ @@ -5242,8 +5234,6 @@ async def update_async( :param description: The description of the connector. :param icon_url: The optional url of the icon you want to associate to the connector. :param system_prompt: Optional system prompt for the connector. - :param connection_config: Optional new connection config. - :param connection_secrets: Optional new connection secrets :param server: New server url for your mcp connector. :param headers: New headers for your mcp connector. :param auth_data: New authentication data for your mcp connector. @@ -5273,8 +5263,6 @@ async def update_async( description=description, icon_url=icon_url, system_prompt=system_prompt, - connection_config=connection_config, - connection_secrets=connection_secrets, server=server, headers=headers, auth_data=utils.get_pydantic_model( diff --git a/src/mistralai/client/datasets.py b/src/mistralai/client/datasets.py index 2e4e12201..0c9718747 100644 --- a/src/mistralai/client/datasets.py +++ b/src/mistralai/client/datasets.py @@ -9,7 +9,7 @@ from mistralai.client.types import OptionalNullable, UNSET from mistralai.client.utils import get_security_from_env from mistralai.client.utils.unmarshal_json_response import unmarshal_json_response -from typing import Any, Dict, List, Mapping, Optional, Union +from typing import Any, Dict, List, Mapping, Optional class Datasets(BaseSDK): @@ -1215,8 +1215,8 @@ def create_record( self, *, dataset_id: str, - payload: Union[models.ConversationPayload, models.ConversationPayloadTypedDict], - properties: Dict[str, Any], + payload: Dict[str, Any], + properties: Optional[Dict[str, Any]] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -1225,7 +1225,7 @@ def create_record( r"""Add a conversation to the dataset :param dataset_id: - :param payload: + :param payload: Caller-authored input object stored on a dataset record. :param properties: :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -1248,7 +1248,7 @@ def create_record( request = models.CreateDatasetRecordV1ObservabilityDatasetsDatasetIDRecordsPostRequest( dataset_id=dataset_id, create_dataset_record_request=models.CreateDatasetRecordRequest( - payload=utils.get_pydantic_model(payload, models.ConversationPayload), + payload=payload, properties=properties, ), ) @@ -1323,8 +1323,8 @@ async def create_record_async( self, *, dataset_id: str, - payload: Union[models.ConversationPayload, models.ConversationPayloadTypedDict], - properties: Dict[str, Any], + payload: Dict[str, Any], + properties: Optional[Dict[str, Any]] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -1333,7 +1333,7 @@ async def create_record_async( r"""Add a conversation to the dataset :param dataset_id: - :param payload: + :param payload: Caller-authored input object stored on a dataset record. :param properties: :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -1356,7 +1356,7 @@ async def create_record_async( request = models.CreateDatasetRecordV1ObservabilityDatasetsDatasetIDRecordsPostRequest( dataset_id=dataset_id, create_dataset_record_request=models.CreateDatasetRecordRequest( - payload=utils.get_pydantic_model(payload, models.ConversationPayload), + payload=payload, properties=properties, ), ) diff --git a/src/mistralai/client/deployments.py b/src/mistralai/client/deployments.py index 72255ee6d..1654132c4 100644 --- a/src/mistralai/client/deployments.py +++ b/src/mistralai/client/deployments.py @@ -8,7 +8,7 @@ from mistralai.client.types import OptionalNullable, UNSET from mistralai.client.utils import eventstreaming, get_security_from_env from mistralai.client.utils.unmarshal_json_response import unmarshal_json_response -from typing import Any, Mapping, Optional +from typing import Any, Mapping, Optional, Union class Deployments(BaseSDK): @@ -230,6 +230,646 @@ async def list_deployments_async( raise errors.SDKError("Unexpected response received", http_res) + def create_deployment( + self, + *, + name: str, + spec: Union[ + models.DeploymentWorkerSpecInput, models.DeploymentWorkerSpecInputTypedDict + ], + resources: OptionalNullable[ + Union[ + models.DeploymentResourceConfig, + models.DeploymentResourceConfigTypedDict, + ] + ] = UNSET, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.ManagedDeploymentResponse: + r"""Create Deployment + + :param name: + :param spec: + :param resources: + :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.CreateDeploymentRequest( + name=name, + spec=utils.get_pydantic_model(spec, models.DeploymentWorkerSpecInput), + resources=utils.get_pydantic_model( + resources, OptionalNullable[models.DeploymentResourceConfig] + ), + ) + + req = self._build_request( + method="POST", + path="/v1/workflows/deployments", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=True, + request_has_path_params=False, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + get_serialized_body=lambda: utils.serialize_request_body( + request, False, False, "json", models.CreateDeploymentRequest + ), + 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="create_deployment_v1_workflows_deployments_post", + 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, "202", "application/json"): + return unmarshal_json_response(models.ManagedDeploymentResponse, 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 create_deployment_async( + self, + *, + name: str, + spec: Union[ + models.DeploymentWorkerSpecInput, models.DeploymentWorkerSpecInputTypedDict + ], + resources: OptionalNullable[ + Union[ + models.DeploymentResourceConfig, + models.DeploymentResourceConfigTypedDict, + ] + ] = UNSET, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.ManagedDeploymentResponse: + r"""Create Deployment + + :param name: + :param spec: + :param resources: + :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.CreateDeploymentRequest( + name=name, + spec=utils.get_pydantic_model(spec, models.DeploymentWorkerSpecInput), + resources=utils.get_pydantic_model( + resources, OptionalNullable[models.DeploymentResourceConfig] + ), + ) + + req = self._build_request_async( + method="POST", + path="/v1/workflows/deployments", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=True, + request_has_path_params=False, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + get_serialized_body=lambda: utils.serialize_request_body( + request, False, False, "json", models.CreateDeploymentRequest + ), + 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="create_deployment_v1_workflows_deployments_post", + 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, "202", "application/json"): + return unmarshal_json_response(models.ManagedDeploymentResponse, 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 update_deployment( + self, + *, + name: str, + spec: OptionalNullable[ + Union[ + models.WorkflowsWorkerSpecUpdate, + models.WorkflowsWorkerSpecUpdateTypedDict, + ] + ] = UNSET, + resources: OptionalNullable[ + Union[ + models.DeploymentResourceConfigUpdate, + models.DeploymentResourceConfigUpdateTypedDict, + ] + ] = UNSET, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.ManagedDeploymentResponse: + r"""Update Deployment + + :param name: + :param spec: + :param resources: + :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.UpdateDeploymentV1WorkflowsDeploymentsNamePatchRequest( + name=name, + update_deployment_request=models.UpdateDeploymentRequest( + spec=utils.get_pydantic_model( + spec, OptionalNullable[models.WorkflowsWorkerSpecUpdate] + ), + resources=utils.get_pydantic_model( + resources, OptionalNullable[models.DeploymentResourceConfigUpdate] + ), + ), + ) + + req = self._build_request( + method="PATCH", + path="/v1/workflows/deployments/{name}", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=True, + 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, + get_serialized_body=lambda: utils.serialize_request_body( + request.update_deployment_request, + False, + False, + "json", + models.UpdateDeploymentRequest, + ), + 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="update_deployment_v1_workflows_deployments__name__patch", + 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, "202", "application/json"): + return unmarshal_json_response(models.ManagedDeploymentResponse, 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 update_deployment_async( + self, + *, + name: str, + spec: OptionalNullable[ + Union[ + models.WorkflowsWorkerSpecUpdate, + models.WorkflowsWorkerSpecUpdateTypedDict, + ] + ] = UNSET, + resources: OptionalNullable[ + Union[ + models.DeploymentResourceConfigUpdate, + models.DeploymentResourceConfigUpdateTypedDict, + ] + ] = UNSET, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.ManagedDeploymentResponse: + r"""Update Deployment + + :param name: + :param spec: + :param resources: + :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.UpdateDeploymentV1WorkflowsDeploymentsNamePatchRequest( + name=name, + update_deployment_request=models.UpdateDeploymentRequest( + spec=utils.get_pydantic_model( + spec, OptionalNullable[models.WorkflowsWorkerSpecUpdate] + ), + resources=utils.get_pydantic_model( + resources, OptionalNullable[models.DeploymentResourceConfigUpdate] + ), + ), + ) + + req = self._build_request_async( + method="PATCH", + path="/v1/workflows/deployments/{name}", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=True, + 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, + get_serialized_body=lambda: utils.serialize_request_body( + request.update_deployment_request, + False, + False, + "json", + models.UpdateDeploymentRequest, + ), + 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="update_deployment_v1_workflows_deployments__name__patch", + 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, "202", "application/json"): + return unmarshal_json_response(models.ManagedDeploymentResponse, 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 delete_deployment( + self, + *, + name: str, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.ManagedDeploymentResponse: + r"""Delete Deployment + + :param name: + :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.DeleteDeploymentV1WorkflowsDeploymentsNameDeleteRequest( + name=name, + ) + + req = self._build_request( + method="DELETE", + path="/v1/workflows/deployments/{name}", + 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="delete_deployment_v1_workflows_deployments__name__delete", + 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, "202", "application/json"): + return unmarshal_json_response(models.ManagedDeploymentResponse, 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 delete_deployment_async( + self, + *, + name: str, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.ManagedDeploymentResponse: + r"""Delete Deployment + + :param name: + :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.DeleteDeploymentV1WorkflowsDeploymentsNameDeleteRequest( + name=name, + ) + + req = self._build_request_async( + method="DELETE", + path="/v1/workflows/deployments/{name}", + 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="delete_deployment_v1_workflows_deployments__name__delete", + 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, "202", "application/json"): + return unmarshal_json_response(models.ManagedDeploymentResponse, 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 get_deployment( self, *, @@ -238,8 +878,372 @@ def get_deployment( server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.DeploymentDetailResponse: - r"""Get Deployment + ) -> models.DeploymentDetailResponse: + r"""Get Deployment + + :param name: + :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.GetDeploymentV1WorkflowsDeploymentsNameGetRequest( + name=name, + ) + + req = self._build_request( + method="GET", + path="/v1/workflows/deployments/{name}", + 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="get_deployment_v1_workflows_deployments__name__get", + 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.DeploymentDetailResponse, 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 get_deployment_async( + self, + *, + name: str, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.DeploymentDetailResponse: + r"""Get Deployment + + :param name: + :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.GetDeploymentV1WorkflowsDeploymentsNameGetRequest( + name=name, + ) + + req = self._build_request_async( + method="GET", + path="/v1/workflows/deployments/{name}", + 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="get_deployment_v1_workflows_deployments__name__get", + 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.DeploymentDetailResponse, 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 stop_deployment( + self, + *, + name: str, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.ManagedDeploymentResponse: + r"""Stop Deployment + + :param name: + :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.StopDeploymentV1WorkflowsDeploymentsNameStopPostRequest( + name=name, + ) + + req = self._build_request( + method="POST", + path="/v1/workflows/deployments/{name}/stop", + 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="stop_deployment_v1_workflows_deployments__name__stop_post", + 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, "202", "application/json"): + return unmarshal_json_response(models.ManagedDeploymentResponse, 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 stop_deployment_async( + self, + *, + name: str, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.ManagedDeploymentResponse: + r"""Stop Deployment + + :param name: + :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.StopDeploymentV1WorkflowsDeploymentsNameStopPostRequest( + name=name, + ) + + req = self._build_request_async( + method="POST", + path="/v1/workflows/deployments/{name}/stop", + 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="stop_deployment_v1_workflows_deployments__name__stop_post", + 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, "202", "application/json"): + return unmarshal_json_response(models.ManagedDeploymentResponse, 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 start_deployment( + self, + *, + name: str, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.ManagedDeploymentResponse: + r"""Start Deployment :param name: :param retries: Override the default retry configuration for this method @@ -260,13 +1264,13 @@ def get_deployment( else: base_url = self._get_url(base_url, url_variables) - request = models.GetDeploymentV1WorkflowsDeploymentsNameGetRequest( + request = models.StartDeploymentV1WorkflowsDeploymentsNameStartPostRequest( name=name, ) req = self._build_request( - method="GET", - path="/v1/workflows/deployments/{name}", + method="POST", + path="/v1/workflows/deployments/{name}/start", base_url=base_url, url_variables=url_variables, request=request, @@ -293,7 +1297,7 @@ def get_deployment( hook_ctx=HookContext( config=self.sdk_configuration, base_url=base_url or "", - operation_id="get_deployment_v1_workflows_deployments__name__get", + operation_id="start_deployment_v1_workflows_deployments__name__start_post", oauth2_scopes=None, security_source=get_security_from_env( self.sdk_configuration.security, models.Security @@ -305,8 +1309,8 @@ def get_deployment( ) response_data: Any = None - if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.DeploymentDetailResponse, http_res) + if utils.match_response(http_res, "202", "application/json"): + return unmarshal_json_response(models.ManagedDeploymentResponse, http_res) if utils.match_response(http_res, "422", "application/json"): response_data = unmarshal_json_response( errors.HTTPValidationErrorData, http_res @@ -321,7 +1325,7 @@ def get_deployment( raise errors.SDKError("Unexpected response received", http_res) - async def get_deployment_async( + async def start_deployment_async( self, *, name: str, @@ -329,8 +1333,8 @@ async def get_deployment_async( server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.DeploymentDetailResponse: - r"""Get Deployment + ) -> models.ManagedDeploymentResponse: + r"""Start Deployment :param name: :param retries: Override the default retry configuration for this method @@ -351,13 +1355,13 @@ async def get_deployment_async( else: base_url = self._get_url(base_url, url_variables) - request = models.GetDeploymentV1WorkflowsDeploymentsNameGetRequest( + request = models.StartDeploymentV1WorkflowsDeploymentsNameStartPostRequest( name=name, ) req = self._build_request_async( - method="GET", - path="/v1/workflows/deployments/{name}", + method="POST", + path="/v1/workflows/deployments/{name}/start", base_url=base_url, url_variables=url_variables, request=request, @@ -384,7 +1388,7 @@ async def get_deployment_async( hook_ctx=HookContext( config=self.sdk_configuration, base_url=base_url or "", - operation_id="get_deployment_v1_workflows_deployments__name__get", + operation_id="start_deployment_v1_workflows_deployments__name__start_post", oauth2_scopes=None, security_source=get_security_from_env( self.sdk_configuration.security, models.Security @@ -396,8 +1400,190 @@ async def get_deployment_async( ) response_data: Any = None - if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.DeploymentDetailResponse, http_res) + if utils.match_response(http_res, "202", "application/json"): + return unmarshal_json_response(models.ManagedDeploymentResponse, 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 restart_deployment( + self, + *, + name: str, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.ManagedDeploymentResponse: + r"""Restart Deployment + + :param name: + :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.RestartDeploymentV1WorkflowsDeploymentsNameRestartPostRequest( + name=name, + ) + + req = self._build_request( + method="POST", + path="/v1/workflows/deployments/{name}/restart", + 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="restart_deployment_v1_workflows_deployments__name__restart_post", + 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, "202", "application/json"): + return unmarshal_json_response(models.ManagedDeploymentResponse, 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 restart_deployment_async( + self, + *, + name: str, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.ManagedDeploymentResponse: + r"""Restart Deployment + + :param name: + :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.RestartDeploymentV1WorkflowsDeploymentsNameRestartPostRequest( + name=name, + ) + + req = self._build_request_async( + method="POST", + path="/v1/workflows/deployments/{name}/restart", + 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="restart_deployment_v1_workflows_deployments__name__restart_post", + 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, "202", "application/json"): + return unmarshal_json_response(models.ManagedDeploymentResponse, http_res) if utils.match_response(http_res, "422", "application/json"): response_data = unmarshal_json_response( errors.HTTPValidationErrorData, http_res diff --git a/src/mistralai/client/models/__init__.py b/src/mistralai/client/models/__init__.py index eab3663d9..50010ba8a 100644 --- a/src/mistralai/client/models/__init__.py +++ b/src/mistralai/client/models/__init__.py @@ -542,7 +542,6 @@ ConversationMessages, ConversationMessagesTypedDict, ) - from .conversationpayload import ConversationPayload, ConversationPayloadTypedDict from .conversationrequest import ( ConversationRequest, ConversationRequestAgentVersion, @@ -572,7 +571,6 @@ ConversationRestartStreamRequestHandoffExecution, ConversationRestartStreamRequestTypedDict, ) - from .conversationsource import ConversationSource from .conversationstreamrequest import ( ConversationStreamRequest, ConversationStreamRequestAgentVersion, @@ -616,6 +614,10 @@ CreateDatasetRequest, CreateDatasetRequestTypedDict, ) + from .createdeploymentrequest import ( + CreateDeploymentRequest, + CreateDeploymentRequestTypedDict, + ) from .createfileresponse import CreateFileResponse, CreateFileResponseTypedDict from .createingestionpipelineconfigurationrequest import ( CreateIngestionPipelineConfigurationRequest, @@ -711,6 +713,7 @@ from .datasetimporttask import DatasetImportTask, DatasetImportTaskTypedDict from .datasetpreview import DatasetPreview, DatasetPreviewTypedDict from .datasetrecord import DatasetRecord, DatasetRecordTypedDict + from .datasetrecordsource import DatasetRecordSource from .delete_campaign_v1_observability_campaigns_campaign_id_deleteop import ( DeleteCampaignV1ObservabilityCampaignsCampaignIDDeleteRequest, DeleteCampaignV1ObservabilityCampaignsCampaignIDDeleteRequestTypedDict, @@ -723,6 +726,10 @@ DeleteDatasetV1ObservabilityDatasetsDatasetIDDeleteRequest, DeleteDatasetV1ObservabilityDatasetsDatasetIDDeleteRequestTypedDict, ) + from .delete_deployment_v1_workflows_deployments_name_deleteop import ( + DeleteDeploymentV1WorkflowsDeploymentsNameDeleteRequest, + DeleteDeploymentV1WorkflowsDeploymentsNameDeleteRequestTypedDict, + ) from .delete_judge_v1_observability_judges_judge_id_deleteop import ( DeleteJudgeV1ObservabilityJudgesJudgeIDDeleteRequest, DeleteJudgeV1ObservabilityJudgesJudgeIDDeleteRequestTypedDict, @@ -756,6 +763,10 @@ DeltaMessageContentTypedDict, DeltaMessageTypedDict, ) + from .deploymentbuildstate import ( + DeploymentBuildState, + DeploymentBuildStateTypedDict, + ) from .deploymentdetailresponse import ( DeploymentDetailResponse, DeploymentDetailResponseTypedDict, @@ -770,11 +781,31 @@ DeploymentLogSearchResponse, DeploymentLogSearchResponseTypedDict, ) + from .deploymentobservedstate import ( + DeploymentObservedState, + DeploymentObservedStateTypedDict, + ) + from .deploymentresourceconfig import ( + DeploymentResourceConfig, + DeploymentResourceConfigTypedDict, + ) + from .deploymentresourceconfigupdate import ( + DeploymentResourceConfigUpdate, + DeploymentResourceConfigUpdateTypedDict, + ) from .deploymentresponse import DeploymentResponse, DeploymentResponseTypedDict from .deploymentworkerresponse import ( DeploymentWorkerResponse, DeploymentWorkerResponseTypedDict, ) + from .deploymentworkerspecinput import ( + DeploymentWorkerSpecInput, + DeploymentWorkerSpecInputTypedDict, + ) + from .deploymentworkerspecresponse import ( + DeploymentWorkerSpecResponse, + DeploymentWorkerSpecResponseTypedDict, + ) from .document import Document, DocumentTypedDict from .document_fetch_v1_rag_indexes_index_index_id_schemas_schema_schema_id_retrievables_getop import ( DocumentFetchV1RagIndexesIndexIndexIDSchemasSchemaSchemaIDRetrievablesGetRequest, @@ -1577,6 +1608,10 @@ ) from .locationtype import LocationType from .logsrequest import LogsRequest, LogsRequestTypedDict, Order + from .manageddeploymentresponse import ( + ManagedDeploymentResponse, + ManagedDeploymentResponseTypedDict, + ) from .mcpprompt import MCPPrompt, MCPPromptTypedDict from .mcpresource import MCPResource, MCPResourceTypedDict from .mcpserverauthenticationrequirement import ( @@ -1956,6 +1991,10 @@ ResponseStartedEvent, ResponseStartedEventTypedDict, ) + from .restart_deployment_v1_workflows_deployments_name_restart_postop import ( + RestartDeploymentV1WorkflowsDeploymentsNameRestartPostRequest, + RestartDeploymentV1WorkflowsDeploymentsNameRestartPostRequestTypedDict, + ) from .resume_schedule_v1_workflows_schedules_schedule_id_resume_postop import ( ResumeScheduleV1WorkflowsSchedulesScheduleIDResumePostRequest, ResumeScheduleV1WorkflowsSchedulesScheduleIDResumePostRequestTypedDict, @@ -2148,6 +2187,14 @@ from .speechstreamdone import SpeechStreamDone, SpeechStreamDoneTypedDict from .speechstreameventtypes import SpeechStreamEventTypes from .ssetypes import SSETypes + from .start_deployment_v1_workflows_deployments_name_start_postop import ( + StartDeploymentV1WorkflowsDeploymentsNameStartPostRequest, + StartDeploymentV1WorkflowsDeploymentsNameStartPostRequestTypedDict, + ) + from .stop_deployment_v1_workflows_deployments_name_stop_postop import ( + StopDeploymentV1WorkflowsDeploymentsNameStopPostRequest, + StopDeploymentV1WorkflowsDeploymentsNameStopPostRequestTypedDict, + ) from .stream_deployment_logsop import ( StreamDeploymentLogsData, StreamDeploymentLogsDataTypedDict, @@ -2407,6 +2454,10 @@ UpdateDatasetV1ObservabilityDatasetsDatasetIDPatchRequest, UpdateDatasetV1ObservabilityDatasetsDatasetIDPatchRequestTypedDict, ) + from .update_deployment_v1_workflows_deployments_name_patchop import ( + UpdateDeploymentV1WorkflowsDeploymentsNamePatchRequest, + UpdateDeploymentV1WorkflowsDeploymentsNamePatchRequestTypedDict, + ) from .update_index_metrics_v1_rag_indexes_index_index_id_metrics_putop import ( MetricsData, MetricsDataTypedDict, @@ -2460,6 +2511,10 @@ UpdateDatasetRequestTypedDict, ) from .updatedefinition import UpdateDefinition, UpdateDefinitionTypedDict + from .updatedeploymentrequest import ( + UpdateDeploymentRequest, + UpdateDeploymentRequestTypedDict, + ) from .updatedocumentrequest import ( Attributes, AttributesTypedDict, @@ -2508,6 +2563,15 @@ from .usageinfo import UsageInfo, UsageInfoTypedDict from .usageinfo_dollar_defs import UsageInfoDollarDefs, UsageInfoDollarDefsTypedDict from .useridentity import UserIdentity, UserIdentityTypedDict + from .useridentityapikey import UserIdentityAPIKey, UserIdentityAPIKeyTypedDict + from .useridentityorganization import ( + UserIdentityOrganization, + UserIdentityOrganizationTypedDict, + ) + from .useridentityworkspace import ( + UserIdentityWorkspace, + UserIdentityWorkspaceTypedDict, + ) from .usermessage import ( UserMessage, UserMessageContent, @@ -2709,6 +2773,10 @@ WorkflowScheduleUpdateRequestTypedDict, ) from .workflowstreamerror import WorkflowStreamError, WorkflowStreamErrorTypedDict + from .workflowsworkerspecupdate import ( + WorkflowsWorkerSpecUpdate, + WorkflowsWorkerSpecUpdateTypedDict, + ) from .workflowtaskfailedattributes import ( WorkflowTaskFailedAttributes, WorkflowTaskFailedAttributesTypedDict, @@ -3101,8 +3169,6 @@ "ConversationInputsTypedDict", "ConversationMessages", "ConversationMessagesTypedDict", - "ConversationPayload", - "ConversationPayloadTypedDict", "ConversationRequest", "ConversationRequestAgentVersion", "ConversationRequestAgentVersionTypedDict", @@ -3124,7 +3190,6 @@ "ConversationRestartStreamRequestAgentVersionTypedDict", "ConversationRestartStreamRequestHandoffExecution", "ConversationRestartStreamRequestTypedDict", - "ConversationSource", "ConversationStreamRequest", "ConversationStreamRequestAgentVersion", "ConversationStreamRequestAgentVersionTypedDict", @@ -3150,6 +3215,8 @@ "CreateDatasetRecordV1ObservabilityDatasetsDatasetIDRecordsPostRequestTypedDict", "CreateDatasetRequest", "CreateDatasetRequestTypedDict", + "CreateDeploymentRequest", + "CreateDeploymentRequestTypedDict", "CreateFileResponse", "CreateFileResponseTypedDict", "CreateIngestionPipelineConfigurationRequest", @@ -3211,6 +3278,7 @@ "DatasetPreview", "DatasetPreviewTypedDict", "DatasetRecord", + "DatasetRecordSource", "DatasetRecordTypedDict", "DatasetTypedDict", "DeleteBatchJobResponse", @@ -3223,6 +3291,8 @@ "DeleteDatasetRecordsRequestTypedDict", "DeleteDatasetV1ObservabilityDatasetsDatasetIDDeleteRequest", "DeleteDatasetV1ObservabilityDatasetsDatasetIDDeleteRequestTypedDict", + "DeleteDeploymentV1WorkflowsDeploymentsNameDeleteRequest", + "DeleteDeploymentV1WorkflowsDeploymentsNameDeleteRequestTypedDict", "DeleteFileResponse", "DeleteFileResponseTypedDict", "DeleteJudgeV1ObservabilityJudgesJudgeIDDeleteRequest", @@ -3241,6 +3311,8 @@ "DeltaMessageContent", "DeltaMessageContentTypedDict", "DeltaMessageTypedDict", + "DeploymentBuildState", + "DeploymentBuildStateTypedDict", "DeploymentDetailResponse", "DeploymentDetailResponseTypedDict", "DeploymentListResponse", @@ -3251,11 +3323,21 @@ "DeploymentLogRecordTypedDict", "DeploymentLogSearchResponse", "DeploymentLogSearchResponseTypedDict", + "DeploymentObservedState", + "DeploymentObservedStateTypedDict", + "DeploymentResourceConfig", + "DeploymentResourceConfigTypedDict", + "DeploymentResourceConfigUpdate", + "DeploymentResourceConfigUpdateTypedDict", "DeploymentResponse", "DeploymentResponseTypedDict", "DeploymentStatus", "DeploymentWorkerResponse", "DeploymentWorkerResponseTypedDict", + "DeploymentWorkerSpecInput", + "DeploymentWorkerSpecInputTypedDict", + "DeploymentWorkerSpecResponse", + "DeploymentWorkerSpecResponseTypedDict", "Document", "DocumentFetchV1RagIndexesIndexIndexIDSchemasSchemaSchemaIDRetrievablesGetRequest", "DocumentFetchV1RagIndexesIndexIndexIDSchemasSchemaSchemaIDRetrievablesGetRequestTypedDict", @@ -3810,6 +3892,8 @@ "MCPToolTypedDict", "MCPUIToolMeta", "MCPUIToolMetaTypedDict", + "ManagedDeploymentResponse", + "ManagedDeploymentResponseTypedDict", "MessageEntries", "MessageEntriesTypedDict", "MessageInputContentChunks", @@ -4105,6 +4189,8 @@ "ResponseStartedEventTypedDict", "ResponseV1ConversationsGet", "ResponseV1ConversationsGetTypedDict", + "RestartDeploymentV1WorkflowsDeploymentsNameRestartPostRequest", + "RestartDeploymentV1WorkflowsDeploymentsNameRestartPostRequestTypedDict", "ResumeScheduleV1WorkflowsSchedulesScheduleIDResumePostRequest", "ResumeScheduleV1WorkflowsSchedulesScheduleIDResumePostRequestTypedDict", "RetrieveModelV1ModelsModelIDGetRequest", @@ -4248,6 +4334,10 @@ "SpeechV1AudioSpeechPostDataTypedDict", "SpeechV1AudioSpeechPostResponse", "SpeechV1AudioSpeechPostResponseTypedDict", + "StartDeploymentV1WorkflowsDeploymentsNameStartPostRequest", + "StartDeploymentV1WorkflowsDeploymentsNameStartPostRequestTypedDict", + "StopDeploymentV1WorkflowsDeploymentsNameStopPostRequest", + "StopDeploymentV1WorkflowsDeploymentsNameStopPostRequestTypedDict", "StreamDeploymentLogsData", "StreamDeploymentLogsDataTypedDict", "StreamDeploymentLogsEvent", @@ -4472,6 +4562,10 @@ "UpdateDatasetV1ObservabilityDatasetsDatasetIDPatchRequestTypedDict", "UpdateDefinition", "UpdateDefinitionTypedDict", + "UpdateDeploymentRequest", + "UpdateDeploymentRequestTypedDict", + "UpdateDeploymentV1WorkflowsDeploymentsNamePatchRequest", + "UpdateDeploymentV1WorkflowsDeploymentsNamePatchRequestTypedDict", "UpdateDocumentRequest", "UpdateDocumentRequestTypedDict", "UpdateIndexMetricsRequestIndexMetricsOffline", @@ -4526,7 +4620,13 @@ "UsageInfoDollarDefsTypedDict", "UsageInfoTypedDict", "UserIdentity", + "UserIdentityAPIKey", + "UserIdentityAPIKeyTypedDict", + "UserIdentityOrganization", + "UserIdentityOrganizationTypedDict", "UserIdentityTypedDict", + "UserIdentityWorkspace", + "UserIdentityWorkspaceTypedDict", "UserMessage", "UserMessageContent", "UserMessageContentTypedDict", @@ -4663,6 +4763,8 @@ "WorkflowUpdateResponseTypedDict", "WorkflowWithWorkerStatus", "WorkflowWithWorkerStatusTypedDict", + "WorkflowsWorkerSpecUpdate", + "WorkflowsWorkerSpecUpdateTypedDict", ] _dynamic_imports: dict[str, str] = { @@ -5014,8 +5116,6 @@ "ConversationInputsTypedDict": ".conversationinputs", "ConversationMessages": ".conversationmessages", "ConversationMessagesTypedDict": ".conversationmessages", - "ConversationPayload": ".conversationpayload", - "ConversationPayloadTypedDict": ".conversationpayload", "ConversationRequest": ".conversationrequest", "ConversationRequestAgentVersion": ".conversationrequest", "ConversationRequestAgentVersionTypedDict": ".conversationrequest", @@ -5037,7 +5137,6 @@ "ConversationRestartStreamRequestAgentVersionTypedDict": ".conversationrestartstreamrequest", "ConversationRestartStreamRequestHandoffExecution": ".conversationrestartstreamrequest", "ConversationRestartStreamRequestTypedDict": ".conversationrestartstreamrequest", - "ConversationSource": ".conversationsource", "ConversationStreamRequest": ".conversationstreamrequest", "ConversationStreamRequestAgentVersion": ".conversationstreamrequest", "ConversationStreamRequestAgentVersionTypedDict": ".conversationstreamrequest", @@ -5063,6 +5162,8 @@ "CreateDatasetRecordRequestTypedDict": ".createdatasetrecordrequest", "CreateDatasetRequest": ".createdatasetrequest", "CreateDatasetRequestTypedDict": ".createdatasetrequest", + "CreateDeploymentRequest": ".createdeploymentrequest", + "CreateDeploymentRequestTypedDict": ".createdeploymentrequest", "CreateFileResponse": ".createfileresponse", "CreateFileResponseTypedDict": ".createfileresponse", "CreateIngestionPipelineConfigurationRequest": ".createingestionpipelineconfigurationrequest", @@ -5129,12 +5230,15 @@ "DatasetPreviewTypedDict": ".datasetpreview", "DatasetRecord": ".datasetrecord", "DatasetRecordTypedDict": ".datasetrecord", + "DatasetRecordSource": ".datasetrecordsource", "DeleteCampaignV1ObservabilityCampaignsCampaignIDDeleteRequest": ".delete_campaign_v1_observability_campaigns_campaign_id_deleteop", "DeleteCampaignV1ObservabilityCampaignsCampaignIDDeleteRequestTypedDict": ".delete_campaign_v1_observability_campaigns_campaign_id_deleteop", "DeleteDatasetRecordV1ObservabilityDatasetRecordsDatasetRecordIDDeleteRequest": ".delete_dataset_record_v1_observability_dataset_records_dataset_record_id_deleteop", "DeleteDatasetRecordV1ObservabilityDatasetRecordsDatasetRecordIDDeleteRequestTypedDict": ".delete_dataset_record_v1_observability_dataset_records_dataset_record_id_deleteop", "DeleteDatasetV1ObservabilityDatasetsDatasetIDDeleteRequest": ".delete_dataset_v1_observability_datasets_dataset_id_deleteop", "DeleteDatasetV1ObservabilityDatasetsDatasetIDDeleteRequestTypedDict": ".delete_dataset_v1_observability_datasets_dataset_id_deleteop", + "DeleteDeploymentV1WorkflowsDeploymentsNameDeleteRequest": ".delete_deployment_v1_workflows_deployments_name_deleteop", + "DeleteDeploymentV1WorkflowsDeploymentsNameDeleteRequestTypedDict": ".delete_deployment_v1_workflows_deployments_name_deleteop", "DeleteJudgeV1ObservabilityJudgesJudgeIDDeleteRequest": ".delete_judge_v1_observability_judges_judge_id_deleteop", "DeleteJudgeV1ObservabilityJudgesJudgeIDDeleteRequestTypedDict": ".delete_judge_v1_observability_judges_judge_id_deleteop", "DeleteModelV1ModelsModelIDDeleteRequest": ".delete_model_v1_models_model_id_deleteop", @@ -5157,6 +5261,8 @@ "DeltaMessageContent": ".deltamessage", "DeltaMessageContentTypedDict": ".deltamessage", "DeltaMessageTypedDict": ".deltamessage", + "DeploymentBuildState": ".deploymentbuildstate", + "DeploymentBuildStateTypedDict": ".deploymentbuildstate", "DeploymentDetailResponse": ".deploymentdetailresponse", "DeploymentDetailResponseTypedDict": ".deploymentdetailresponse", "DeploymentListResponse": ".deploymentlistresponse", @@ -5167,10 +5273,20 @@ "DeploymentLogRecordTypedDict": ".deploymentlogrecord", "DeploymentLogSearchResponse": ".deploymentlogsearchresponse", "DeploymentLogSearchResponseTypedDict": ".deploymentlogsearchresponse", + "DeploymentObservedState": ".deploymentobservedstate", + "DeploymentObservedStateTypedDict": ".deploymentobservedstate", + "DeploymentResourceConfig": ".deploymentresourceconfig", + "DeploymentResourceConfigTypedDict": ".deploymentresourceconfig", + "DeploymentResourceConfigUpdate": ".deploymentresourceconfigupdate", + "DeploymentResourceConfigUpdateTypedDict": ".deploymentresourceconfigupdate", "DeploymentResponse": ".deploymentresponse", "DeploymentResponseTypedDict": ".deploymentresponse", "DeploymentWorkerResponse": ".deploymentworkerresponse", "DeploymentWorkerResponseTypedDict": ".deploymentworkerresponse", + "DeploymentWorkerSpecInput": ".deploymentworkerspecinput", + "DeploymentWorkerSpecInputTypedDict": ".deploymentworkerspecinput", + "DeploymentWorkerSpecResponse": ".deploymentworkerspecresponse", + "DeploymentWorkerSpecResponseTypedDict": ".deploymentworkerspecresponse", "Document": ".document", "DocumentTypedDict": ".document", "DocumentFetchV1RagIndexesIndexIndexIDSchemasSchemaSchemaIDRetrievablesGetRequest": ".document_fetch_v1_rag_indexes_index_index_id_schemas_schema_schema_id_retrievables_getop", @@ -5709,6 +5825,8 @@ "LogsRequest": ".logsrequest", "LogsRequestTypedDict": ".logsrequest", "Order": ".logsrequest", + "ManagedDeploymentResponse": ".manageddeploymentresponse", + "ManagedDeploymentResponseTypedDict": ".manageddeploymentresponse", "MCPPrompt": ".mcpprompt", "MCPPromptTypedDict": ".mcpprompt", "MCPResource": ".mcpresource", @@ -6020,6 +6138,8 @@ "ResponseFormats": ".responseformats", "ResponseStartedEvent": ".responsestartedevent", "ResponseStartedEventTypedDict": ".responsestartedevent", + "RestartDeploymentV1WorkflowsDeploymentsNameRestartPostRequest": ".restart_deployment_v1_workflows_deployments_name_restart_postop", + "RestartDeploymentV1WorkflowsDeploymentsNameRestartPostRequestTypedDict": ".restart_deployment_v1_workflows_deployments_name_restart_postop", "ResumeScheduleV1WorkflowsSchedulesScheduleIDResumePostRequest": ".resume_schedule_v1_workflows_schedules_schedule_id_resume_postop", "ResumeScheduleV1WorkflowsSchedulesScheduleIDResumePostRequestTypedDict": ".resume_schedule_v1_workflows_schedules_schedule_id_resume_postop", "ResponseRetrieveModelV1ModelsModelIDGet": ".retrieve_model_v1_models_model_id_getop", @@ -6170,6 +6290,10 @@ "SpeechStreamDoneTypedDict": ".speechstreamdone", "SpeechStreamEventTypes": ".speechstreameventtypes", "SSETypes": ".ssetypes", + "StartDeploymentV1WorkflowsDeploymentsNameStartPostRequest": ".start_deployment_v1_workflows_deployments_name_start_postop", + "StartDeploymentV1WorkflowsDeploymentsNameStartPostRequestTypedDict": ".start_deployment_v1_workflows_deployments_name_start_postop", + "StopDeploymentV1WorkflowsDeploymentsNameStopPostRequest": ".stop_deployment_v1_workflows_deployments_name_stop_postop", + "StopDeploymentV1WorkflowsDeploymentsNameStopPostRequestTypedDict": ".stop_deployment_v1_workflows_deployments_name_stop_postop", "StreamDeploymentLogsData": ".stream_deployment_logsop", "StreamDeploymentLogsDataTypedDict": ".stream_deployment_logsop", "StreamDeploymentLogsEvent": ".stream_deployment_logsop", @@ -6367,6 +6491,8 @@ "UpdateDatasetRecordPropertiesV1ObservabilityDatasetRecordsDatasetRecordIDPropertiesPutRequestTypedDict": ".update_dataset_record_properties_v1_observability_dataset_records_dataset_record_id_properties_putop", "UpdateDatasetV1ObservabilityDatasetsDatasetIDPatchRequest": ".update_dataset_v1_observability_datasets_dataset_id_patchop", "UpdateDatasetV1ObservabilityDatasetsDatasetIDPatchRequestTypedDict": ".update_dataset_v1_observability_datasets_dataset_id_patchop", + "UpdateDeploymentV1WorkflowsDeploymentsNamePatchRequest": ".update_deployment_v1_workflows_deployments_name_patchop", + "UpdateDeploymentV1WorkflowsDeploymentsNamePatchRequestTypedDict": ".update_deployment_v1_workflows_deployments_name_patchop", "MetricsData": ".update_index_metrics_v1_rag_indexes_index_index_id_metrics_putop", "MetricsDataTypedDict": ".update_index_metrics_v1_rag_indexes_index_index_id_metrics_putop", "UpdateIndexMetricsV1RagIndexesIndexIndexIDMetricsPutRequest": ".update_index_metrics_v1_rag_indexes_index_index_id_metrics_putop", @@ -6397,6 +6523,8 @@ "UpdateDatasetRequestTypedDict": ".updatedatasetrequest", "UpdateDefinition": ".updatedefinition", "UpdateDefinitionTypedDict": ".updatedefinition", + "UpdateDeploymentRequest": ".updatedeploymentrequest", + "UpdateDeploymentRequestTypedDict": ".updatedeploymentrequest", "Attributes": ".updatedocumentrequest", "AttributesTypedDict": ".updatedocumentrequest", "UpdateDocumentRequest": ".updatedocumentrequest", @@ -6432,6 +6560,12 @@ "UsageInfoDollarDefsTypedDict": ".usageinfo_dollar_defs", "UserIdentity": ".useridentity", "UserIdentityTypedDict": ".useridentity", + "UserIdentityAPIKey": ".useridentityapikey", + "UserIdentityAPIKeyTypedDict": ".useridentityapikey", + "UserIdentityOrganization": ".useridentityorganization", + "UserIdentityOrganizationTypedDict": ".useridentityorganization", + "UserIdentityWorkspace": ".useridentityworkspace", + "UserIdentityWorkspaceTypedDict": ".useridentityworkspace", "UserMessage": ".usermessage", "UserMessageContent": ".usermessage", "UserMessageContentTypedDict": ".usermessage", @@ -6554,6 +6688,8 @@ "WorkflowScheduleUpdateRequestTypedDict": ".workflowscheduleupdaterequest", "WorkflowStreamError": ".workflowstreamerror", "WorkflowStreamErrorTypedDict": ".workflowstreamerror", + "WorkflowsWorkerSpecUpdate": ".workflowsworkerspecupdate", + "WorkflowsWorkerSpecUpdateTypedDict": ".workflowsworkerspecupdate", "WorkflowTaskFailedAttributes": ".workflowtaskfailedattributes", "WorkflowTaskFailedAttributesTypedDict": ".workflowtaskfailedattributes", "WorkflowTaskFailedResponse": ".workflowtaskfailedresponse", diff --git a/src/mistralai/client/models/connector_list_tools_v1op.py b/src/mistralai/client/models/connector_list_tools_v1op.py index 3e9905c30..4f4124a74 100644 --- a/src/mistralai/client/models/connector_list_tools_v1op.py +++ b/src/mistralai/client/models/connector_list_tools_v1op.py @@ -2,7 +2,6 @@ # @generated-id: 4c6ad704479b from __future__ import annotations -from .connectortool import ConnectorTool, ConnectorToolTypedDict from .mcptool import MCPTool, MCPToolTypedDict from mistralai.client.types import ( BaseModel, @@ -88,13 +87,12 @@ def serialize_model(self, handler): ResponseConnectorListToolsV1TypedDict = TypeAliasType( "ResponseConnectorListToolsV1TypedDict", - Union[List[ConnectorToolTypedDict], List[MCPToolTypedDict], List[Dict[str, Any]]], + Union[List[MCPToolTypedDict], List[Dict[str, Any]]], ) r"""Successful Response""" ResponseConnectorListToolsV1 = TypeAliasType( - "ResponseConnectorListToolsV1", - Union[List[ConnectorTool], List[MCPTool], List[Dict[str, Any]]], + "ResponseConnectorListToolsV1", Union[List[MCPTool], List[Dict[str, Any]]] ) r"""Successful Response""" diff --git a/src/mistralai/client/models/conversationpayload.py b/src/mistralai/client/models/conversationpayload.py deleted file mode 100644 index 6bfc5894b..000000000 --- a/src/mistralai/client/models/conversationpayload.py +++ /dev/null @@ -1,30 +0,0 @@ -"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" -# @generated-id: 4581218c84c1 - -from __future__ import annotations -from mistralai.client.types import BaseModel -import pydantic -from pydantic import ConfigDict -from typing import Any, Dict, List -from typing_extensions import TypedDict - - -class ConversationPayloadTypedDict(TypedDict): - messages: List[Dict[str, Any]] - - -class ConversationPayload(BaseModel): - model_config = ConfigDict( - populate_by_name=True, arbitrary_types_allowed=True, extra="allow" - ) - __pydantic_extra__: Dict[str, Any] = pydantic.Field(init=False) - - messages: List[Dict[str, Any]] - - @property - def additional_properties(self): - return self.__pydantic_extra__ - - @additional_properties.setter - def additional_properties(self, value): - self.__pydantic_extra__ = value # pyright: ignore[reportIncompatibleVariableOverride] diff --git a/src/mistralai/client/models/createdatasetrecordrequest.py b/src/mistralai/client/models/createdatasetrecordrequest.py index 6fd2bf96a..66299c443 100644 --- a/src/mistralai/client/models/createdatasetrecordrequest.py +++ b/src/mistralai/client/models/createdatasetrecordrequest.py @@ -2,18 +2,36 @@ # @generated-id: 9455e38a8c31 from __future__ import annotations -from .conversationpayload import ConversationPayload, ConversationPayloadTypedDict -from mistralai.client.types import BaseModel -from typing import Any, Dict -from typing_extensions import TypedDict +from mistralai.client.types import BaseModel, UNSET_SENTINEL +from pydantic import model_serializer +from typing import Any, Dict, Optional +from typing_extensions import NotRequired, TypedDict class CreateDatasetRecordRequestTypedDict(TypedDict): - payload: ConversationPayloadTypedDict - properties: Dict[str, Any] + payload: Dict[str, Any] + r"""Caller-authored input object stored on a dataset record.""" + properties: NotRequired[Dict[str, Any]] class CreateDatasetRecordRequest(BaseModel): - payload: ConversationPayload + payload: Dict[str, Any] + r"""Caller-authored input object stored on a dataset record.""" - properties: Dict[str, Any] + properties: Optional[Dict[str, Any]] = None + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["properties"]) + 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)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m diff --git a/src/mistralai/client/models/createdeploymentrequest.py b/src/mistralai/client/models/createdeploymentrequest.py new file mode 100644 index 000000000..57f8cc737 --- /dev/null +++ b/src/mistralai/client/models/createdeploymentrequest.py @@ -0,0 +1,60 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: 1ebab7ec18c6 + +from __future__ import annotations +from .deploymentresourceconfig import ( + DeploymentResourceConfig, + DeploymentResourceConfigTypedDict, +) +from .deploymentworkerspecinput import ( + DeploymentWorkerSpecInput, + DeploymentWorkerSpecInputTypedDict, +) +from mistralai.client.types import ( + BaseModel, + Nullable, + OptionalNullable, + UNSET, + UNSET_SENTINEL, +) +from pydantic import model_serializer +from typing_extensions import NotRequired, TypedDict + + +class CreateDeploymentRequestTypedDict(TypedDict): + name: str + spec: DeploymentWorkerSpecInputTypedDict + resources: NotRequired[Nullable[DeploymentResourceConfigTypedDict]] + + +class CreateDeploymentRequest(BaseModel): + name: str + + spec: DeploymentWorkerSpecInput + + resources: OptionalNullable[DeploymentResourceConfig] = UNSET + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["resources"]) + nullable_fields = set(["resources"]) + 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/datasetrecord.py b/src/mistralai/client/models/datasetrecord.py index 39c92cce7..64eb666a1 100644 --- a/src/mistralai/client/models/datasetrecord.py +++ b/src/mistralai/client/models/datasetrecord.py @@ -2,8 +2,7 @@ # @generated-id: 87ddebf2a0ce from __future__ import annotations -from .conversationpayload import ConversationPayload, ConversationPayloadTypedDict -from .conversationsource import ConversationSource +from .datasetrecordsource import DatasetRecordSource from datetime import datetime from mistralai.client.types import BaseModel, Nullable, UNSET_SENTINEL from pydantic import model_serializer @@ -17,9 +16,10 @@ class DatasetRecordTypedDict(TypedDict): updated_at: datetime deleted_at: Nullable[datetime] dataset_id: str - payload: ConversationPayloadTypedDict + payload: Dict[str, Any] + r"""Caller-authored input object stored on a dataset record.""" properties: Dict[str, Any] - source: ConversationSource + source: DatasetRecordSource class DatasetRecord(BaseModel): @@ -33,11 +33,12 @@ class DatasetRecord(BaseModel): dataset_id: str - payload: ConversationPayload + payload: Dict[str, Any] + r"""Caller-authored input object stored on a dataset record.""" properties: Dict[str, Any] - source: ConversationSource + source: DatasetRecordSource @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/mistralai/client/models/conversationsource.py b/src/mistralai/client/models/datasetrecordsource.py similarity index 84% rename from src/mistralai/client/models/conversationsource.py rename to src/mistralai/client/models/datasetrecordsource.py index a3b93b61b..a237ecebb 100644 --- a/src/mistralai/client/models/conversationsource.py +++ b/src/mistralai/client/models/datasetrecordsource.py @@ -1,12 +1,12 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" -# @generated-id: 24d6a0861d4b +# @generated-id: 5416a8b7276d from __future__ import annotations from mistralai.client.types import UnrecognizedStr from typing import Literal, Union -ConversationSource = Union[ +DatasetRecordSource = Union[ Literal[ "EXPLORER", "UPLOADED_FILE", diff --git a/src/mistralai/client/models/delete_deployment_v1_workflows_deployments_name_deleteop.py b/src/mistralai/client/models/delete_deployment_v1_workflows_deployments_name_deleteop.py new file mode 100644 index 000000000..f9907398b --- /dev/null +++ b/src/mistralai/client/models/delete_deployment_v1_workflows_deployments_name_deleteop.py @@ -0,0 +1,17 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: b669fcc8cb57 + +from __future__ import annotations +from mistralai.client.types import BaseModel +from mistralai.client.utils import FieldMetadata, PathParamMetadata +from typing_extensions import Annotated, TypedDict + + +class DeleteDeploymentV1WorkflowsDeploymentsNameDeleteRequestTypedDict(TypedDict): + name: str + + +class DeleteDeploymentV1WorkflowsDeploymentsNameDeleteRequest(BaseModel): + name: Annotated[ + str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) + ] diff --git a/src/mistralai/client/models/deploymentbuildstate.py b/src/mistralai/client/models/deploymentbuildstate.py new file mode 100644 index 000000000..53f4e0598 --- /dev/null +++ b/src/mistralai/client/models/deploymentbuildstate.py @@ -0,0 +1,66 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: 61e9001287f8 + +from __future__ import annotations +from datetime import datetime +from mistralai.client.types import ( + BaseModel, + Nullable, + OptionalNullable, + UNSET, + UNSET_SENTINEL, +) +from pydantic import model_serializer +from typing_extensions import NotRequired, TypedDict + + +class DeploymentBuildStateTypedDict(TypedDict): + phase: NotRequired[Nullable[str]] + commit_sha: NotRequired[Nullable[str]] + image: NotRequired[Nullable[str]] + message: NotRequired[Nullable[str]] + started_at: NotRequired[Nullable[datetime]] + finished_at: NotRequired[Nullable[datetime]] + + +class DeploymentBuildState(BaseModel): + phase: OptionalNullable[str] = UNSET + + commit_sha: OptionalNullable[str] = UNSET + + image: OptionalNullable[str] = UNSET + + message: OptionalNullable[str] = UNSET + + started_at: OptionalNullable[datetime] = UNSET + + finished_at: OptionalNullable[datetime] = UNSET + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + ["phase", "commit_sha", "image", "message", "started_at", "finished_at"] + ) + nullable_fields = set( + ["phase", "commit_sha", "image", "message", "started_at", "finished_at"] + ) + 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/deploymentdetailresponse.py b/src/mistralai/client/models/deploymentdetailresponse.py index 9c8e196ab..4f3207344 100644 --- a/src/mistralai/client/models/deploymentdetailresponse.py +++ b/src/mistralai/client/models/deploymentdetailresponse.py @@ -7,6 +7,10 @@ DeploymentWorkerResponse, DeploymentWorkerResponseTypedDict, ) +from .manageddeploymentresponse import ( + ManagedDeploymentResponse, + ManagedDeploymentResponseTypedDict, +) from datetime import datetime from mistralai.client.types import ( BaseModel, @@ -37,6 +41,8 @@ class DeploymentDetailResponseTypedDict(TypedDict): r"""Whether the deployment has at least one authorized credential""" location: NotRequired[Nullable[DeploymentLocationTypedDict]] r"""Where the deployment is running""" + managed: NotRequired[Nullable[ManagedDeploymentResponseTypedDict]] + r"""Live managed service state for managed deployments; null for self-hosted deployments or when managed services are unavailable""" class DeploymentDetailResponse(BaseModel): @@ -64,10 +70,13 @@ class DeploymentDetailResponse(BaseModel): location: OptionalNullable[DeploymentLocation] = UNSET r"""Where the deployment is running""" + 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"]) - nullable_fields = set(["location"]) + optional_fields = set(["is_hardened", "location", "managed"]) + nullable_fields = set(["location", "managed"]) serialized = handler(self) m = {} diff --git a/src/mistralai/client/models/deploymentobservedstate.py b/src/mistralai/client/models/deploymentobservedstate.py new file mode 100644 index 000000000..cb920095f --- /dev/null +++ b/src/mistralai/client/models/deploymentobservedstate.py @@ -0,0 +1,95 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: 4bed4a2622bf + +from __future__ import annotations +from .deploymentbuildstate import DeploymentBuildState, DeploymentBuildStateTypedDict +from datetime import datetime +from mistralai.client.types import ( + BaseModel, + Nullable, + OptionalNullable, + UNSET, + UNSET_SENTINEL, +) +from pydantic import model_serializer +from typing import Optional +from typing_extensions import NotRequired, TypedDict + + +class DeploymentObservedStateTypedDict(TypedDict): + phase: NotRequired[Nullable[str]] + available_replicas: NotRequired[int] + ready_replicas: NotRequired[int] + endpoint: NotRequired[Nullable[str]] + message: NotRequired[Nullable[str]] + last_seen: NotRequired[Nullable[datetime]] + deployed_revision: NotRequired[Nullable[str]] + generation: NotRequired[Nullable[int]] + build_state: NotRequired[Nullable[DeploymentBuildStateTypedDict]] + + +class DeploymentObservedState(BaseModel): + phase: OptionalNullable[str] = UNSET + + available_replicas: Optional[int] = 0 + + ready_replicas: Optional[int] = 0 + + endpoint: OptionalNullable[str] = UNSET + + message: OptionalNullable[str] = UNSET + + last_seen: OptionalNullable[datetime] = UNSET + + deployed_revision: OptionalNullable[str] = UNSET + + generation: OptionalNullable[int] = UNSET + + build_state: OptionalNullable[DeploymentBuildState] = UNSET + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "phase", + "available_replicas", + "ready_replicas", + "endpoint", + "message", + "last_seen", + "deployed_revision", + "generation", + "build_state", + ] + ) + nullable_fields = set( + [ + "phase", + "endpoint", + "message", + "last_seen", + "deployed_revision", + "generation", + "build_state", + ] + ) + 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/deploymentresourceconfig.py b/src/mistralai/client/models/deploymentresourceconfig.py new file mode 100644 index 000000000..8011b7b69 --- /dev/null +++ b/src/mistralai/client/models/deploymentresourceconfig.py @@ -0,0 +1,62 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: 278b04eed455 + +from __future__ import annotations +from mistralai.client.types import ( + BaseModel, + Nullable, + OptionalNullable, + UNSET, + UNSET_SENTINEL, +) +from pydantic import model_serializer +from typing_extensions import NotRequired, TypedDict + + +class DeploymentResourceConfigTypedDict(TypedDict): + replicas: NotRequired[Nullable[int]] + cpu_request: NotRequired[Nullable[str]] + cpu_limit: NotRequired[Nullable[str]] + memory_request: NotRequired[Nullable[str]] + memory_limit: NotRequired[Nullable[str]] + + +class DeploymentResourceConfig(BaseModel): + replicas: OptionalNullable[int] = UNSET + + cpu_request: OptionalNullable[str] = UNSET + + cpu_limit: OptionalNullable[str] = UNSET + + memory_request: OptionalNullable[str] = UNSET + + memory_limit: OptionalNullable[str] = UNSET + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + ["replicas", "cpu_request", "cpu_limit", "memory_request", "memory_limit"] + ) + nullable_fields = set( + ["replicas", "cpu_request", "cpu_limit", "memory_request", "memory_limit"] + ) + 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/deploymentresourceconfigupdate.py b/src/mistralai/client/models/deploymentresourceconfigupdate.py new file mode 100644 index 000000000..bafd77966 --- /dev/null +++ b/src/mistralai/client/models/deploymentresourceconfigupdate.py @@ -0,0 +1,62 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: 369dcb81cacb + +from __future__ import annotations +from mistralai.client.types import ( + BaseModel, + Nullable, + OptionalNullable, + UNSET, + UNSET_SENTINEL, +) +from pydantic import model_serializer +from typing_extensions import NotRequired, TypedDict + + +class DeploymentResourceConfigUpdateTypedDict(TypedDict): + replicas: NotRequired[Nullable[int]] + cpu_request: NotRequired[Nullable[str]] + cpu_limit: NotRequired[Nullable[str]] + memory_request: NotRequired[Nullable[str]] + memory_limit: NotRequired[Nullable[str]] + + +class DeploymentResourceConfigUpdate(BaseModel): + replicas: OptionalNullable[int] = UNSET + + cpu_request: OptionalNullable[str] = UNSET + + cpu_limit: OptionalNullable[str] = UNSET + + memory_request: OptionalNullable[str] = UNSET + + memory_limit: OptionalNullable[str] = UNSET + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + ["replicas", "cpu_request", "cpu_limit", "memory_request", "memory_limit"] + ) + nullable_fields = set( + ["replicas", "cpu_request", "cpu_limit", "memory_request", "memory_limit"] + ) + 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/deploymentresponse.py b/src/mistralai/client/models/deploymentresponse.py index 876e4a071..060abb809 100644 --- a/src/mistralai/client/models/deploymentresponse.py +++ b/src/mistralai/client/models/deploymentresponse.py @@ -3,6 +3,10 @@ from __future__ import annotations from .deploymentlocation import DeploymentLocation, DeploymentLocationTypedDict +from .manageddeploymentresponse import ( + ManagedDeploymentResponse, + ManagedDeploymentResponseTypedDict, +) from datetime import datetime from mistralai.client.types import ( BaseModel, @@ -31,6 +35,8 @@ class DeploymentResponseTypedDict(TypedDict): r"""Whether the deployment has at least one authorized credential""" location: NotRequired[Nullable[DeploymentLocationTypedDict]] r"""Where the deployment is running""" + managed: NotRequired[Nullable[ManagedDeploymentResponseTypedDict]] + r"""Live managed service state for managed deployments; null for self-hosted deployments or when managed services are unavailable""" class DeploymentResponse(BaseModel): @@ -55,10 +61,13 @@ class DeploymentResponse(BaseModel): location: OptionalNullable[DeploymentLocation] = UNSET r"""Where the deployment is running""" + 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"]) - nullable_fields = set(["location"]) + optional_fields = set(["is_hardened", "location", "managed"]) + nullable_fields = set(["location", "managed"]) serialized = handler(self) m = {} diff --git a/src/mistralai/client/models/deploymentworkerspecinput.py b/src/mistralai/client/models/deploymentworkerspecinput.py new file mode 100644 index 000000000..cdf8d222c --- /dev/null +++ b/src/mistralai/client/models/deploymentworkerspecinput.py @@ -0,0 +1,55 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: 635133e69342 + +from __future__ import annotations +from mistralai.client.types import ( + BaseModel, + Nullable, + OptionalNullable, + UNSET, + UNSET_SENTINEL, +) +from pydantic import model_serializer +from typing_extensions import NotRequired, TypedDict + + +class DeploymentWorkerSpecInputTypedDict(TypedDict): + github_url: str + revision: NotRequired[Nullable[str]] + entrypoint: NotRequired[Nullable[str]] + working_dir: NotRequired[Nullable[str]] + + +class DeploymentWorkerSpecInput(BaseModel): + github_url: str + + revision: OptionalNullable[str] = UNSET + + entrypoint: OptionalNullable[str] = UNSET + + working_dir: OptionalNullable[str] = UNSET + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["revision", "entrypoint", "working_dir"]) + nullable_fields = set(["revision", "entrypoint", "working_dir"]) + 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/deploymentworkerspecresponse.py b/src/mistralai/client/models/deploymentworkerspecresponse.py new file mode 100644 index 000000000..0d3b5335c --- /dev/null +++ b/src/mistralai/client/models/deploymentworkerspecresponse.py @@ -0,0 +1,76 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: e56d154527fd + +from __future__ import annotations +from mistralai.client.types import ( + BaseModel, + Nullable, + OptionalNullable, + UNSET, + UNSET_SENTINEL, +) +from pydantic import model_serializer +from typing import Optional +from typing_extensions import NotRequired, TypedDict + + +class DeploymentWorkerSpecResponseTypedDict(TypedDict): + github_url: str + type: NotRequired[str] + revision: NotRequired[Nullable[str]] + entrypoint: NotRequired[Nullable[str]] + working_dir: NotRequired[Nullable[str]] + restarted_at: NotRequired[Nullable[str]] + commit_sha: NotRequired[Nullable[str]] + + +class DeploymentWorkerSpecResponse(BaseModel): + github_url: str + + type: Optional[str] = "workflows_worker" + + revision: OptionalNullable[str] = UNSET + + entrypoint: OptionalNullable[str] = UNSET + + working_dir: OptionalNullable[str] = UNSET + + restarted_at: OptionalNullable[str] = UNSET + + commit_sha: OptionalNullable[str] = UNSET + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "type", + "revision", + "entrypoint", + "working_dir", + "restarted_at", + "commit_sha", + ] + ) + nullable_fields = set( + ["revision", "entrypoint", "working_dir", "restarted_at", "commit_sha"] + ) + 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/manageddeploymentresponse.py b/src/mistralai/client/models/manageddeploymentresponse.py new file mode 100644 index 000000000..72905df96 --- /dev/null +++ b/src/mistralai/client/models/manageddeploymentresponse.py @@ -0,0 +1,107 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: bc7d5ee5c606 + +from __future__ import annotations +from .deploymentobservedstate import ( + DeploymentObservedState, + DeploymentObservedStateTypedDict, +) +from .deploymentresourceconfig import ( + DeploymentResourceConfig, + DeploymentResourceConfigTypedDict, +) +from .deploymentworkerspecresponse import ( + DeploymentWorkerSpecResponse, + DeploymentWorkerSpecResponseTypedDict, +) +from datetime import datetime +from mistralai.client.types import ( + BaseModel, + Nullable, + OptionalNullable, + UNSET, + UNSET_SENTINEL, +) +from pydantic import model_serializer +from typing import Optional +from typing_extensions import NotRequired, TypedDict + + +class ManagedDeploymentResponseTypedDict(TypedDict): + service_id: str + name: str + spec: DeploymentWorkerSpecResponseTypedDict + resources: DeploymentResourceConfigTypedDict + status: DeploymentObservedStateTypedDict + created_at: datetime + updated_at: datetime + stopped: NotRequired[bool] + rollout_status: NotRequired[Nullable[str]] + created_by: NotRequired[Nullable[str]] + updated_by: NotRequired[Nullable[str]] + deployed_by: NotRequired[Nullable[str]] + deployed_at: NotRequired[Nullable[datetime]] + + +class ManagedDeploymentResponse(BaseModel): + service_id: str + + name: str + + spec: DeploymentWorkerSpecResponse + + resources: DeploymentResourceConfig + + status: DeploymentObservedState + + created_at: datetime + + updated_at: datetime + + stopped: Optional[bool] = False + + rollout_status: OptionalNullable[str] = UNSET + + created_by: OptionalNullable[str] = UNSET + + updated_by: OptionalNullable[str] = UNSET + + deployed_by: OptionalNullable[str] = UNSET + + deployed_at: OptionalNullable[datetime] = UNSET + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "stopped", + "rollout_status", + "created_by", + "updated_by", + "deployed_by", + "deployed_at", + ] + ) + nullable_fields = set( + ["rollout_status", "created_by", "updated_by", "deployed_by", "deployed_at"] + ) + 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/ocrrequest.py b/src/mistralai/client/models/ocrrequest.py index 3628c2143..f290a9f3f 100644 --- a/src/mistralai/client/models/ocrrequest.py +++ b/src/mistralai/client/models/ocrrequest.py @@ -71,11 +71,13 @@ class OCRRequestTypedDict(TypedDict): r"""Optional prompt to guide the model in extracting structured output from the entire document. A document_annotation_format must be provided.""" table_format: NotRequired[Nullable[TableFormat]] extract_header: NotRequired[bool] + r"""Extract the page header into the response's `header` field and remove it from the markdown content""" extract_footer: NotRequired[bool] + r"""Extract the page footer into the response's `footer` field and remove it from the markdown content""" include_blocks: NotRequired[bool] r"""Return paragraph-level bounding boxes for all content blocks in the response""" confidence_scores_granularity: NotRequired[Nullable[ConfidenceScoresGranularity]] - r"""Granularity for confidence scores: 'word' (per-word scores) or 'page' (aggregate only). Defaults to None (no confidence scores) to keep response payload small.""" + r"""Granularity for confidence scores: 'page' (aggregate only), 'word' (per-word scores). Defaults to None (no confidence scores) to keep response payload small.""" class OCRRequest(BaseModel): @@ -108,14 +110,16 @@ class OCRRequest(BaseModel): table_format: OptionalNullable[TableFormat] = UNSET extract_header: Optional[bool] = None + r"""Extract the page header into the response's `header` field and remove it from the markdown content""" extract_footer: Optional[bool] = None + r"""Extract the page footer into the response's `footer` field and remove it from the markdown content""" - include_blocks: Optional[bool] = False + include_blocks: Optional[bool] = True r"""Return paragraph-level bounding boxes for all content blocks in the response""" confidence_scores_granularity: OptionalNullable[ConfidenceScoresGranularity] = UNSET - r"""Granularity for confidence scores: 'word' (per-word scores) or 'page' (aggregate only). Defaults to None (no confidence scores) to keep response payload small.""" + r"""Granularity for confidence scores: 'page' (aggregate only), 'word' (per-word scores). Defaults to None (no confidence scores) to keep response payload small.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/mistralai/client/models/restart_deployment_v1_workflows_deployments_name_restart_postop.py b/src/mistralai/client/models/restart_deployment_v1_workflows_deployments_name_restart_postop.py new file mode 100644 index 000000000..42f8ce858 --- /dev/null +++ b/src/mistralai/client/models/restart_deployment_v1_workflows_deployments_name_restart_postop.py @@ -0,0 +1,17 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: a24431d44971 + +from __future__ import annotations +from mistralai.client.types import BaseModel +from mistralai.client.utils import FieldMetadata, PathParamMetadata +from typing_extensions import Annotated, TypedDict + + +class RestartDeploymentV1WorkflowsDeploymentsNameRestartPostRequestTypedDict(TypedDict): + name: str + + +class RestartDeploymentV1WorkflowsDeploymentsNameRestartPostRequest(BaseModel): + name: Annotated[ + str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) + ] diff --git a/src/mistralai/client/models/start_deployment_v1_workflows_deployments_name_start_postop.py b/src/mistralai/client/models/start_deployment_v1_workflows_deployments_name_start_postop.py new file mode 100644 index 000000000..d4f9a29a0 --- /dev/null +++ b/src/mistralai/client/models/start_deployment_v1_workflows_deployments_name_start_postop.py @@ -0,0 +1,17 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: a130112def7d + +from __future__ import annotations +from mistralai.client.types import BaseModel +from mistralai.client.utils import FieldMetadata, PathParamMetadata +from typing_extensions import Annotated, TypedDict + + +class StartDeploymentV1WorkflowsDeploymentsNameStartPostRequestTypedDict(TypedDict): + name: str + + +class StartDeploymentV1WorkflowsDeploymentsNameStartPostRequest(BaseModel): + name: Annotated[ + str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) + ] diff --git a/src/mistralai/client/models/stop_deployment_v1_workflows_deployments_name_stop_postop.py b/src/mistralai/client/models/stop_deployment_v1_workflows_deployments_name_stop_postop.py new file mode 100644 index 000000000..0b82ba107 --- /dev/null +++ b/src/mistralai/client/models/stop_deployment_v1_workflows_deployments_name_stop_postop.py @@ -0,0 +1,17 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: c6e21688bc0c + +from __future__ import annotations +from mistralai.client.types import BaseModel +from mistralai.client.utils import FieldMetadata, PathParamMetadata +from typing_extensions import Annotated, TypedDict + + +class StopDeploymentV1WorkflowsDeploymentsNameStopPostRequestTypedDict(TypedDict): + name: str + + +class StopDeploymentV1WorkflowsDeploymentsNameStopPostRequest(BaseModel): + name: Annotated[ + str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) + ] diff --git a/src/mistralai/client/models/update_deployment_v1_workflows_deployments_name_patchop.py b/src/mistralai/client/models/update_deployment_v1_workflows_deployments_name_patchop.py new file mode 100644 index 000000000..e8662c69b --- /dev/null +++ b/src/mistralai/client/models/update_deployment_v1_workflows_deployments_name_patchop.py @@ -0,0 +1,27 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: 10af4960601c + +from __future__ import annotations +from .updatedeploymentrequest import ( + UpdateDeploymentRequest, + UpdateDeploymentRequestTypedDict, +) +from mistralai.client.types import BaseModel +from mistralai.client.utils import FieldMetadata, PathParamMetadata, RequestMetadata +from typing_extensions import Annotated, TypedDict + + +class UpdateDeploymentV1WorkflowsDeploymentsNamePatchRequestTypedDict(TypedDict): + name: str + update_deployment_request: UpdateDeploymentRequestTypedDict + + +class UpdateDeploymentV1WorkflowsDeploymentsNamePatchRequest(BaseModel): + name: Annotated[ + str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) + ] + + update_deployment_request: Annotated[ + UpdateDeploymentRequest, + FieldMetadata(request=RequestMetadata(media_type="application/json")), + ] diff --git a/src/mistralai/client/models/updateconnectorrequest.py b/src/mistralai/client/models/updateconnectorrequest.py index 77172f8ce..8af8c8b44 100644 --- a/src/mistralai/client/models/updateconnectorrequest.py +++ b/src/mistralai/client/models/updateconnectorrequest.py @@ -29,10 +29,6 @@ class UpdateConnectorRequestTypedDict(TypedDict): r"""The optional url of the icon you want to associate to the connector.""" system_prompt: NotRequired[Nullable[str]] r"""Optional system prompt for the connector.""" - connection_config: NotRequired[Nullable[Dict[str, Any]]] - r"""Optional new connection config.""" - connection_secrets: NotRequired[Nullable[Dict[str, Any]]] - r"""Optional new connection secrets""" protocol: Literal["mcp"] server: NotRequired[Nullable[str]] r"""New server url for your mcp connector.""" @@ -58,12 +54,6 @@ class UpdateConnectorRequest(BaseModel): system_prompt: OptionalNullable[str] = UNSET r"""Optional system prompt for the connector.""" - connection_config: OptionalNullable[Dict[str, Any]] = UNSET - r"""Optional new connection config.""" - - connection_secrets: OptionalNullable[Dict[str, Any]] = UNSET - r"""Optional new connection secrets""" - protocol: Annotated[ Annotated[Optional[Literal["mcp"]], AfterValidator(validate_const("mcp"))], pydantic.Field(alias="protocol"), @@ -87,8 +77,6 @@ def serialize_model(self, handler): "description", "icon_url", "system_prompt", - "connection_config", - "connection_secrets", "protocol", "server", "headers", @@ -102,8 +90,6 @@ def serialize_model(self, handler): "description", "icon_url", "system_prompt", - "connection_config", - "connection_secrets", "server", "headers", "auth_data", diff --git a/src/mistralai/client/models/updatedatasetrecordpayloadrequest.py b/src/mistralai/client/models/updatedatasetrecordpayloadrequest.py index 155ea78df..d938eb159 100644 --- a/src/mistralai/client/models/updatedatasetrecordpayloadrequest.py +++ b/src/mistralai/client/models/updatedatasetrecordpayloadrequest.py @@ -2,14 +2,16 @@ # @generated-id: bd45f357a538 from __future__ import annotations -from .conversationpayload import ConversationPayload, ConversationPayloadTypedDict from mistralai.client.types import BaseModel +from typing import Any, Dict from typing_extensions import TypedDict class UpdateDatasetRecordPayloadRequestTypedDict(TypedDict): - payload: ConversationPayloadTypedDict + payload: Dict[str, Any] + r"""Caller-authored input object stored on a dataset record.""" class UpdateDatasetRecordPayloadRequest(BaseModel): - payload: ConversationPayload + payload: Dict[str, Any] + r"""Caller-authored input object stored on a dataset record.""" diff --git a/src/mistralai/client/models/updatedeploymentrequest.py b/src/mistralai/client/models/updatedeploymentrequest.py new file mode 100644 index 000000000..b93518fd7 --- /dev/null +++ b/src/mistralai/client/models/updatedeploymentrequest.py @@ -0,0 +1,57 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: f13927d84169 + +from __future__ import annotations +from .deploymentresourceconfigupdate import ( + DeploymentResourceConfigUpdate, + DeploymentResourceConfigUpdateTypedDict, +) +from .workflowsworkerspecupdate import ( + WorkflowsWorkerSpecUpdate, + WorkflowsWorkerSpecUpdateTypedDict, +) +from mistralai.client.types import ( + BaseModel, + Nullable, + OptionalNullable, + UNSET, + UNSET_SENTINEL, +) +from pydantic import model_serializer +from typing_extensions import NotRequired, TypedDict + + +class UpdateDeploymentRequestTypedDict(TypedDict): + spec: NotRequired[Nullable[WorkflowsWorkerSpecUpdateTypedDict]] + resources: NotRequired[Nullable[DeploymentResourceConfigUpdateTypedDict]] + + +class UpdateDeploymentRequest(BaseModel): + spec: OptionalNullable[WorkflowsWorkerSpecUpdate] = UNSET + + resources: OptionalNullable[DeploymentResourceConfigUpdate] = UNSET + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["spec", "resources"]) + nullable_fields = set(["spec", "resources"]) + 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/useridentity.py b/src/mistralai/client/models/useridentity.py index 1b9a7a6b2..7da7bff3c 100644 --- a/src/mistralai/client/models/useridentity.py +++ b/src/mistralai/client/models/useridentity.py @@ -2,9 +2,21 @@ # @generated-id: 8b1effdfe1ba from __future__ import annotations -from mistralai.client.types import BaseModel, Nullable, UNSET_SENTINEL +from .useridentityapikey import UserIdentityAPIKey, UserIdentityAPIKeyTypedDict +from .useridentityorganization import ( + UserIdentityOrganization, + UserIdentityOrganizationTypedDict, +) +from .useridentityworkspace import UserIdentityWorkspace, UserIdentityWorkspaceTypedDict +from mistralai.client.types import ( + BaseModel, + Nullable, + OptionalNullable, + UNSET, + UNSET_SENTINEL, +) from pydantic import model_serializer -from typing_extensions import TypedDict +from typing_extensions import NotRequired, TypedDict class UserIdentityTypedDict(TypedDict): @@ -12,6 +24,9 @@ class UserIdentityTypedDict(TypedDict): email: Nullable[str] first_name: Nullable[str] last_name: Nullable[str] + workspace: NotRequired[Nullable[UserIdentityWorkspaceTypedDict]] + organization: NotRequired[Nullable[UserIdentityOrganizationTypedDict]] + api_key: NotRequired[Nullable[UserIdentityAPIKeyTypedDict]] class UserIdentity(BaseModel): @@ -23,16 +38,35 @@ class UserIdentity(BaseModel): last_name: Nullable[str] + workspace: OptionalNullable[UserIdentityWorkspace] = UNSET + + organization: OptionalNullable[UserIdentityOrganization] = UNSET + + api_key: OptionalNullable[UserIdentityAPIKey] = UNSET + @model_serializer(mode="wrap") def serialize_model(self, handler): + optional_fields = set(["workspace", "organization", "api_key"]) + nullable_fields = set( + ["email", "first_name", "last_name", "workspace", "organization", "api_key"] + ) 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: - m[k] = val + 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/useridentityapikey.py b/src/mistralai/client/models/useridentityapikey.py new file mode 100644 index 000000000..2cdbc0f89 --- /dev/null +++ b/src/mistralai/client/models/useridentityapikey.py @@ -0,0 +1,32 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: 163a67bef05a + +from __future__ import annotations +from mistralai.client.types import BaseModel, Nullable, UNSET_SENTINEL +from pydantic import model_serializer +from typing_extensions import TypedDict + + +class UserIdentityAPIKeyTypedDict(TypedDict): + id: str + name: Nullable[str] + + +class UserIdentityAPIKey(BaseModel): + id: str + + name: Nullable[str] + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + 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)) + + if val != UNSET_SENTINEL: + m[k] = val + + return m diff --git a/src/mistralai/client/models/useridentityorganization.py b/src/mistralai/client/models/useridentityorganization.py new file mode 100644 index 000000000..a62208214 --- /dev/null +++ b/src/mistralai/client/models/useridentityorganization.py @@ -0,0 +1,17 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: 646f6c60c670 + +from __future__ import annotations +from mistralai.client.types import BaseModel +from typing_extensions import TypedDict + + +class UserIdentityOrganizationTypedDict(TypedDict): + id: str + name: str + + +class UserIdentityOrganization(BaseModel): + id: str + + name: str diff --git a/src/mistralai/client/models/useridentityworkspace.py b/src/mistralai/client/models/useridentityworkspace.py new file mode 100644 index 000000000..8bd8561c5 --- /dev/null +++ b/src/mistralai/client/models/useridentityworkspace.py @@ -0,0 +1,17 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: b0f8ef23c566 + +from __future__ import annotations +from mistralai.client.types import BaseModel +from typing_extensions import TypedDict + + +class UserIdentityWorkspaceTypedDict(TypedDict): + id: str + name: str + + +class UserIdentityWorkspace(BaseModel): + id: str + + name: str diff --git a/src/mistralai/client/models/workflowsworkerspecupdate.py b/src/mistralai/client/models/workflowsworkerspecupdate.py new file mode 100644 index 000000000..c03856326 --- /dev/null +++ b/src/mistralai/client/models/workflowsworkerspecupdate.py @@ -0,0 +1,55 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: 97b61c6693ee + +from __future__ import annotations +from mistralai.client.types import ( + BaseModel, + Nullable, + OptionalNullable, + UNSET, + UNSET_SENTINEL, +) +from pydantic import model_serializer +from typing_extensions import NotRequired, TypedDict + + +class WorkflowsWorkerSpecUpdateTypedDict(TypedDict): + github_url: NotRequired[Nullable[str]] + revision: NotRequired[Nullable[str]] + entrypoint: NotRequired[Nullable[str]] + working_dir: NotRequired[Nullable[str]] + + +class WorkflowsWorkerSpecUpdate(BaseModel): + github_url: OptionalNullable[str] = UNSET + + revision: OptionalNullable[str] = UNSET + + entrypoint: OptionalNullable[str] = UNSET + + working_dir: OptionalNullable[str] = UNSET + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["github_url", "revision", "entrypoint", "working_dir"]) + nullable_fields = set(["github_url", "revision", "entrypoint", "working_dir"]) + 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/ocr.py b/src/mistralai/client/ocr.py index e63d1aeb6..b4ff23a4d 100644 --- a/src/mistralai/client/ocr.py +++ b/src/mistralai/client/ocr.py @@ -32,7 +32,7 @@ def process( table_format: OptionalNullable[models.TableFormat] = UNSET, extract_header: Optional[bool] = None, extract_footer: Optional[bool] = None, - include_blocks: Optional[bool] = False, + include_blocks: Optional[bool] = True, confidence_scores_granularity: OptionalNullable[ models.ConfidenceScoresGranularity ] = UNSET, @@ -53,10 +53,10 @@ def process( :param document_annotation_format: Structured output class for extracting useful information from the entire document. Only json_schema is valid for this field :param document_annotation_prompt: Optional prompt to guide the model in extracting structured output from the entire document. A document_annotation_format must be provided. :param table_format: - :param extract_header: - :param extract_footer: + :param extract_header: Extract the page header into the response's `header` field and remove it from the markdown content + :param extract_footer: Extract the page footer into the response's `footer` field and remove it from the markdown content :param include_blocks: Return paragraph-level bounding boxes for all content blocks in the response - :param confidence_scores_granularity: Granularity for confidence scores: 'word' (per-word scores) or 'page' (aggregate only). Defaults to None (no confidence scores) to keep response payload small. + :param confidence_scores_granularity: Granularity for confidence scores: 'page' (aggregate only), 'word' (per-word scores). Defaults to None (no confidence scores) to keep response payload small. :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 @@ -175,7 +175,7 @@ async def process_async( table_format: OptionalNullable[models.TableFormat] = UNSET, extract_header: Optional[bool] = None, extract_footer: Optional[bool] = None, - include_blocks: Optional[bool] = False, + include_blocks: Optional[bool] = True, confidence_scores_granularity: OptionalNullable[ models.ConfidenceScoresGranularity ] = UNSET, @@ -196,10 +196,10 @@ async def process_async( :param document_annotation_format: Structured output class for extracting useful information from the entire document. Only json_schema is valid for this field :param document_annotation_prompt: Optional prompt to guide the model in extracting structured output from the entire document. A document_annotation_format must be provided. :param table_format: - :param extract_header: - :param extract_footer: + :param extract_header: Extract the page header into the response's `header` field and remove it from the markdown content + :param extract_footer: Extract the page footer into the response's `footer` field and remove it from the markdown content :param include_blocks: Return paragraph-level bounding boxes for all content blocks in the response - :param confidence_scores_granularity: Granularity for confidence scores: 'word' (per-word scores) or 'page' (aggregate only). Defaults to None (no confidence scores) to keep response payload small. + :param confidence_scores_granularity: Granularity for confidence scores: 'page' (aggregate only), 'word' (per-word scores). Defaults to None (no confidence scores) to keep response payload small. :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 diff --git a/src/mistralai/client/records.py b/src/mistralai/client/records.py index e2f87f469..7bf1f05ff 100644 --- a/src/mistralai/client/records.py +++ b/src/mistralai/client/records.py @@ -797,7 +797,7 @@ def update_payload( self, *, dataset_record_id: str, - payload: Union[models.ConversationPayload, models.ConversationPayloadTypedDict], + payload: Dict[str, Any], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -806,7 +806,7 @@ def update_payload( r"""Update a dataset record conversation payload :param dataset_record_id: - :param payload: + :param payload: Caller-authored input object stored on a dataset record. :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 @@ -828,7 +828,7 @@ def update_payload( request = models.UpdateDatasetRecordPayloadV1ObservabilityDatasetRecordsDatasetRecordIDPayloadPutRequest( dataset_record_id=dataset_record_id, update_dataset_record_payload_request=models.UpdateDatasetRecordPayloadRequest( - payload=utils.get_pydantic_model(payload, models.ConversationPayload), + payload=payload, ), ) @@ -902,7 +902,7 @@ async def update_payload_async( self, *, dataset_record_id: str, - payload: Union[models.ConversationPayload, models.ConversationPayloadTypedDict], + payload: Dict[str, Any], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -911,7 +911,7 @@ async def update_payload_async( r"""Update a dataset record conversation payload :param dataset_record_id: - :param payload: + :param payload: Caller-authored input object stored on a dataset record. :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 @@ -933,7 +933,7 @@ async def update_payload_async( request = models.UpdateDatasetRecordPayloadV1ObservabilityDatasetRecordsDatasetRecordIDPayloadPutRequest( dataset_record_id=dataset_record_id, update_dataset_record_payload_request=models.UpdateDatasetRecordPayloadRequest( - payload=utils.get_pydantic_model(payload, models.ConversationPayload), + payload=payload, ), ) diff --git a/uv.lock b/uv.lock index e9491133d..d6f0c558c 100644 --- a/uv.lock +++ b/uv.lock @@ -9,7 +9,7 @@ resolution-markers = [ [options] exclude-newer = "0001-01-01T00:00:00Z" # This has no effect and is included for backwards compatibility when using relative exclude-newer values. -exclude-newer-span = "P2D" +exclude-newer-span = "P7D" [[package]] name = "aioboto3" @@ -666,7 +666,7 @@ name = "exceptiongroup" version = "1.3.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "typing-extensions", marker = "python_full_version < '3.11'" }, + { name = "typing-extensions" }, ] sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", size = 30371, upload-time = "2025-11-21T23:01:54.787Z" } wheels = [ @@ -1047,7 +1047,7 @@ wheels = [ [[package]] name = "mistralai" -version = "2.7.0" +version = "2.7.1" source = { editable = "." } dependencies = [ { name = "eval-type-backport" },