diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 608c5914..3db14f7d 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: d3180e118f5cbf85eb5e628c1bd48702 + docChecksum: e90049ec26c71fac1151c63b6210c6dc docVersion: 1.0.0 speakeasyVersion: 1.763.6 generationVersion: 2.884.13 - releaseVersion: 2.4.13 - configChecksum: 528103488ea6793f7e237ff43113a64c + releaseVersion: 2.4.14 + configChecksum: f8c582be71752df76ae9777613f29511 repoURL: https://github.com/mistralai/client-python.git installationURL: https://github.com/mistralai/client-python.git published: true persistentEdits: - generation_id: 48647e3a-4c3f-4135-9d22-f702f07d0168 - pristine_commit_hash: 9b3c146286acab1a4b736dc35919d915ec79b63f - pristine_tree_hash: af749e839f003efc3ae81a640a560ec5493a0c42 + generation_id: e2dd39b3-7c2e-43b3-953d-7e55c513217d + pristine_commit_hash: 8a5623bd419e3707f032cc806766c38824f1060b + pristine_tree_hash: 3e8e7718756920b5f3aa608482a63152ec2aae29 features: python: acceptHeaders: 3.0.0 @@ -406,6 +406,10 @@ trackedFiles: id: 19b9f897373e last_write_checksum: sha1:0a40334024da0f41ccab87e10add590ea87a8b01 pristine_git_object: c862e53730393d65a061ed63a96640859fe74adc + docs/models/block.md: + id: 37aeed3d7dc4 + last_write_checksum: sha1:3a3d663edfa4a812a9c06daad87a4143dff9d7e5 + pristine_git_object: 087bec2ac5a1821720cfde579c9ec8214a3d35d3 docs/models/builtinconnectors.md: id: 9d14e972f08a last_write_checksum: sha1:ad790344ffc177d10a7eff06482c39d722cd7b95 @@ -676,8 +680,8 @@ trackedFiles: pristine_git_object: e069233ff9f42a6b13e356985e3bc3819128b970 docs/models/connector.md: id: cbf7c2c53983 - last_write_checksum: sha1:7694fec24017b429b23d5b42f29a2d66d6f8aa50 - pristine_git_object: 45aafa1e2d539276d23688d6b36c503650ecb454 + last_write_checksum: sha1:e62c24b5d77083e1060af0d61c9fa806bc4dc905 + pristine_git_object: 73f8a8249f8a64897eadc013616776b19b97594d docs/models/connectoractivatefororganizationv1request.md: id: 3a15b69f7e51 last_write_checksum: sha1:ae29bb24fdf11ccf8c08e2a1a2909d55d4cbaf6c @@ -1278,6 +1282,10 @@ trackedFiles: id: afbc2f9d2896 last_write_checksum: sha1:e2b91fdca15edd495d9616eaa00dca08205e16c9 pristine_git_object: 69fb7f2583a2b11fea45a94e0774981fa2abe0e7 + docs/models/executiontool.md: + id: 93ea56c33110 + last_write_checksum: sha1:1420c961938f933b4bbff4b2a2086983a0a3eca7 + pristine_git_object: b8cbe716fd77c9f7ece39e69efd99fe3bc75ba69 docs/models/exportdatasetresponse.md: id: f4594898de85 last_write_checksum: sha1:2e68bd840ee44b5b61aac0945d608060bd6506f4 @@ -2458,14 +2466,46 @@ trackedFiles: id: 38061447dfbb last_write_checksum: sha1:1da7bf6e72c2f972b0e22f0201a1cb9b76f53ccd pristine_git_object: a95e25c91c54edc4948ef82c1626773975190110 + docs/models/ocrasidetextblock.md: + id: f70a1dee9058 + last_write_checksum: sha1:87fc47392b5587ad4b10ee128b7a4e01906c04a8 + pristine_git_object: 6bf9f26f54e256c88106cd5ac042ca711d81f459 + docs/models/ocrcaptionblock.md: + id: 8dee3ae7cc64 + last_write_checksum: sha1:53fceb8b426087f746fdf28990d877a758d64845 + pristine_git_object: 31ee417932dc05b290057ee4f75437e2c16169a2 + docs/models/ocrcodeblock.md: + id: cf573ee145ef + last_write_checksum: sha1:19f8eb8db694b341c712a36fa0639c9acb55c8a7 + pristine_git_object: 564528893d7cb980993a9a31613fd9f5067f6fda docs/models/ocrconfidencescore.md: id: 44a3cb211acc last_write_checksum: sha1:d88c21a3aa36f24e00c2b24c31bc54944d1fc73f pristine_git_object: 73fdcb28b1044bb7122ba6609708979c17a46e5e + docs/models/ocrequationblock.md: + id: a9450fe13197 + last_write_checksum: sha1:6870063bce791334cb5d62445409ec09b13856de + pristine_git_object: 4c71e4910427d776ce9ffed0c2d68a0a9bed978c + docs/models/ocrfooterblock.md: + id: 8f726428e66d + last_write_checksum: sha1:fce976d77fdb8e5982de7ab6907e25a5d93ead24 + pristine_git_object: cc7ff354f77a3841d46e2c503de38cc4c1d5d0c9 + docs/models/ocrheaderblock.md: + id: 2fd90b301b1a + last_write_checksum: sha1:fc5bac58718bed5e19eb02adf9b71889b7507c5d + pristine_git_object: 0b000251ea4992b86eecadaa153d996f98f2c2c7 + docs/models/ocrimageblock.md: + id: 7ec5340dab29 + last_write_checksum: sha1:e4d0996294a9ccb64838a23326aa36eb3c4c01f4 + pristine_git_object: 5744a5a6f07b33970cbab60107ec0272a838881f docs/models/ocrimageobject.md: id: b72f3c5853b2 last_write_checksum: sha1:90c5158dec6a7b31c858677b6a8efa1e3cabd504 pristine_git_object: 3c0d5544a80499b011467f29ef83d49f53801af6 + docs/models/ocrlistblock.md: + id: 6a1b9aa88a44 + last_write_checksum: sha1:035e5cbbd71babdab775b56020a2fa09416e2713 + pristine_git_object: 0fce7a1a660673bcb1168d3c119b12e3a7feacb1 docs/models/ocrpageconfidencescores.md: id: 4bc78fe53e38 last_write_checksum: sha1:26733f345c69b188d372290784688a972fe39dbf @@ -2476,20 +2516,40 @@ trackedFiles: pristine_git_object: c93ca64d5e20319ec6ec1bcb82b28c6ce0940f29 docs/models/ocrpageobject.md: id: 88a9e101b11e - last_write_checksum: sha1:84b903d90dadcac943000b90e8a8e8a81c8b92fa - pristine_git_object: 0fc55052cdf2360131c0adcec93a732e2b0f78c5 + last_write_checksum: sha1:a7fa0bb8d0d7a8d1a701748395ce9dc82093ca15 + pristine_git_object: 5f5c3cd5b274bb92228106b3204cba7d2a63c73b + docs/models/ocrreferencesblock.md: + id: c1614ca10b63 + last_write_checksum: sha1:68a20e60403c4ea7ce6ee0d5cd7e33709d830cf0 + pristine_git_object: 5893eacfe1fd5ddc0bc52b83612af918345cc0f3 docs/models/ocrrequest.md: id: 6862a3fc2d0f - last_write_checksum: sha1:2ea2303ff17a962fe38a64f20f43ea0986e29cc4 - pristine_git_object: 54cea7c1359b338c552fdfd321abd2fd137602df + last_write_checksum: sha1:427dc4b07be7db540bbd79b4883b3446274fec93 + pristine_git_object: 6851e03e1b6b0d055f121c5fd854b5694229e866 docs/models/ocrresponse.md: id: 30042328fb78 last_write_checksum: sha1:8e4a4ae404ea752f3e9f1108c2a5f89ed6cfb143 pristine_git_object: 0a309317644eedc643009b6cec3a7dbb142b1a15 + docs/models/ocrsignatureblock.md: + id: 9d55fdaa416a + last_write_checksum: sha1:1c1fc41b61092bef33eea167bf4a2fdfe9d548ad + pristine_git_object: de2b4f60199ce3935adf167d8f25fbd4ba9e86fc + docs/models/ocrtableblock.md: + id: 0077842c24d0 + last_write_checksum: sha1:ebe772782a1f47335cabeeb15ce5a77243217d36 + pristine_git_object: c0e1f8abaf0cbe81aa6f4b42c3c8d215ef341e3f docs/models/ocrtableobject.md: id: c967796380e6 last_write_checksum: sha1:deb1715d618330b4f791b7237955e697d26c6bc2 pristine_git_object: 2da8f6105dd83d7f4d067c74298316ab512c9c3f + docs/models/ocrtextblock.md: + id: ec731e2067f3 + last_write_checksum: sha1:8560306c52628f855b4806b69e1b41402e1571b9 + pristine_git_object: 1eab8e1273cebfb605508ed9b1466f49eaa46c8b + docs/models/ocrtitleblock.md: + id: 2602d3e1db41 + last_write_checksum: sha1:8bccfc2aacd5713767f7344e5b8532ecadf1194d + pristine_git_object: 59c68c9f8fb8698f0185c93f652ab85b4f73708c docs/models/ocrusageinfo.md: id: 419abbb8353a last_write_checksum: sha1:6e717a3f3de3c464e8b3237f06867cdfecec339e @@ -2650,6 +2710,22 @@ trackedFiles: id: e05a024f162c last_write_checksum: sha1:ab9dd73817a606e22c4d526910771158070e0e4e pristine_git_object: 56c9ee8ea7ec86a54854cb4f3513646f182b58d0 + docs/models/publicconnectorexecutiondata.md: + id: 8aa7148f717b + last_write_checksum: sha1:f353170986cdcd16da55527fd6fd4964774710fc + pristine_git_object: 07ad8c575e5bed4891395f0cc6076485328b0bec + docs/models/publicexecutionconnectionconfig.md: + id: b2fab3177da3 + last_write_checksum: sha1:3a4e0dde1ae8da86315d2c68a77c5f51538cc26c + pristine_git_object: 2c069435cd720616eda74d3191b95bde74156564 + docs/models/publicexecutionconnector.md: + id: 12af5b6c685d + last_write_checksum: sha1:ddbba26dc7317024280f36924afc4d5586bd638c + pristine_git_object: b6ae566b4f1e1f1859a90c458ffaa10f7d3907f5 + docs/models/publicexecutionenv.md: + id: 2b2437bca7dc + last_write_checksum: sha1:97855538932162eb7cfca831f96be4b57df92956 + pristine_git_object: b67ea255c930b7cae2258d083ad108a6210f096d docs/models/querydefinition.md: id: 4831b7e558f9 last_write_checksum: sha1:f4983c0963906b3eda13c69e2852b08d662dd744 @@ -3100,8 +3176,8 @@ trackedFiles: pristine_git_object: 5cf16331555769cce233e274ea7eeae4ddc0f2ee docs/models/streamdeploymentlogsrequest.md: id: 9565d271f177 - last_write_checksum: sha1:f738464f94a5a7f8ed4cfd6b79ebb0daa6d41dc9 - pristine_git_object: aa28aa596982cb4f59b99e073c735ac147aced8b + last_write_checksum: sha1:775382143c3714fc331ac58ade0d94c80c4c0013 + pristine_git_object: 791326562419e0035853cb0344e56b9b010f933e docs/models/streamdeploymentlogsresponsebody.md: id: 6e35aabc3f22 last_write_checksum: sha1:34dad5539a586bea97b3f9c18786fb5e3bac7cf1 @@ -3144,8 +3220,8 @@ trackedFiles: pristine_git_object: 20533c6ac7ac494899fcce13b4c21b2c390b8bad docs/models/streamworkflowexecutionlogsrequest.md: id: 9f05db84fa04 - last_write_checksum: sha1:063fc8013ac22009dbecb68b3efdbe7da99cf3cb - pristine_git_object: f1313cce8ffe597006e73cab6cbaf0b4314d66e9 + last_write_checksum: sha1:39408f0173b1e3a7e4dc8b0a014da6bea960c0a5 + pristine_git_object: f58907cd0710b4e51cb22045e763e6790bac7274 docs/models/streamworkflowexecutionlogsresponsebody.md: id: 5d8ed5fe8479 last_write_checksum: sha1:27c4bce66bdb6bfd651c5b38196d0dfb18fe74a9 @@ -3288,24 +3364,24 @@ trackedFiles: pristine_git_object: 4c84779c4d2e8bf2a2fe258c2b350b05d047f2e3 docs/models/tool.md: id: 8966139dbeed - last_write_checksum: sha1:2ab2016846da06ab38751176ba80fb6527c2818b - pristine_git_object: 85888d01cf439be601c8d1df4048c90161cf47df + last_write_checksum: sha1:1725bf53fc9f1ca3f332322d91de24c9d58adc6a + pristine_git_object: fb661f72887271d5bb470e4edf025a32b00ade17 docs/models/toolannotations.md: id: ac541d142ff4 last_write_checksum: sha1:54d9bfd3cd764d11cd993f7ff87784bd6d11f14d pristine_git_object: f3c8fc3cf7d9b4587b47afaf67eb14608eb58b48 docs/models/toolcall.md: id: 80892ea1a051 - last_write_checksum: sha1:621dc83981e13cbcbc21f2e16a34178c322c4566 - pristine_git_object: 9d236e8b289977d2aa7bded0d633b224c5ec9e57 + last_write_checksum: sha1:cb27b9d36cfe6227978c7a7a01b1349b6bac99d9 + pristine_git_object: 3819236b9f3eee2f6878818cfbbe2817e97f7de2 docs/models/toolcallconfirmation.md: id: 944eebb142ff last_write_checksum: sha1:864ccb39a00094d965b764235e74709945abca3d pristine_git_object: 1812f7d687d83f5692d9e79709e56813ab2c79b1 docs/models/toolchoice.md: id: "097076343426" - last_write_checksum: sha1:65a2794a1102fdcba6fa5a3f497630fbaf98f94b - pristine_git_object: a457f96f6e295d590a5ef75f83a5a6c4fdd41c47 + last_write_checksum: sha1:25b33b34da02c3b46349dc8b6223f9ae18370d16 + pristine_git_object: 373046bbbc834169293b4f4ae8b2e238f952ddde docs/models/toolchoiceenum.md: id: 15410de51ffc last_write_checksum: sha1:cdff87c62661fcb902824fda8e305c5b1b98b3d8 @@ -3394,6 +3470,10 @@ trackedFiles: id: 5e2ddf7b3863 last_write_checksum: sha1:3aa9c92e9872fe75032e53e311bf050dbab51e98 pristine_git_object: 2a64e130e526f8d99e623e7cbc0c7add82d8fab0 + docs/models/tooltypes.md: + id: adb50fe63ea2 + last_write_checksum: sha1:d0d67b717773cbc99add6716e0287e64f04d24df + pristine_git_object: 345ee7dc07187e1ee06726ec63ffb75e1a34e736 docs/models/tracesrequest.md: id: 3adc703b2d5d last_write_checksum: sha1:6bbeaac0bf661c426a8d442f70e53d76b45c2a44 @@ -3740,8 +3820,8 @@ trackedFiles: pristine_git_object: 4b61c7b7fad5d597639122a8b32b7ac3c375d669 docs/models/workflowexecutionresponse.md: id: 73595cfc443f - last_write_checksum: sha1:b2aacb271ca655f622ba0c724971620814e0272b - pristine_git_object: 03f1010030defa48eb7d3f98189baab9ff7b1bfe + last_write_checksum: sha1:7621c93ced46e57411855bbe97746a4590a2d6af + pristine_git_object: ffdb5ee8b1232c905176f7665ebb7c87d538057d docs/models/workflowexecutionstartedattributesresponse.md: id: 384d48b3e104 last_write_checksum: sha1:54ce029d9db1b0f5dee6a42019995a58ef196268 @@ -3764,32 +3844,32 @@ trackedFiles: pristine_git_object: b6bb388ca18523ca9b682e5bc4d4cf1c95100fa5 docs/models/workflowexecutiontraceeventsresponse.md: id: 4242880e71fc - last_write_checksum: sha1:e240be5e6d57636189c0648f749ea7c2bb1b18bd - pristine_git_object: d24dfcaf0cb9f0c1519b5057263dcb839b61f275 + last_write_checksum: sha1:d686fc95497d86c27b209188f292fd209ffb6de9 + pristine_git_object: c9b667df4e18c89493e238a712b4abb9a24b59d1 docs/models/workflowexecutiontraceeventsresponseevent.md: id: 40012f3fc374 last_write_checksum: sha1:b7b2a4544e04bda359d226efc6ae4247678bda9a pristine_git_object: 81c4f573a5af75f2ea8356f8bf23da676700ab8d docs/models/workflowexecutiontraceotelresponse.md: id: 358cf8c2556f - last_write_checksum: sha1:8a518835d45e407d39893fe1493e24bb5931dd86 - pristine_git_object: cc4ff9cab9673bdce6ab31e930224490ad78f6c1 + last_write_checksum: sha1:f82314b4524066d3d0913e9c2f905c9200aabe59 + pristine_git_object: 747b0ff65be90e2bddf084d3329752eee4a3b2e1 docs/models/workflowexecutiontracesummaryattributesvalues.md: id: 50e4fbfd4cf6 last_write_checksum: sha1:ee33a4345041c2d8529049f0d04efb410ead4f64 pristine_git_object: 04bd34abb60485a9fe252a3c3cb125570f6fcc27 docs/models/workflowexecutiontracesummaryresponse.md: id: 5ac68ea4a1a4 - last_write_checksum: sha1:57899967680f72b2093c5a1add7fd4e598bc38f5 - pristine_git_object: c0380e7893e43ce2f5e4bef048efb1061ad93fa5 + last_write_checksum: sha1:e12d31f4129cd46e2ab90be3b1cb209966651edf + pristine_git_object: 44458210c24890f3dd37826810132f413f79face docs/models/workflowexecutiontracesummaryspan.md: id: 3851de52d638 last_write_checksum: sha1:528371799a9c90c9ddaf5315c2d33b89320688b8 pristine_git_object: 8ee487a2091161e674db28a7919d0d3d4cb57e32 docs/models/workflowexecutionwithoutresultresponse.md: id: 612e2645e3a3 - last_write_checksum: sha1:a62d8b840c5c769f61ec6e6af3b06dec3aecb044 - pristine_git_object: 47d795898cda1c2ce875b5f46f740d2f6c708c59 + last_write_checksum: sha1:1f3370c99584dba8d4051ae0de4db0c5410251fd + pristine_git_object: 2711c1cd23ad52a9081c8b19ae8a9d84066f9f47 docs/models/workflowgetresponse.md: id: aa8fca163259 last_write_checksum: sha1:eba9585e94ebc141c43d39689c31997083dcb615 @@ -3808,8 +3888,8 @@ trackedFiles: pristine_git_object: 4936382b48d568309c80ba1c4c25703ef3b69659 docs/models/workflowregistration.md: id: 1d0720b1355b - last_write_checksum: sha1:4704d8dc8f5b961ac128ccbc4ff0e95874b8a020 - pristine_git_object: 52658c64464a744ff8f64205036a7abb6e92586d + last_write_checksum: sha1:57eef63b2d911de13dc2478e6bc71cf2bb387ffe + pristine_git_object: d4020d2397c580b04276b2f0b07e2955f48db804 docs/models/workflowregistrationgetresponse.md: id: f2658cb29bf4 last_write_checksum: sha1:ef021920be1f1cf2016887fb1e3fb7f583c3596f @@ -3820,8 +3900,8 @@ trackedFiles: pristine_git_object: e37b36713c38a44b35d0aea4fb96cc8a44658156 docs/models/workflowregistrationwithworkerstatus.md: id: a558e858a7a9 - last_write_checksum: sha1:26d77bcd8fcfb7f2940513cc0aa2af2ca1734aca - pristine_git_object: f85563cedae6cb209614fc97ecf6dd94ef810172 + last_write_checksum: sha1:aef63357118b3b8219e64bba067f1c2bcb20f453 + pristine_git_object: bf9264d7fef65b8f212c4221518ef346470b2441 docs/models/workflowschedulelistresponse.md: id: 4c425808aa60 last_write_checksum: sha1:76a8376715ccad83ebe039f64b757617229d65c0 @@ -3932,8 +4012,8 @@ trackedFiles: pristine_git_object: c04ced0cf5e5f7774ba9b1d25722085b92b8f0c2 docs/sdks/deployments/README.md: id: e7c5559ab768 - last_write_checksum: sha1:366970a0a4f70f76efade23ce3beb8aab6add2ec - pristine_git_object: f70fa1a6c19542e7dc5d10c682db419a33d1c929 + last_write_checksum: sha1:0d4ad30c6d3b6517aa6dc9899e3f134decc1a560 + pristine_git_object: 349f37cd871fa78ad62fa6e32b9b31cdddeecfa0 docs/sdks/documents/README.md: id: 9758e88a0a9d last_write_checksum: sha1:7f1540110547b0ddb1350dc24422bb94bdf3bdd8 @@ -3948,8 +4028,8 @@ trackedFiles: pristine_git_object: de6b43fcbbcbadef17a4e35978815289146925ec docs/sdks/executions/README.md: id: 401745b17323 - last_write_checksum: sha1:828dedc778f58589232097d56ad35aa52c1dac32 - pristine_git_object: f877f53f748bcf5319a1d26907d88b80ef81cbb7 + last_write_checksum: sha1:471a49e8af942b3f4413b565b757ff572edc981a + pristine_git_object: cc2ebf13d813783a5d4bd236079000cfec798d9c docs/sdks/fields/README.md: id: fdb6c4f3bd69 last_write_checksum: sha1:ea6dea75f85d25fd0ccdd2c659ecec43d0e5242d @@ -3992,8 +4072,8 @@ trackedFiles: pristine_git_object: f585dcbeadeb87d5634a505450f3599af21df155 docs/sdks/ocr/README.md: id: 545e35d2613e - last_write_checksum: sha1:be72cd3b23779c9538f01ed718be7c44ae43c775 - pristine_git_object: 533b1bb20d121df7feb586680f20a5349b46acfa + last_write_checksum: sha1:cd32bb3687d72b393f7b4df9f75fc1a84fd172f4 + pristine_git_object: 68a2879f569f7eadebb22bf0f43c2da8411c1130 docs/sdks/records/README.md: id: db86bab024d3 last_write_checksum: sha1:2ef5b164016e9b40c27d8a4915aeb8d3d2ed42c7 @@ -4064,8 +4144,8 @@ trackedFiles: pristine_git_object: 036d44b8cfc51599873bd5c401a6aed30450536c src/mistralai/client/_version.py: id: cc807b30de19 - last_write_checksum: sha1:982ae98c1635cdd615a4ce5682bd508a78c23731 - pristine_git_object: 9c098e0a3a8ab146fd496953c423b2da76ea6f4b + last_write_checksum: sha1:f83dc16c4f0b9153b90d0351edb91e1f59072746 + pristine_git_object: e3b019304184e0676bab6e3dd77b7276332b44dd src/mistralai/client/accesses.py: id: 76fc53bfcf59 last_write_checksum: sha1:33d8a0663a647b7a7e1946064d05c3b40e538816 @@ -4128,8 +4208,8 @@ trackedFiles: pristine_git_object: 2e4e12201981a2bba2447ad06ba5445786cfc164 src/mistralai/client/deployments.py: id: a874b267fcb9 - last_write_checksum: sha1:b3d0bd14fad762c96ded90076b160a5f05ee663a - pristine_git_object: 0e068d4fa710a80f5d5c6274eaafad868b95a6ed + last_write_checksum: sha1:9c7c5d565ec5120666ab40970c1e430c57324ce0 + pristine_git_object: 96b16af8c61ce69b77176e1e1938a162acd93604 src/mistralai/client/documents.py: id: bcc17286c31c last_write_checksum: sha1:4261eeb474387959cbf359911e8ff3cfe706f75f @@ -4172,8 +4252,8 @@ trackedFiles: pristine_git_object: 6ce1897365d66d1ae32e435388b41add3eb3464f src/mistralai/client/executions.py: id: 974004d347a2 - last_write_checksum: sha1:091cf1ac7d445ed03f9f1c5b58a881c111bf323a - pristine_git_object: e4ed8348a0ef6d3cf539b8e32f2409c70473bfe8 + last_write_checksum: sha1:054fd67b46686af2142afb63ba8e6262015502be + pristine_git_object: d34d6dffd756ea93bd6e4881b1f532293fb966e0 src/mistralai/client/fields.py: id: 862335210b20 last_write_checksum: sha1:52a113e4ba06571c5a5072e196d59b84ee936f3d @@ -4220,8 +4300,8 @@ trackedFiles: pristine_git_object: d0b6b4fc091393e6e8a75f158363baa8e2ea21d4 src/mistralai/client/models/__init__.py: id: e0e8dad92725 - last_write_checksum: sha1:f315b5dd13dbe68c63038bb99aa115e0bc18bb5c - pristine_git_object: 50ad9d5264c4efb0ef9256c5c2641008535c0c27 + last_write_checksum: sha1:a2c067fcfbea47a8e4af41d1c39713215a6a9652 + pristine_git_object: 38a48115704be471ec7f821d7e4c5e53c53ad81e src/mistralai/client/models/activitytaskcompletedattributesresponse.py: id: 8174941767cc last_write_checksum: sha1:b5246e203765ba0532a6a65d391bdd237ab2c891 @@ -4356,12 +4436,12 @@ trackedFiles: pristine_git_object: 3186d5df9000d4a62c0fbc64a601e6b709803deb src/mistralai/client/models/agentscompletionrequest.py: id: 3960bc4c545f - last_write_checksum: sha1:2f05e7029b2a283e82dd5744f333ced15b7519b9 - pristine_git_object: 55794ea2f7f27c8b2c1946fcee3fbc8887ce5f26 + last_write_checksum: sha1:39836b814e3fe00ad6fe79d54cc3db0fb9ca8820 + pristine_git_object: d6b430999648398aa4555bd851bbd91c29c5c06e src/mistralai/client/models/agentscompletionstreamrequest.py: id: 1b73f90befc2 - last_write_checksum: sha1:0d00a288f9ca11bcbe75e8f826fb73d8a13d75a2 - pristine_git_object: 5d3bdecd4ff8c2330de59873edfc9a69973a1d58 + last_write_checksum: sha1:c9657a7501bc6ca9f9990c78814ecb43aebb5ef3 + pristine_git_object: bb53879d7b590e19de74e183cb9658d7de6ba271 src/mistralai/client/models/annotations.py: id: 3ae9e07de11d last_write_checksum: sha1:c015e86fa53f60f6fccce2be63b2faf8a6d81f38 @@ -4500,16 +4580,16 @@ trackedFiles: pristine_git_object: 40985f844c72814bc23d3ed1f6869fcf33fb19c2 src/mistralai/client/models/chatcompletionrequest.py: id: 9979805d8c38 - last_write_checksum: sha1:3211124d52b666c680a614d9c99bf8f4a80af273 - pristine_git_object: ee168c18d6427a745fce5a639c60ce2ae82024b9 + last_write_checksum: sha1:11747a6d0b92fb94e89b8d9bba4207f885222982 + pristine_git_object: dafd0073273505b12ced421d80f81d8bab6195c5 src/mistralai/client/models/chatcompletionresponse.py: id: 669d996b8e82 last_write_checksum: sha1:97f164fea881127ac82303e637b6a270e200ac5b pristine_git_object: 7092bbc18425091d111ec998b33edc009ff0931b src/mistralai/client/models/chatcompletionstreamrequest.py: id: 18cb2b2415d4 - last_write_checksum: sha1:59663f3b3bd4a17253208e73025a3857e7c9de32 - pristine_git_object: f6ad6a3610ddd57857b3f1019dfde13d8e8e42bc + last_write_checksum: sha1:36a3c5b9a91d0ff5401c6242fa2c1350e9a74d34 + pristine_git_object: 9597cafbc63a6858e8eb0467393160253fa37b90 src/mistralai/client/models/chatmoderationrequest.py: id: 057aecb07275 last_write_checksum: sha1:7677494c0e36ccbc201384cb587abeb852a1a924 @@ -4628,8 +4708,8 @@ trackedFiles: pristine_git_object: 953ef17cbecfa6983a722b151b966c72f74cf476 src/mistralai/client/models/connector.py: id: 1a4facac922d - last_write_checksum: sha1:5b8d7f5c6f97a2f8478ddfdd093a74b60d53da34 - pristine_git_object: ce9e083744d2682451378528aafd90c439748bfd + last_write_checksum: sha1:0b6936f5932683bb6ec3c283b55d28dfc21b0f00 + pristine_git_object: 70cd30c7699bc38add3629f45ccdc4964b3b51c7 src/mistralai/client/models/connector_activate_for_organization_v1op.py: id: 9b35397dd5cc last_write_checksum: sha1:310d5c74ef6b89e604e94bec61efa51f853e7c88 @@ -5126,6 +5206,10 @@ trackedFiles: id: 967bf5f43b22 last_write_checksum: sha1:0c4798d0793091f48d614f73208fa5bb62b5b18d pristine_git_object: 8095c3149fbca09c6b089e4e5638d54a39a66277 + src/mistralai/client/models/executiontool.py: + id: 313d88a97140 + last_write_checksum: sha1:ac13ed1fb5866a8660bfbd8d9dde7e24b9518ba5 + pristine_git_object: 2bbc5332a1d49f571aba8e0173b09fc5ff93f3b5 src/mistralai/client/models/export_dataset_to_jsonl_v1_observability_datasets_dataset_id_exports_to_jsonl_getop.py: id: 74f5f3183b64 last_write_checksum: sha1:8d7dde90d9c55b520aa9300a25c843a0b866638b @@ -6122,14 +6206,46 @@ trackedFiles: id: cb6e8a484a38 last_write_checksum: sha1:3a7991f57573edee24780bc4b3907c8426aa3fa6 pristine_git_object: f1535352af02c0d32c573f431b0440da4dab2fd6 + src/mistralai/client/models/ocrasidetextblock.py: + id: 1960ecdcc21a + last_write_checksum: sha1:abb98c5335b7cdc1f98dd8960d25a3ad3392fa70 + pristine_git_object: 3d81d9d3fcd7aa94cdc1720e045ae69c6cb4bdaa + src/mistralai/client/models/ocrcaptionblock.py: + id: 84933d3975dd + last_write_checksum: sha1:539fbaa44cabf0e9f31d24aaebf039dd22eb4a83 + pristine_git_object: d1e0da834914534b5a6e6e430037788f3635b8d1 + src/mistralai/client/models/ocrcodeblock.py: + id: bacdc04c0c8d + last_write_checksum: sha1:2a00f62939c32ddadc98cb62f7d0657840788ac5 + pristine_git_object: 52ffee5980bd40f43a9e30b9e219935bc1afbb22 src/mistralai/client/models/ocrconfidencescore.py: id: 15b75862a7bd last_write_checksum: sha1:daafce451f4ee4a0440db6f6444f10187a64fe67 pristine_git_object: 7fab8c9b542b1419bc4844d9d91d62c4f76f19ad + src/mistralai/client/models/ocrequationblock.py: + id: e8856fb2a77f + last_write_checksum: sha1:0b3a71740141c1b429fd6fd87aaacf72a8ea1f38 + pristine_git_object: 57a8eb3e2a23cc9ab6c367627a70364ad0ccb083 + src/mistralai/client/models/ocrfooterblock.py: + id: 9435c879d4c4 + last_write_checksum: sha1:967f7db619bfb5dc29a49dcc32ed41f05b279ed0 + pristine_git_object: b3f4c18db886ae80526ee32515030b23418f8e97 + src/mistralai/client/models/ocrheaderblock.py: + id: 86d4b90e4056 + last_write_checksum: sha1:d2c1def9d9c8ed8ce38f0b804acf9639a0023ef3 + pristine_git_object: a2e30a98babaf7372fad7816e005ac8ee1803257 + src/mistralai/client/models/ocrimageblock.py: + id: 9700f3ab6b59 + last_write_checksum: sha1:2c5acd9a1126607622c53b1d7ae75a2b6b764fd7 + pristine_git_object: 3381c47a53a91ebe5ae05802339c5af081a82a0f src/mistralai/client/models/ocrimageobject.py: id: 685faeb41a80 last_write_checksum: sha1:a848d782d09e7b899e4a801d8ea43505783c853f pristine_git_object: 583cc38bf6046ff783ac2b5b2306fa42fa3c6fb5 + src/mistralai/client/models/ocrlistblock.py: + id: 20bdae8ad688 + last_write_checksum: sha1:4da4b1177c9a080b386d23d46c7784acd43b46e4 + pristine_git_object: 8d32c11af97a7bc0fd83796cd40a049d373e4c81 src/mistralai/client/models/ocrpageconfidencescores.py: id: 7e4a07e4bdfd last_write_checksum: sha1:5b1a3f6f27f8c45141bc9c445bbbd17636aae7f7 @@ -6140,20 +6256,40 @@ trackedFiles: pristine_git_object: 847205c6c74a621dd2ee6d9eb18d1acba8395c50 src/mistralai/client/models/ocrpageobject.py: id: 07a099f89487 - last_write_checksum: sha1:d97dc5b6ff4f91302cfcf1ea120c8e99545716c5 - pristine_git_object: d77661aad5832248ab66bfb3c7bf48bfd2910303 + last_write_checksum: sha1:1e6999b5bf68f0913cddbf1dfcacee3c28042490 + pristine_git_object: 662326b0debf02aea468879c6097ce97ce4c7b85 + src/mistralai/client/models/ocrreferencesblock.py: + id: 24b57f5f1f99 + last_write_checksum: sha1:711341fe3e0fdff6fd4eecb448d4fc0cda3ede96 + pristine_git_object: 6294488cacbd6910a8edb6458ce37d1f0696ba43 src/mistralai/client/models/ocrrequest.py: id: 36f204c64074 - last_write_checksum: sha1:032a1fcd9eb0a6c0a4249772c2e5790705ee2b28 - pristine_git_object: 2a16e7128eeb7f262bb1f80633a9a50d02a093b5 + last_write_checksum: sha1:4cd9c6ff777d2d4636b7d8bcc87fc05e83884dd4 + pristine_git_object: 3628c2143bc8e6733f61fe1dfcf6b6acf8a53f4b src/mistralai/client/models/ocrresponse.py: id: 2fdfc881ca56 last_write_checksum: sha1:8e496f6122ea0798df0d23f50ea3046a29f0f8db pristine_git_object: ff4b96c30573a18c2e5665a6f3f10724f7a23f9a + src/mistralai/client/models/ocrsignatureblock.py: + id: 2e2939942241 + last_write_checksum: sha1:2368b8c7334df43bf5fb6b0ecbd1aa5983451333 + pristine_git_object: 0275466fa06d5a70d95642d994d47b767d3e3ea4 + src/mistralai/client/models/ocrtableblock.py: + id: dada7ebd13b0 + last_write_checksum: sha1:23c9f6d6db7ac51e7ece61ad1443ab90384f5955 + pristine_git_object: 97c8adb79af95093fbd8dd3162804ac60cb503b3 src/mistralai/client/models/ocrtableobject.py: id: d74dd0d2ddac last_write_checksum: sha1:fd0c1d3034011209de01a573952d1fd7f663504d pristine_git_object: 1cb59527b9c1892c789b099f04b99cb1e7169c6c + src/mistralai/client/models/ocrtextblock.py: + id: d329f1be53f7 + last_write_checksum: sha1:c35ec9568a14b1dc2cfe554a838bbbbd91fa3592 + pristine_git_object: bb6981f941675be259325d67ddc4230dcfaa92c3 + src/mistralai/client/models/ocrtitleblock.py: + id: 1a397a673c85 + last_write_checksum: sha1:c8d7cf2b035c12637594e87f1a002cc7be344aca + pristine_git_object: 951f80f4c0d7a459dbce36b8b9a7d46ba134d824 src/mistralai/client/models/ocrusageinfo.py: id: 272b7e1785d5 last_write_checksum: sha1:eb223a88b7e5175056197f64bb4bce2c88ccea19 @@ -6266,6 +6402,22 @@ trackedFiles: id: 03c2460e04ac last_write_checksum: sha1:faea37686e78fd3cc8a74371a3004d59ca57f4e9 pristine_git_object: 94fd670836c95c432fd71f1f7dfc16323b50ee24 + src/mistralai/client/models/publicconnectorexecutiondata.py: + id: 60d7f9e91ee6 + last_write_checksum: sha1:8113e3f1e90aeb27359ec47883e9355cd029d1bd + pristine_git_object: 9e6bbd582707bddce4c987bb8c6d57b73f461b56 + src/mistralai/client/models/publicexecutionconnectionconfig.py: + id: c905833ce251 + last_write_checksum: sha1:9c66d819f7af3bc35173efdbe80414cacd328b00 + pristine_git_object: c6a4cd145b8f7cd0cda121ccc44ed0adb0feb228 + src/mistralai/client/models/publicexecutionconnector.py: + id: c2a70c48a9c6 + last_write_checksum: sha1:0354f7dc75e49efdcc18abc8d1491eae86441a15 + pristine_git_object: 0223968ff278e67cff58f3c694739c67b7fd160d + src/mistralai/client/models/publicexecutionenv.py: + id: e0bc735fbadc + last_write_checksum: sha1:6cb66e7935e4a35148f9491324473cea33323814 + pristine_git_object: 69f08df6f751207b46b581ed70138e13ea48a6df src/mistralai/client/models/query_workflow_execution_v1_workflows_executions_execution_id_queries_postop.py: id: 73826dbd3f5b last_write_checksum: sha1:5105618697e031bae45cf9f6d7c5227d9c08f155 @@ -6612,16 +6764,16 @@ trackedFiles: pristine_git_object: 0add960bc93f53df5ddda94892543a0857f32dd6 src/mistralai/client/models/stream_deployment_logsop.py: id: 0d66b14b5200 - last_write_checksum: sha1:f651071fd9b03c32c475a58ce9ec9cf56f06bc81 - pristine_git_object: 4bf76da59bc93669243a57b9422f9244b16b0912 + last_write_checksum: sha1:127b4065550f0cc0e04e3bff01a923d561b69e3b + pristine_git_object: 8b89bd80d500981f028c951fc5dac6c9b1f751fb src/mistralai/client/models/stream_v1_workflows_executions_execution_id_stream_getop.py: id: 793a9301522f last_write_checksum: sha1:7a3c1f618afb8510a032e3f8255ed5f92ece6c86 pristine_git_object: b87f630a583fe4564781914c85f63682912dbc14 src/mistralai/client/models/stream_workflow_execution_logsop.py: id: 33528845f8f2 - last_write_checksum: sha1:6338be8a5d5d4b87c3bb948f0441e29f66f2f4da - pristine_git_object: 653d2a5bdc55737d113ef4384bcb73af087605dc + last_write_checksum: sha1:28fba3991c117b301cc6b79605645d9e104d8aa6 + pristine_git_object: 9db7db54c0b75143b35d73040057094dcedd876a src/mistralai/client/models/streamerror.py: id: 2632e221b587 last_write_checksum: sha1:71eb9338eb4b1e747621027b67c45f37ca4042ad @@ -6744,24 +6896,24 @@ trackedFiles: pristine_git_object: 8d3773752444db865c0e2629ad9eed66eb7f2bc6 src/mistralai/client/models/tool.py: id: 48b4f6f50fe9 - last_write_checksum: sha1:507bcbe7af5e919614c27c0704f1c26def7da2bd - pristine_git_object: a83a6d1c4f66ae2876179e4cf3967f84b013f020 + last_write_checksum: sha1:ed3725d5da10e6a201f73724a2bbf618bdbb2a33 + pristine_git_object: 1d1c5ce557321c33b036949fa4c625fb25e38f95 src/mistralai/client/models/toolannotations.py: id: 2ae257a35b01 last_write_checksum: sha1:6f7c174966fc9a9fee5de7c8dfa4dbf2064c10e4 pristine_git_object: b2e9b94808b96b859d29c42aa0d5ca994761a395 src/mistralai/client/models/toolcall.py: id: fb34a1a3f3c2 - last_write_checksum: sha1:f07d54b25fddde055361c448764a428238c57a4a - pristine_git_object: 1424d87929b8c7f19205eb1a348c8278b436e817 + last_write_checksum: sha1:a0e14e69a107d88239e1ee43d2e8fd498eb034a4 + pristine_git_object: 29f1149cd07dfc2744a1088d271af65e4ad70012 src/mistralai/client/models/toolcallconfirmation.py: id: f2e953cfb4fe last_write_checksum: sha1:554a2e073917ffb479efe5887c0b59a2f4967c6e pristine_git_object: fd6eca50a7ec2f4cca2ae20958717881660e0ac5 src/mistralai/client/models/toolchoice.py: id: 14f7e4cc35b6 - last_write_checksum: sha1:bf3eaf4ce3feeff3dd44e6ac69783f2833333c3e - pristine_git_object: e7a17d5cdebe8206f6df70e3be29afff68fbfe79 + last_write_checksum: sha1:531f7ac1d7cd7d99b79756b9c673463dd33f2011 + pristine_git_object: ce84573ae34624b1e07f7001d3a00bf36d620e5f src/mistralai/client/models/toolchoiceenum.py: id: c7798801f860 last_write_checksum: sha1:5388b2a6fad842f8e4ae79e6257b4d14c122a6ff @@ -6818,6 +6970,10 @@ trackedFiles: id: cbe8c44aee50 last_write_checksum: sha1:53949106f192944a13a8fcbeb37b3d08478b7bbc pristine_git_object: 1a7781fc2c1001002785d512ed7909ce91a9129f + src/mistralai/client/models/tooltypes.py: + id: 86c3b54272fd + last_write_checksum: sha1:e90c15c1e645a5f207af0c7ac728cb0a521c6706 + pristine_git_object: e601c1967c42ef8d0c2eea98bc5c0ca722cde066 src/mistralai/client/models/tracesrequest.py: id: df80914625df last_write_checksum: sha1:26f12ccd773c5ce0776fa6787ade821b6f70910a @@ -7136,8 +7292,8 @@ trackedFiles: pristine_git_object: ea5e752df355fd5a771813a7e5c569539e66c90a src/mistralai/client/models/workflowexecutionresponse.py: id: 758786637be5 - last_write_checksum: sha1:1a06785d691c7bdc9e5d1fe4e2a4e3d5e2d3b96b - pristine_git_object: 83179054bf4ca0e3da6be1644fcb32680a4c43c7 + last_write_checksum: sha1:30c1fd49d20113d7c1fe5ba54078686bc3f3da79 + pristine_git_object: e387a57a095c0e8539e0cdcb43729ba427e58725 src/mistralai/client/models/workflowexecutionstartedattributesresponse.py: id: d2276919a895 last_write_checksum: sha1:53312110c8c2902f32c72a88ee68cea048833fca @@ -7160,28 +7316,28 @@ trackedFiles: pristine_git_object: f74cd5ab6aeadf662e90a46b394621a631602372 src/mistralai/client/models/workflowexecutiontraceeventsresponse.py: id: 94d92762ccb7 - last_write_checksum: sha1:2d46b00c374d7590802c60abee6ea69d1d999ed1 - pristine_git_object: 22853e9b01dea9917dfb6291feb36b32f1e65850 + last_write_checksum: sha1:903aaa97d450493daf1a5921d37553cf8aa669d8 + pristine_git_object: 0494ad7512ee434c3125c0e8eb61b06947c803b0 src/mistralai/client/models/workflowexecutiontraceotelresponse.py: id: 7531bf461dc2 - last_write_checksum: sha1:284b6d7b90576638656b3493e5ba7429a56fe9c5 - pristine_git_object: 46f5404e4da7d0e40199054cfb5b0dfc15ab1eed + last_write_checksum: sha1:0093cbf55e37fd6fad45f84aab5625ee6a6e7b8e + pristine_git_object: f6f11bce18789923ff304834f7b881313194edb9 src/mistralai/client/models/workflowexecutiontracesummaryattributesvalues.py: id: 5e3448a39a40 last_write_checksum: sha1:a59ae1b987558f478518c86f93713e174e5e8d19 pristine_git_object: 1957662cace4c7ca9b7b892b749922a436ca92f0 src/mistralai/client/models/workflowexecutiontracesummaryresponse.py: id: 2ea199810f5f - last_write_checksum: sha1:8642e0396abaedb1f758df0bc06d8386c024c8c5 - pristine_git_object: 92e9a2a7b0df8a7a6ff1fff5f1aee4cdc04c51c5 + last_write_checksum: sha1:4eeaf18d8c024d5cd8852fdcc7ab7726308a8fa3 + pristine_git_object: 25f202167f2f49547036fe58e0125b6f9a607802 src/mistralai/client/models/workflowexecutiontracesummaryspan.py: id: 750353cbd052 last_write_checksum: sha1:ba4f7ecc22fdd36aa3c11af5c1e434bb974d5786 pristine_git_object: e80db90fe890726c75f711ea2b52b3008ef949ca src/mistralai/client/models/workflowexecutionwithoutresultresponse.py: id: dd70ba8def79 - last_write_checksum: sha1:c6952b7163b972a0beb868b4407b3780f7ecbbd8 - pristine_git_object: 5e7fe8528de081b2366584af49ab954b93aeea0c + last_write_checksum: sha1:ff1ece0a70cfc120d0611f745148adc5d6fb9ac6 + pristine_git_object: 110c3174b21c2cc0d37bf0c6485488307dbaf1b9 src/mistralai/client/models/workflowgetresponse.py: id: 230f55a36ebf last_write_checksum: sha1:935cfce50db82d85ac0e246736c8939bfb015da0 @@ -7200,8 +7356,8 @@ trackedFiles: pristine_git_object: d80bb3db6cbc69404e22007a78bbef209c03c658 src/mistralai/client/models/workflowregistration.py: id: 2b937728c88b - last_write_checksum: sha1:aa049285311701b56fa1b3f331b395174cc9ece3 - pristine_git_object: 7c65801d28753f738dc9f0b8f06aabd4b8a50ffc + last_write_checksum: sha1:f3c4b6a72b456a864d87f2a878d750f6962803a5 + pristine_git_object: 61df9d852e3625507b4cf2bc5833f15e2b61eae3 src/mistralai/client/models/workflowregistrationgetresponse.py: id: f063656f22ae last_write_checksum: sha1:cc7b4d3b71ea8bb8ae452c6fd3e4acc710a18321 @@ -7212,8 +7368,8 @@ trackedFiles: pristine_git_object: e66f219b28849d7a49af7c764389e0d1d1ee7f37 src/mistralai/client/models/workflowregistrationwithworkerstatus.py: id: 23b661b9496f - last_write_checksum: sha1:b09da5640b53502f1d2935729b17655c176de27e - pristine_git_object: 62c379d91f6f8e0b2842b11208513635160a0c02 + last_write_checksum: sha1:7d9880e7111e739234a918ae2ffdc9f8eeda5d41 + pristine_git_object: 0b43a2e9bcb1664b77010f1398222a35186461f7 src/mistralai/client/models/workflowschedulelistresponse.py: id: e5247c5183bb last_write_checksum: sha1:10d416a4157ccfd9f60479ea0cd8e4daaaa49cc3 @@ -7288,8 +7444,8 @@ trackedFiles: pristine_git_object: 4d07debc5757055464dd0fb3cd1b5b0aebd3cfe8 src/mistralai/client/ocr.py: id: 2f804a12fc62 - last_write_checksum: sha1:e6a545a2f2d7bfcb963da1084ef34e60d5176523 - pristine_git_object: 0907ce6de5f518d0a0f1a7c84a1c73e7465ddd5b + last_write_checksum: sha1:42d187a4d918535d004873ff1b3ee7b0c0aa6826 + pristine_git_object: e63d1aeb649883d4e44d17915e739c2ec96e7da7 src/mistralai/client/py.typed: id: d95cd1565e33 last_write_checksum: sha1:8efc425ffe830805ffcc0f3055871bdcdc542c60 @@ -7958,7 +8114,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"}} + 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} 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}} diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 2ca07a7c..0a8a8972 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -32,7 +32,7 @@ generation: generateNewTests: false skipResponseBodyAssertions: false python: - version: 2.4.13 + version: 2.4.14 additionalDependencies: dev: pytest: ^8.2.2 diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index f69f30b9..69436c41 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:c388b952cb16e3ac74bfacefbd71b3bcf68d516a943623beaf0a24cb064688f9 - sourceBlobDigest: sha256:1544d486fd380743ad5769c3c244c645deb51d039940c1e055dde57095a3d494 + sourceRevisionDigest: sha256:710048a12ecd28d48a0a7bf78fe01ccbc8e8fca7c28fec17b43d08a2fce58c5d + sourceBlobDigest: sha256:2a04c377464d243355047eaa2744020752e7d182b23841a05e22852af68b5ea5 tags: - latest - - speakeasy-mistralai-sdk-27822666725-1 + - speakeasy-mistralai-sdk-28014224999-1 targets: mistralai-azure-sdk: source: mistral-azure-source @@ -39,10 +39,10 @@ targets: mistralai-sdk: source: mistral-openapi sourceNamespace: mistral-openapi - sourceRevisionDigest: sha256:c388b952cb16e3ac74bfacefbd71b3bcf68d516a943623beaf0a24cb064688f9 - sourceBlobDigest: sha256:1544d486fd380743ad5769c3c244c645deb51d039940c1e055dde57095a3d494 + sourceRevisionDigest: sha256:710048a12ecd28d48a0a7bf78fe01ccbc8e8fca7c28fec17b43d08a2fce58c5d + sourceBlobDigest: sha256:2a04c377464d243355047eaa2744020752e7d182b23841a05e22852af68b5ea5 codeSamplesNamespace: mistral-openapi-code-samples - codeSamplesRevisionDigest: sha256:1155a1c5a093786356d54606c6edb16ce7ae0c5d68847c6b062c61ba36bb9cd7 + codeSamplesRevisionDigest: sha256:539b14c378de10453bb908e8755b5e3de9b5818dee893266ce679f9223dd5b49 workflow: workflowVersion: 1.0.0 speakeasyVersion: 1.763.6 diff --git a/RELEASES.md b/RELEASES.md index eaec23a0..74992519 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -708,4 +708,14 @@ Based on: ### Generated - [python v2.4.13] . ### Releases -- [PyPI v2.4.13] https://pypi.org/project/mistralai/2.4.13 - . \ No newline at end of file +- [PyPI v2.4.13] https://pypi.org/project/mistralai/2.4.13 - . + +## 2026-06-23 08:54:14 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.763.6 (2.884.13) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v2.4.14] . +### Releases +- [PyPI v2.4.14] https://pypi.org/project/mistralai/2.4.14 - . \ No newline at end of file diff --git a/docs/models/block.md b/docs/models/block.md new file mode 100644 index 00000000..087bec2a --- /dev/null +++ b/docs/models/block.md @@ -0,0 +1,83 @@ +# Block + + +## Supported Types + +### `models.OCRAsideTextBlock` + +```python +value: models.OCRAsideTextBlock = /* values here */ +``` + +### `models.OCRCaptionBlock` + +```python +value: models.OCRCaptionBlock = /* values here */ +``` + +### `models.OCRCodeBlock` + +```python +value: models.OCRCodeBlock = /* values here */ +``` + +### `models.OCREquationBlock` + +```python +value: models.OCREquationBlock = /* values here */ +``` + +### `models.OCRFooterBlock` + +```python +value: models.OCRFooterBlock = /* values here */ +``` + +### `models.OCRHeaderBlock` + +```python +value: models.OCRHeaderBlock = /* values here */ +``` + +### `models.OCRImageBlock` + +```python +value: models.OCRImageBlock = /* values here */ +``` + +### `models.OCRListBlock` + +```python +value: models.OCRListBlock = /* values here */ +``` + +### `models.OCRReferencesBlock` + +```python +value: models.OCRReferencesBlock = /* values here */ +``` + +### `models.OCRSignatureBlock` + +```python +value: models.OCRSignatureBlock = /* values here */ +``` + +### `models.OCRTableBlock` + +```python +value: models.OCRTableBlock = /* values here */ +``` + +### `models.OCRTextBlock` + +```python +value: models.OCRTextBlock = /* values here */ +``` + +### `models.OCRTitleBlock` + +```python +value: models.OCRTitleBlock = /* values here */ +``` + diff --git a/docs/models/connector.md b/docs/models/connector.md index 45aafa1e..73f8a824 100644 --- a/docs/models/connector.md +++ b/docs/models/connector.md @@ -29,4 +29,5 @@ | `is_authenticated` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A | | `tools` | List[[models.ConnectorTool](../models/connectortool.md)] | :heavy_minus_sign: | N/A | | `system_prompt_route` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | -| `connection_config` | [OptionalNullable[models.PublicConnectionConfig]](../models/publicconnectionconfig.md) | :heavy_minus_sign: | N/A | \ No newline at end of file +| `connection_config` | [OptionalNullable[models.PublicConnectionConfig]](../models/publicconnectionconfig.md) | :heavy_minus_sign: | N/A | +| `execution_env` | [OptionalNullable[models.PublicExecutionEnv]](../models/publicexecutionenv.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/executiontool.md b/docs/models/executiontool.md new file mode 100644 index 00000000..b8cbe716 --- /dev/null +++ b/docs/models/executiontool.md @@ -0,0 +1,10 @@ +# ExecutionTool + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | +| `name` | *str* | :heavy_check_mark: | N/A | +| `integration_id` | *str* | :heavy_check_mark: | N/A | +| `execution_config` | [Nullable[models.ExecutionConfig]](../models/executionconfig.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/ocrasidetextblock.md b/docs/models/ocrasidetextblock.md new file mode 100644 index 00000000..6bf9f26f --- /dev/null +++ b/docs/models/ocrasidetextblock.md @@ -0,0 +1,13 @@ +# OCRAsideTextBlock + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `top_left_x` | *int* | :heavy_check_mark: | N/A | +| `top_left_y` | *int* | :heavy_check_mark: | N/A | +| `bottom_right_x` | *int* | :heavy_check_mark: | N/A | +| `bottom_right_y` | *int* | :heavy_check_mark: | N/A | +| `content` | *str* | :heavy_check_mark: | Text/markdown/html content of this block | +| `type` | *Literal["aside_text"]* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/ocrcaptionblock.md b/docs/models/ocrcaptionblock.md new file mode 100644 index 00000000..31ee4179 --- /dev/null +++ b/docs/models/ocrcaptionblock.md @@ -0,0 +1,13 @@ +# OCRCaptionBlock + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `top_left_x` | *int* | :heavy_check_mark: | N/A | +| `top_left_y` | *int* | :heavy_check_mark: | N/A | +| `bottom_right_x` | *int* | :heavy_check_mark: | N/A | +| `bottom_right_y` | *int* | :heavy_check_mark: | N/A | +| `content` | *str* | :heavy_check_mark: | Text/markdown/html content of this block | +| `type` | *Literal["caption"]* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/ocrcodeblock.md b/docs/models/ocrcodeblock.md new file mode 100644 index 00000000..56452889 --- /dev/null +++ b/docs/models/ocrcodeblock.md @@ -0,0 +1,13 @@ +# OCRCodeBlock + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `top_left_x` | *int* | :heavy_check_mark: | N/A | +| `top_left_y` | *int* | :heavy_check_mark: | N/A | +| `bottom_right_x` | *int* | :heavy_check_mark: | N/A | +| `bottom_right_y` | *int* | :heavy_check_mark: | N/A | +| `content` | *str* | :heavy_check_mark: | Text/markdown/html content of this block | +| `type` | *Literal["code"]* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/ocrequationblock.md b/docs/models/ocrequationblock.md new file mode 100644 index 00000000..4c71e491 --- /dev/null +++ b/docs/models/ocrequationblock.md @@ -0,0 +1,13 @@ +# OCREquationBlock + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `top_left_x` | *int* | :heavy_check_mark: | N/A | +| `top_left_y` | *int* | :heavy_check_mark: | N/A | +| `bottom_right_x` | *int* | :heavy_check_mark: | N/A | +| `bottom_right_y` | *int* | :heavy_check_mark: | N/A | +| `content` | *str* | :heavy_check_mark: | Text/markdown/html content of this block | +| `type` | *Literal["equation"]* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/ocrfooterblock.md b/docs/models/ocrfooterblock.md new file mode 100644 index 00000000..cc7ff354 --- /dev/null +++ b/docs/models/ocrfooterblock.md @@ -0,0 +1,13 @@ +# OCRFooterBlock + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `top_left_x` | *int* | :heavy_check_mark: | N/A | +| `top_left_y` | *int* | :heavy_check_mark: | N/A | +| `bottom_right_x` | *int* | :heavy_check_mark: | N/A | +| `bottom_right_y` | *int* | :heavy_check_mark: | N/A | +| `content` | *str* | :heavy_check_mark: | Text/markdown/html content of this block | +| `type` | *Literal["footer"]* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/ocrheaderblock.md b/docs/models/ocrheaderblock.md new file mode 100644 index 00000000..0b000251 --- /dev/null +++ b/docs/models/ocrheaderblock.md @@ -0,0 +1,13 @@ +# OCRHeaderBlock + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `top_left_x` | *int* | :heavy_check_mark: | N/A | +| `top_left_y` | *int* | :heavy_check_mark: | N/A | +| `bottom_right_x` | *int* | :heavy_check_mark: | N/A | +| `bottom_right_y` | *int* | :heavy_check_mark: | N/A | +| `content` | *str* | :heavy_check_mark: | Text/markdown/html content of this block | +| `type` | *Literal["header"]* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/ocrimageblock.md b/docs/models/ocrimageblock.md new file mode 100644 index 00000000..5744a5a6 --- /dev/null +++ b/docs/models/ocrimageblock.md @@ -0,0 +1,14 @@ +# OCRImageBlock + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | +| `top_left_x` | *int* | :heavy_check_mark: | N/A | +| `top_left_y` | *int* | :heavy_check_mark: | N/A | +| `bottom_right_x` | *int* | :heavy_check_mark: | N/A | +| `bottom_right_y` | *int* | :heavy_check_mark: | N/A | +| `content` | *str* | :heavy_check_mark: | Text/markdown/html content of this block | +| `type` | *Literal["image"]* | :heavy_check_mark: | N/A | +| `image_id` | *str* | :heavy_check_mark: | References the corresponding entry in OCRPageObject.images | \ No newline at end of file diff --git a/docs/models/ocrlistblock.md b/docs/models/ocrlistblock.md new file mode 100644 index 00000000..0fce7a1a --- /dev/null +++ b/docs/models/ocrlistblock.md @@ -0,0 +1,13 @@ +# OCRListBlock + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `top_left_x` | *int* | :heavy_check_mark: | N/A | +| `top_left_y` | *int* | :heavy_check_mark: | N/A | +| `bottom_right_x` | *int* | :heavy_check_mark: | N/A | +| `bottom_right_y` | *int* | :heavy_check_mark: | N/A | +| `content` | *str* | :heavy_check_mark: | Text/markdown/html content of this block | +| `type` | *Literal["list"]* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/ocrpageobject.md b/docs/models/ocrpageobject.md index 0fc55052..5f5c3cd5 100644 --- a/docs/models/ocrpageobject.md +++ b/docs/models/ocrpageobject.md @@ -3,14 +3,15 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | -| `index` | *int* | :heavy_check_mark: | The page index in a pdf document starting from 0 | -| `markdown` | *str* | :heavy_check_mark: | The markdown string response of the page | -| `images` | List[[models.OCRImageObject](../models/ocrimageobject.md)] | :heavy_check_mark: | List of all extracted images in the page | -| `tables` | List[[models.OCRTableObject](../models/ocrtableobject.md)] | :heavy_minus_sign: | List of all extracted tables in the page | -| `hyperlinks` | List[*str*] | :heavy_minus_sign: | List of all hyperlinks in the page | -| `header` | *OptionalNullable[str]* | :heavy_minus_sign: | Header of the page | -| `footer` | *OptionalNullable[str]* | :heavy_minus_sign: | Footer of the page | -| `dimensions` | [Nullable[models.OCRPageDimensions]](../models/ocrpagedimensions.md) | :heavy_check_mark: | The dimensions of the PDF Page's screenshot image | -| `confidence_scores` | [OptionalNullable[models.OCRPageConfidenceScores]](../models/ocrpageconfidencescores.md) | :heavy_minus_sign: | Confidence scores for the OCR page (populated when confidence_scores_granularity is set) | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | +| `index` | *int* | :heavy_check_mark: | The page index in a pdf document starting from 0 | +| `markdown` | *str* | :heavy_check_mark: | The markdown string response of the page | +| `images` | List[[models.OCRImageObject](../models/ocrimageobject.md)] | :heavy_check_mark: | List of all extracted images in the page | +| `tables` | List[[models.OCRTableObject](../models/ocrtableobject.md)] | :heavy_minus_sign: | List of all extracted tables in the page | +| `hyperlinks` | List[*str*] | :heavy_minus_sign: | List of all hyperlinks in the page | +| `header` | *OptionalNullable[str]* | :heavy_minus_sign: | Header of the page | +| `footer` | *OptionalNullable[str]* | :heavy_minus_sign: | Footer of the page | +| `dimensions` | [Nullable[models.OCRPageDimensions]](../models/ocrpagedimensions.md) | :heavy_check_mark: | The dimensions of the PDF Page's screenshot image | +| `confidence_scores` | [OptionalNullable[models.OCRPageConfidenceScores]](../models/ocrpageconfidencescores.md) | :heavy_minus_sign: | Confidence scores for the OCR page (populated when confidence_scores_granularity is set) | +| `blocks` | List[[models.Block](../models/block.md)] | :heavy_minus_sign: | Paragraph-level bounding boxes for all content blocks in reading order (populated when include_blocks is True) | \ No newline at end of file diff --git a/docs/models/ocrreferencesblock.md b/docs/models/ocrreferencesblock.md new file mode 100644 index 00000000..5893eacf --- /dev/null +++ b/docs/models/ocrreferencesblock.md @@ -0,0 +1,13 @@ +# OCRReferencesBlock + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `top_left_x` | *int* | :heavy_check_mark: | N/A | +| `top_left_y` | *int* | :heavy_check_mark: | N/A | +| `bottom_right_x` | *int* | :heavy_check_mark: | N/A | +| `bottom_right_y` | *int* | :heavy_check_mark: | N/A | +| `content` | *str* | :heavy_check_mark: | Text/markdown/html content of this block | +| `type` | *Literal["references"]* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/ocrrequest.md b/docs/models/ocrrequest.md index 54cea7c1..6851e03e 100644 --- a/docs/models/ocrrequest.md +++ b/docs/models/ocrrequest.md @@ -17,4 +17,5 @@ | `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 | | +| `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 diff --git a/docs/models/ocrsignatureblock.md b/docs/models/ocrsignatureblock.md new file mode 100644 index 00000000..de2b4f60 --- /dev/null +++ b/docs/models/ocrsignatureblock.md @@ -0,0 +1,15 @@ +# OCRSignatureBlock + +Signature region. ``content`` is the transcribed name when legible, else ``""``. + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `top_left_x` | *int* | :heavy_check_mark: | N/A | +| `top_left_y` | *int* | :heavy_check_mark: | N/A | +| `bottom_right_x` | *int* | :heavy_check_mark: | N/A | +| `bottom_right_y` | *int* | :heavy_check_mark: | N/A | +| `content` | *str* | :heavy_check_mark: | Text/markdown/html content of this block | +| `type` | *Literal["signature"]* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/ocrtableblock.md b/docs/models/ocrtableblock.md new file mode 100644 index 00000000..c0e1f8ab --- /dev/null +++ b/docs/models/ocrtableblock.md @@ -0,0 +1,14 @@ +# OCRTableBlock + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `top_left_x` | *int* | :heavy_check_mark: | N/A | +| `top_left_y` | *int* | :heavy_check_mark: | N/A | +| `bottom_right_x` | *int* | :heavy_check_mark: | N/A | +| `bottom_right_y` | *int* | :heavy_check_mark: | N/A | +| `content` | *str* | :heavy_check_mark: | Text/markdown/html content of this block | +| `type` | *Literal["table"]* | :heavy_check_mark: | N/A | +| `table_id` | *OptionalNullable[str]* | :heavy_minus_sign: | References the corresponding entry in OCRPageObject.tables, when tables are extracted | \ No newline at end of file diff --git a/docs/models/ocrtextblock.md b/docs/models/ocrtextblock.md new file mode 100644 index 00000000..1eab8e12 --- /dev/null +++ b/docs/models/ocrtextblock.md @@ -0,0 +1,13 @@ +# OCRTextBlock + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `top_left_x` | *int* | :heavy_check_mark: | N/A | +| `top_left_y` | *int* | :heavy_check_mark: | N/A | +| `bottom_right_x` | *int* | :heavy_check_mark: | N/A | +| `bottom_right_y` | *int* | :heavy_check_mark: | N/A | +| `content` | *str* | :heavy_check_mark: | Text/markdown/html content of this block | +| `type` | *Literal["text"]* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/ocrtitleblock.md b/docs/models/ocrtitleblock.md new file mode 100644 index 00000000..59c68c9f --- /dev/null +++ b/docs/models/ocrtitleblock.md @@ -0,0 +1,13 @@ +# OCRTitleBlock + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `top_left_x` | *int* | :heavy_check_mark: | N/A | +| `top_left_y` | *int* | :heavy_check_mark: | N/A | +| `bottom_right_x` | *int* | :heavy_check_mark: | N/A | +| `bottom_right_y` | *int* | :heavy_check_mark: | N/A | +| `content` | *str* | :heavy_check_mark: | Text/markdown/html content of this block | +| `type` | *Literal["title"]* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/publicconnectorexecutiondata.md b/docs/models/publicconnectorexecutiondata.md new file mode 100644 index 00000000..07ad8c57 --- /dev/null +++ b/docs/models/publicconnectorexecutiondata.md @@ -0,0 +1,10 @@ +# PublicConnectorExecutionData + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | +| `integrations` | List[[models.PublicExecutionConnector](../models/publicexecutionconnector.md)] | :heavy_check_mark: | N/A | +| `tools` | List[[models.ExecutionTool](../models/executiontool.md)] | :heavy_check_mark: | N/A | +| `use_connectors_gateway` | *Optional[bool]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/publicexecutionconnectionconfig.md b/docs/models/publicexecutionconnectionconfig.md new file mode 100644 index 00000000..2c069435 --- /dev/null +++ b/docs/models/publicexecutionconnectionconfig.md @@ -0,0 +1,18 @@ +# PublicExecutionConnectionConfig + +Connection config exposed in the public, unauthenticated /connectors/mistral response. + +Unlike ConnectionConfig, this has no `headers` field and forbids extra fields, so +connector credentials can never be serialized into this cacheable response. + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| `type` | [models.ConnectionConfigType](../models/connectionconfigtype.md) | :heavy_check_mark: | N/A | +| `server` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `name` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `tool_configuration` | [OptionalNullable[models.ToolExecutionConfiguration]](../models/toolexecutionconfiguration.md) | :heavy_minus_sign: | N/A | +| `hosted_internally` | *Optional[bool]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/publicexecutionconnector.md b/docs/models/publicexecutionconnector.md new file mode 100644 index 00000000..b6ae566b --- /dev/null +++ b/docs/models/publicexecutionconnector.md @@ -0,0 +1,10 @@ +# PublicExecutionConnector + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `id` | *str* | :heavy_check_mark: | N/A | +| `name` | *str* | :heavy_check_mark: | N/A | +| `connection_config` | [Nullable[models.PublicExecutionConnectionConfig]](../models/publicexecutionconnectionconfig.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/publicexecutionenv.md b/docs/models/publicexecutionenv.md new file mode 100644 index 00000000..b67ea255 --- /dev/null +++ b/docs/models/publicexecutionenv.md @@ -0,0 +1,12 @@ +# PublicExecutionEnv + +Credentials-free projection of ExecutionEnv for the public /connectors/mistral response. + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | +| `tools` | List[[models.Tool](../models/tool.md)] | :heavy_check_mark: | N/A | +| `tool_execution_data` | [models.PublicConnectorExecutionData](../models/publicconnectorexecutiondata.md) | :heavy_check_mark: | N/A | +| `errors` | List[*str*] | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/streamdeploymentlogsrequest.md b/docs/models/streamdeploymentlogsrequest.md index aa28aa59..79132656 100644 --- a/docs/models/streamdeploymentlogsrequest.md +++ b/docs/models/streamdeploymentlogsrequest.md @@ -3,10 +3,11 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -| `name` | *str* | :heavy_check_mark: | N/A | -| `worker_name` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter logs by worker name | -| `workflow_name` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter logs by workflow name | -| `after` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Start a fresh stream at this timestamp (ignored when resuming via last_event_id) | -| `last_event_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Resume from this cursor (a prior response's SSE id) | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `name` | *str* | :heavy_check_mark: | N/A | +| `worker_name` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter logs by worker name | +| `workflow_name` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter logs by workflow name | +| `after` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Start a fresh stream at this timestamp (ignored when resuming via last_event_id) | +| `last_event_id_query_parameter` | *OptionalNullable[str]* | :heavy_minus_sign: | Resume from this cursor (a prior response's SSE id) | +| `last_event_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Resume from this cursor (a prior response's SSE id). Takes precedence over the query parameter. | \ No newline at end of file diff --git a/docs/models/streamworkflowexecutionlogsrequest.md b/docs/models/streamworkflowexecutionlogsrequest.md index f1313cce..f58907cd 100644 --- a/docs/models/streamworkflowexecutionlogsrequest.md +++ b/docs/models/streamworkflowexecutionlogsrequest.md @@ -3,10 +3,11 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -| `execution_id` | *str* | :heavy_check_mark: | N/A | -| `run_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter logs by workflow run ID | -| `activity_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter logs by activity ID | -| `after` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Start a fresh stream at this timestamp (ignored when resuming via last_event_id) | -| `last_event_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Resume from this cursor (a prior response's SSE id) | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `execution_id` | *str* | :heavy_check_mark: | N/A | +| `run_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter logs by workflow run ID | +| `activity_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter logs by activity ID | +| `after` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Start a fresh stream at this timestamp (ignored when resuming via last_event_id) | +| `last_event_id_query_parameter` | *OptionalNullable[str]* | :heavy_minus_sign: | Resume from this cursor (a prior response's SSE id) | +| `last_event_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Resume from this cursor (a prior response's SSE id). Takes precedence over the query parameter. | \ No newline at end of file diff --git a/docs/models/tool.md b/docs/models/tool.md index 85888d01..fb661f72 100644 --- a/docs/models/tool.md +++ b/docs/models/tool.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | -| `type` | *Union[Literal["function"], UnrecognizedStr]* | :heavy_check_mark: | N/A | -| `function` | [models.Function](../models/function.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | +| `type` | [Optional[models.ToolTypes]](../models/tooltypes.md) | :heavy_minus_sign: | N/A | +| `function` | [models.Function](../models/function.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/toolcall.md b/docs/models/toolcall.md index 9d236e8b..3819236b 100644 --- a/docs/models/toolcall.md +++ b/docs/models/toolcall.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | -| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `type` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `function` | [models.FunctionCall](../models/functioncall.md) | :heavy_check_mark: | N/A | -| `index` | *Optional[int]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | +| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `type` | [Optional[models.ToolTypes]](../models/tooltypes.md) | :heavy_minus_sign: | N/A | +| `function` | [models.FunctionCall](../models/functioncall.md) | :heavy_check_mark: | N/A | +| `index` | *Optional[int]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/toolchoice.md b/docs/models/toolchoice.md index a457f96f..373046bb 100644 --- a/docs/models/toolchoice.md +++ b/docs/models/toolchoice.md @@ -7,5 +7,5 @@ ToolChoice is either a ToolChoiceEnum or a ToolChoice | Field | Type | Required | Description | | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | -| `type` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `type` | [Optional[models.ToolTypes]](../models/tooltypes.md) | :heavy_minus_sign: | N/A | | `function` | [models.FunctionName](../models/functionname.md) | :heavy_check_mark: | this restriction of `Function` is used to select a specific function to call | \ No newline at end of file diff --git a/docs/models/tooltypes.md b/docs/models/tooltypes.md new file mode 100644 index 00000000..345ee7dc --- /dev/null +++ b/docs/models/tooltypes.md @@ -0,0 +1,17 @@ +# ToolTypes + +## Example Usage + +```python +from mistralai.client.models import ToolTypes + +# Open enum: unrecognized values are captured as UnrecognizedStr +value: ToolTypes = "function" +``` + + +## Values + +This is an open enum. Unrecognized values will not fail type checks. + +- `"function"` diff --git a/docs/models/workflowexecutionresponse.md b/docs/models/workflowexecutionresponse.md index 03f10100..ffdb5ee8 100644 --- a/docs/models/workflowexecutionresponse.md +++ b/docs/models/workflowexecutionresponse.md @@ -6,10 +6,13 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | | `workflow_name` | *str* | :heavy_check_mark: | The name of the workflow | +| `workflow_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the workflow | +| `deployment_name` | *OptionalNullable[str]* | :heavy_minus_sign: | The name of the deployment that ran this execution | | `execution_id` | *str* | :heavy_check_mark: | The ID of the workflow execution | | `parent_execution_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The parent execution ID of the workflow execution | | `root_execution_id` | *str* | :heavy_check_mark: | The root execution ID of the workflow execution | | `run_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The unique run identifier (database UUID) | +| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the user who triggered the execution | | `status` | [Nullable[models.WorkflowExecutionStatus]](../models/workflowexecutionstatus.md) | :heavy_check_mark: | The status of the workflow execution | | `start_time` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The start time of the workflow execution | | `end_time` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The end time of the workflow execution, if available | diff --git a/docs/models/workflowexecutiontraceeventsresponse.md b/docs/models/workflowexecutiontraceeventsresponse.md index d24dfcaf..c9b667df 100644 --- a/docs/models/workflowexecutiontraceeventsresponse.md +++ b/docs/models/workflowexecutiontraceeventsresponse.md @@ -6,10 +6,13 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | | `workflow_name` | *str* | :heavy_check_mark: | The name of the workflow | +| `workflow_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the workflow | +| `deployment_name` | *OptionalNullable[str]* | :heavy_minus_sign: | The name of the deployment that ran this execution | | `execution_id` | *str* | :heavy_check_mark: | The ID of the workflow execution | | `parent_execution_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The parent execution ID of the workflow execution | | `root_execution_id` | *str* | :heavy_check_mark: | The root execution ID of the workflow execution | | `run_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The unique run identifier (database UUID) | +| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the user who triggered the execution | | `status` | [Nullable[models.WorkflowExecutionStatus]](../models/workflowexecutionstatus.md) | :heavy_check_mark: | The status of the workflow execution | | `start_time` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The start time of the workflow execution | | `end_time` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The end time of the workflow execution, if available | diff --git a/docs/models/workflowexecutiontraceotelresponse.md b/docs/models/workflowexecutiontraceotelresponse.md index cc4ff9ca..747b0ff6 100644 --- a/docs/models/workflowexecutiontraceotelresponse.md +++ b/docs/models/workflowexecutiontraceotelresponse.md @@ -6,10 +6,13 @@ | Field | Type | Required | Description | | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | | `workflow_name` | *str* | :heavy_check_mark: | The name of the workflow | +| `workflow_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the workflow | +| `deployment_name` | *OptionalNullable[str]* | :heavy_minus_sign: | The name of the deployment that ran this execution | | `execution_id` | *str* | :heavy_check_mark: | The ID of the workflow execution | | `parent_execution_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The parent execution ID of the workflow execution | | `root_execution_id` | *str* | :heavy_check_mark: | The root execution ID of the workflow execution | | `run_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The unique run identifier (database UUID) | +| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the user who triggered the execution | | `status` | [Nullable[models.WorkflowExecutionStatus]](../models/workflowexecutionstatus.md) | :heavy_check_mark: | The status of the workflow execution | | `start_time` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The start time of the workflow execution | | `end_time` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The end time of the workflow execution, if available | diff --git a/docs/models/workflowexecutiontracesummaryresponse.md b/docs/models/workflowexecutiontracesummaryresponse.md index c0380e78..44458210 100644 --- a/docs/models/workflowexecutiontracesummaryresponse.md +++ b/docs/models/workflowexecutiontracesummaryresponse.md @@ -6,10 +6,13 @@ | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | | `workflow_name` | *str* | :heavy_check_mark: | The name of the workflow | +| `workflow_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the workflow | +| `deployment_name` | *OptionalNullable[str]* | :heavy_minus_sign: | The name of the deployment that ran this execution | | `execution_id` | *str* | :heavy_check_mark: | The ID of the workflow execution | | `parent_execution_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The parent execution ID of the workflow execution | | `root_execution_id` | *str* | :heavy_check_mark: | The root execution ID of the workflow execution | | `run_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The unique run identifier (database UUID) | +| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the user who triggered the execution | | `status` | [Nullable[models.WorkflowExecutionStatus]](../models/workflowexecutionstatus.md) | :heavy_check_mark: | The status of the workflow execution | | `start_time` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The start time of the workflow execution | | `end_time` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The end time of the workflow execution, if available | diff --git a/docs/models/workflowexecutionwithoutresultresponse.md b/docs/models/workflowexecutionwithoutresultresponse.md index 47d79589..2711c1cd 100644 --- a/docs/models/workflowexecutionwithoutresultresponse.md +++ b/docs/models/workflowexecutionwithoutresultresponse.md @@ -6,10 +6,13 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | | `workflow_name` | *str* | :heavy_check_mark: | The name of the workflow | +| `workflow_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the workflow | +| `deployment_name` | *OptionalNullable[str]* | :heavy_minus_sign: | The name of the deployment that ran this execution | | `execution_id` | *str* | :heavy_check_mark: | The ID of the workflow execution | | `parent_execution_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The parent execution ID of the workflow execution | | `root_execution_id` | *str* | :heavy_check_mark: | The root execution ID of the workflow execution | | `run_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The unique run identifier (database UUID) | +| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the user who triggered the execution | | `status` | [Nullable[models.WorkflowExecutionStatus]](../models/workflowexecutionstatus.md) | :heavy_check_mark: | The status of the workflow execution | | `start_time` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The start time of the workflow execution | | `end_time` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The end time of the workflow execution, if available | diff --git a/docs/models/workflowregistration.md b/docs/models/workflowregistration.md index 52658c64..d4020d23 100644 --- a/docs/models/workflowregistration.md +++ b/docs/models/workflowregistration.md @@ -3,12 +3,13 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *str* | :heavy_check_mark: | Unique identifier of the workflow registration | -| `deployment_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Deployment ID this registration belongs to | -| ~~`task_queue`~~ | *OptionalNullable[str]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Deprecated. Use deployment_id instead. Will be removed in a future release. | -| `definition` | [models.WorkflowCodeDefinition](../models/workflowcodedefinition.md) | :heavy_check_mark: | N/A | -| `workflow_id` | *str* | :heavy_check_mark: | Workflow ID of the workflow | -| `workflow` | [OptionalNullable[models.Workflow]](../models/workflow.md) | :heavy_minus_sign: | Workflow of the workflow registration | -| `compatible_with_chat_assistant` | *Optional[bool]* | :heavy_minus_sign: | Whether the workflow is compatible with chat assistant | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `id` | *str* | :heavy_check_mark: | Unique identifier of the workflow registration | +| ~~`deployment_id`~~ | *OptionalNullable[str]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Deprecated. Use deployment_name instead. Will be removed in a future release. | +| ~~`task_queue`~~ | *OptionalNullable[str]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Deprecated. Use deployment_name instead. Will be removed in a future release. | +| `definition` | [models.WorkflowCodeDefinition](../models/workflowcodedefinition.md) | :heavy_check_mark: | N/A | +| `workflow_id` | *str* | :heavy_check_mark: | Workflow ID of the workflow | +| `workflow` | [OptionalNullable[models.Workflow]](../models/workflow.md) | :heavy_minus_sign: | Workflow of the workflow registration | +| `deployment_name` | *OptionalNullable[str]* | :heavy_minus_sign: | Name of the deployment this registration belongs to | +| `compatible_with_chat_assistant` | *Optional[bool]* | :heavy_minus_sign: | Whether the workflow is compatible with chat assistant | \ No newline at end of file diff --git a/docs/models/workflowregistrationwithworkerstatus.md b/docs/models/workflowregistrationwithworkerstatus.md index f85563ce..bf9264d7 100644 --- a/docs/models/workflowregistrationwithworkerstatus.md +++ b/docs/models/workflowregistrationwithworkerstatus.md @@ -3,13 +3,14 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *str* | :heavy_check_mark: | Unique identifier of the workflow registration | -| `deployment_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Deployment ID this registration belongs to | -| ~~`task_queue`~~ | *OptionalNullable[str]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Deprecated. Use deployment_id instead. Will be removed in a future release. | -| `definition` | [models.WorkflowCodeDefinition](../models/workflowcodedefinition.md) | :heavy_check_mark: | N/A | -| `workflow_id` | *str* | :heavy_check_mark: | Workflow ID of the workflow | -| `workflow` | [OptionalNullable[models.Workflow]](../models/workflow.md) | :heavy_minus_sign: | Workflow of the workflow registration | -| `compatible_with_chat_assistant` | *Optional[bool]* | :heavy_minus_sign: | Whether the workflow is compatible with chat assistant | -| `active` | *bool* | :heavy_check_mark: | Whether the workflow registration is active | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `id` | *str* | :heavy_check_mark: | Unique identifier of the workflow registration | +| ~~`deployment_id`~~ | *OptionalNullable[str]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Deprecated. Use deployment_name instead. Will be removed in a future release. | +| ~~`task_queue`~~ | *OptionalNullable[str]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Deprecated. Use deployment_name instead. Will be removed in a future release. | +| `definition` | [models.WorkflowCodeDefinition](../models/workflowcodedefinition.md) | :heavy_check_mark: | N/A | +| `workflow_id` | *str* | :heavy_check_mark: | Workflow ID of the workflow | +| `workflow` | [OptionalNullable[models.Workflow]](../models/workflow.md) | :heavy_minus_sign: | Workflow of the workflow registration | +| `deployment_name` | *OptionalNullable[str]* | :heavy_minus_sign: | Name of the deployment this registration belongs to | +| `compatible_with_chat_assistant` | *Optional[bool]* | :heavy_minus_sign: | Whether the workflow is compatible with chat assistant | +| `active` | *bool* | :heavy_check_mark: | Whether the workflow registration is active | \ No newline at end of file diff --git a/docs/sdks/deployments/README.md b/docs/sdks/deployments/README.md index f70fa1a6..349f37cd 100644 --- a/docs/sdks/deployments/README.md +++ b/docs/sdks/deployments/README.md @@ -152,8 +152,8 @@ with Mistral( Stream logs for a deployment (all of its workers) via SSE. -If `last_event_id` is set it resumes from that cursor and takes precedence over `after`; -otherwise `after` sets a fresh stream's start point (omit both to tail from the deployment start). +Resume cursor comes from the `Last-Event-ID` header or `last_event_id` query param (header wins) +and takes precedence over `after`; omit all to tail from the deployment start. ### Example Usage @@ -178,14 +178,15 @@ with Mistral( ### Parameters -| Parameter | Type | Required | Description | -| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -| `name` | *str* | :heavy_check_mark: | N/A | -| `worker_name` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter logs by worker name | -| `workflow_name` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter logs by workflow name | -| `after` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Start a fresh stream at this timestamp (ignored when resuming via last_event_id) | -| `last_event_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Resume from this cursor (a prior response's SSE id) | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `name` | *str* | :heavy_check_mark: | N/A | +| `worker_name` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter logs by worker name | +| `workflow_name` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter logs by workflow name | +| `after` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Start a fresh stream at this timestamp (ignored when resuming via last_event_id) | +| `last_event_id_query_parameter` | *OptionalNullable[str]* | :heavy_minus_sign: | Resume from this cursor (a prior response's SSE id) | +| `last_event_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Resume from this cursor (a prior response's SSE id). Takes precedence over the query parameter. | +| `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/executions/README.md b/docs/sdks/executions/README.md index f877f53f..cc2ebf13 100644 --- a/docs/sdks/executions/README.md +++ b/docs/sdks/executions/README.md @@ -655,8 +655,8 @@ with Mistral( Stream logs for a workflow execution via SSE. -If `last_event_id` is set it resumes from that cursor and takes precedence over `after`; -otherwise `after` sets a fresh stream's start point (omit both to tail from the execution start). +Resume cursor comes from the `Last-Event-ID` header or `last_event_id` query param (header wins) +and takes precedence over `after`; omit all to tail from the execution start. ### Example Usage @@ -681,14 +681,15 @@ with Mistral( ### Parameters -| Parameter | Type | Required | Description | -| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -| `execution_id` | *str* | :heavy_check_mark: | N/A | -| `run_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter logs by workflow run ID | -| `activity_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter logs by activity ID | -| `after` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Start a fresh stream at this timestamp (ignored when resuming via last_event_id) | -| `last_event_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Resume from this cursor (a prior response's SSE id) | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `execution_id` | *str* | :heavy_check_mark: | N/A | +| `run_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter logs by workflow run ID | +| `activity_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter logs by activity ID | +| `after` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Start a fresh stream at this timestamp (ignored when resuming via last_event_id) | +| `last_event_id_query_parameter` | *OptionalNullable[str]* | :heavy_minus_sign: | Resume from this cursor (a prior response's SSE id) | +| `last_event_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Resume from this cursor (a prior response's SSE id). Takes precedence over the query parameter. | +| `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/ocr/README.md b/docs/sdks/ocr/README.md index 533b1bb2..68a2879f 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) # Handle response print(res) @@ -54,6 +54,7 @@ with Mistral( | `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 | | +| `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. | | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | diff --git a/pyproject.toml b/pyproject.toml index bffbc967..d789b892 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "mistralai" -version = "2.4.13" +version = "2.4.14" 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 9c098e0a..e3b01930 100644 --- a/src/mistralai/client/_version.py +++ b/src/mistralai/client/_version.py @@ -4,10 +4,10 @@ import importlib.metadata __title__: str = "mistralai" -__version__: str = "2.4.13" +__version__: str = "2.4.14" __openapi_doc_version__: str = "1.0.0" __gen_version__: str = "2.884.13" -__user_agent__: str = "speakeasy-sdk/python 2.4.13 2.884.13 1.0.0 mistralai" +__user_agent__: str = "speakeasy-sdk/python 2.4.14 2.884.13 1.0.0 mistralai" try: if __package__ is not None: diff --git a/src/mistralai/client/deployments.py b/src/mistralai/client/deployments.py index 0e068d4f..96b16af8 100644 --- a/src/mistralai/client/deployments.py +++ b/src/mistralai/client/deployments.py @@ -653,6 +653,7 @@ def stream_deployment_logs( worker_name: OptionalNullable[str] = UNSET, workflow_name: OptionalNullable[str] = UNSET, after: OptionalNullable[datetime] = UNSET, + last_event_id_query_parameter: OptionalNullable[str] = UNSET, last_event_id: OptionalNullable[str] = UNSET, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, @@ -663,14 +664,15 @@ def stream_deployment_logs( Stream logs for a deployment (all of its workers) via SSE. - If `last_event_id` is set it resumes from that cursor and takes precedence over `after`; - otherwise `after` sets a fresh stream's start point (omit both to tail from the deployment start). + Resume cursor comes from the `Last-Event-ID` header or `last_event_id` query param (header wins) + and takes precedence over `after`; omit all to tail from the deployment start. :param name: :param worker_name: Filter logs by worker name :param workflow_name: Filter logs by workflow name :param after: Start a fresh stream at this timestamp (ignored when resuming via last_event_id) - :param last_event_id: Resume from this cursor (a prior response's SSE id) + :param last_event_id_query_parameter: Resume from this cursor (a prior response's SSE id) + :param last_event_id: Resume from this cursor (a prior response's SSE id). Takes precedence over the query parameter. :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 @@ -694,6 +696,7 @@ def stream_deployment_logs( worker_name=worker_name, workflow_name=workflow_name, after=after, + last_event_id_query_parameter=last_event_id_query_parameter, last_event_id=last_event_id, ) @@ -771,6 +774,7 @@ async def stream_deployment_logs_async( worker_name: OptionalNullable[str] = UNSET, workflow_name: OptionalNullable[str] = UNSET, after: OptionalNullable[datetime] = UNSET, + last_event_id_query_parameter: OptionalNullable[str] = UNSET, last_event_id: OptionalNullable[str] = UNSET, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, @@ -781,14 +785,15 @@ async def stream_deployment_logs_async( Stream logs for a deployment (all of its workers) via SSE. - If `last_event_id` is set it resumes from that cursor and takes precedence over `after`; - otherwise `after` sets a fresh stream's start point (omit both to tail from the deployment start). + Resume cursor comes from the `Last-Event-ID` header or `last_event_id` query param (header wins) + and takes precedence over `after`; omit all to tail from the deployment start. :param name: :param worker_name: Filter logs by worker name :param workflow_name: Filter logs by workflow name :param after: Start a fresh stream at this timestamp (ignored when resuming via last_event_id) - :param last_event_id: Resume from this cursor (a prior response's SSE id) + :param last_event_id_query_parameter: Resume from this cursor (a prior response's SSE id) + :param last_event_id: Resume from this cursor (a prior response's SSE id). Takes precedence over the query parameter. :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 @@ -812,6 +817,7 @@ async def stream_deployment_logs_async( worker_name=worker_name, workflow_name=workflow_name, after=after, + last_event_id_query_parameter=last_event_id_query_parameter, last_event_id=last_event_id, ) diff --git a/src/mistralai/client/executions.py b/src/mistralai/client/executions.py index e4ed8348..d34d6dff 100644 --- a/src/mistralai/client/executions.py +++ b/src/mistralai/client/executions.py @@ -3055,6 +3055,7 @@ def stream_workflow_execution_logs( run_id: OptionalNullable[str] = UNSET, activity_id: OptionalNullable[str] = UNSET, after: OptionalNullable[datetime] = UNSET, + last_event_id_query_parameter: OptionalNullable[str] = UNSET, last_event_id: OptionalNullable[str] = UNSET, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, @@ -3065,14 +3066,15 @@ def stream_workflow_execution_logs( Stream logs for a workflow execution via SSE. - If `last_event_id` is set it resumes from that cursor and takes precedence over `after`; - otherwise `after` sets a fresh stream's start point (omit both to tail from the execution start). + Resume cursor comes from the `Last-Event-ID` header or `last_event_id` query param (header wins) + and takes precedence over `after`; omit all to tail from the execution start. :param execution_id: :param run_id: Filter logs by workflow run ID :param activity_id: Filter logs by activity ID :param after: Start a fresh stream at this timestamp (ignored when resuming via last_event_id) - :param last_event_id: Resume from this cursor (a prior response's SSE id) + :param last_event_id_query_parameter: Resume from this cursor (a prior response's SSE id) + :param last_event_id: Resume from this cursor (a prior response's SSE id). Takes precedence over the query parameter. :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 @@ -3096,6 +3098,7 @@ def stream_workflow_execution_logs( run_id=run_id, activity_id=activity_id, after=after, + last_event_id_query_parameter=last_event_id_query_parameter, last_event_id=last_event_id, ) @@ -3173,6 +3176,7 @@ async def stream_workflow_execution_logs_async( run_id: OptionalNullable[str] = UNSET, activity_id: OptionalNullable[str] = UNSET, after: OptionalNullable[datetime] = UNSET, + last_event_id_query_parameter: OptionalNullable[str] = UNSET, last_event_id: OptionalNullable[str] = UNSET, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, @@ -3185,14 +3189,15 @@ async def stream_workflow_execution_logs_async( Stream logs for a workflow execution via SSE. - If `last_event_id` is set it resumes from that cursor and takes precedence over `after`; - otherwise `after` sets a fresh stream's start point (omit both to tail from the execution start). + Resume cursor comes from the `Last-Event-ID` header or `last_event_id` query param (header wins) + and takes precedence over `after`; omit all to tail from the execution start. :param execution_id: :param run_id: Filter logs by workflow run ID :param activity_id: Filter logs by activity ID :param after: Start a fresh stream at this timestamp (ignored when resuming via last_event_id) - :param last_event_id: Resume from this cursor (a prior response's SSE id) + :param last_event_id_query_parameter: Resume from this cursor (a prior response's SSE id) + :param last_event_id: Resume from this cursor (a prior response's SSE id). Takes precedence over the query parameter. :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 @@ -3216,6 +3221,7 @@ async def stream_workflow_execution_logs_async( run_id=run_id, activity_id=activity_id, after=after, + last_event_id_query_parameter=last_event_id_query_parameter, last_event_id=last_event_id, ) diff --git a/src/mistralai/client/models/__init__.py b/src/mistralai/client/models/__init__.py index 50ad9d52..38a48115 100644 --- a/src/mistralai/client/models/__init__.py +++ b/src/mistralai/client/models/__init__.py @@ -858,6 +858,7 @@ ExecutionLogSearchResponse, ExecutionLogSearchResponseTypedDict, ) + from .executiontool import ExecutionTool, ExecutionToolTypedDict from .export_dataset_to_jsonl_v1_observability_datasets_dataset_id_exports_to_jsonl_getop import ( ExportDatasetToJsonlV1ObservabilityDatasetsDatasetIDExportsToJsonlGetRequest, ExportDatasetToJsonlV1ObservabilityDatasetsDatasetIDExportsToJsonlGetRequestTypedDict, @@ -1703,14 +1704,29 @@ ObservabilityErrorDetail, ObservabilityErrorDetailTypedDict, ) + from .ocrasidetextblock import OCRAsideTextBlock, OCRAsideTextBlockTypedDict + from .ocrcaptionblock import OCRCaptionBlock, OCRCaptionBlockTypedDict + from .ocrcodeblock import OCRCodeBlock, OCRCodeBlockTypedDict from .ocrconfidencescore import OCRConfidenceScore, OCRConfidenceScoreTypedDict + from .ocrequationblock import OCREquationBlock, OCREquationBlockTypedDict + from .ocrfooterblock import OCRFooterBlock, OCRFooterBlockTypedDict + from .ocrheaderblock import OCRHeaderBlock, OCRHeaderBlockTypedDict + from .ocrimageblock import OCRImageBlock, OCRImageBlockTypedDict from .ocrimageobject import OCRImageObject, OCRImageObjectTypedDict + from .ocrlistblock import OCRListBlock, OCRListBlockTypedDict from .ocrpageconfidencescores import ( OCRPageConfidenceScores, OCRPageConfidenceScoresTypedDict, ) from .ocrpagedimensions import OCRPageDimensions, OCRPageDimensionsTypedDict - from .ocrpageobject import OCRPageObject, OCRPageObjectTypedDict + from .ocrpageobject import ( + Block, + BlockTypedDict, + OCRPageObject, + OCRPageObjectTypedDict, + UnknownBlock, + ) + from .ocrreferencesblock import OCRReferencesBlock, OCRReferencesBlockTypedDict from .ocrrequest import ( ConfidenceScoresGranularity, DocumentUnion, @@ -1722,7 +1738,11 @@ TableFormat, ) from .ocrresponse import OCRResponse, OCRResponseTypedDict + from .ocrsignatureblock import OCRSignatureBlock, OCRSignatureBlockTypedDict + from .ocrtableblock import OCRTableBlock, OCRTableBlockTypedDict from .ocrtableobject import Format, OCRTableObject, OCRTableObjectTypedDict + from .ocrtextblock import OCRTextBlock, OCRTextBlockTypedDict + from .ocrtitleblock import OCRTitleBlock, OCRTitleBlockTypedDict from .ocrusageinfo import OCRUsageInfo, OCRUsageInfoTypedDict from .otelfielddefinition import ( OtelFieldDefinition, @@ -1801,6 +1821,19 @@ PublicConnectionConfig, PublicConnectionConfigTypedDict, ) + from .publicconnectorexecutiondata import ( + PublicConnectorExecutionData, + PublicConnectorExecutionDataTypedDict, + ) + from .publicexecutionconnectionconfig import ( + PublicExecutionConnectionConfig, + PublicExecutionConnectionConfigTypedDict, + ) + from .publicexecutionconnector import ( + PublicExecutionConnector, + PublicExecutionConnectorTypedDict, + ) + from .publicexecutionenv import PublicExecutionEnv, PublicExecutionEnvTypedDict from .query_workflow_execution_v1_workflows_executions_execution_id_queries_postop import ( QueryWorkflowExecutionV1WorkflowsExecutionsExecutionIDQueriesPostRequest, QueryWorkflowExecutionV1WorkflowsExecutionsExecutionIDQueriesPostRequestTypedDict, @@ -2235,6 +2268,7 @@ ) from .toolscapability import ToolsCapability, ToolsCapabilityTypedDict from .tooltype import ToolType + from .tooltypes import ToolTypes from .tracesrequest import TracesRequest, TracesRequestTypedDict from .trainingfile import TrainingFile, TrainingFileTypedDict from .transcriptionresponse import ( @@ -2801,6 +2835,8 @@ "BatchRequestTypedDict", "BlobResourceContents", "BlobResourceContentsTypedDict", + "Block", + "BlockTypedDict", "BuiltInConnectors", "Campaign", "CampaignTypedDict", @@ -3209,6 +3245,8 @@ "ExecutionLogRecordTypedDict", "ExecutionLogSearchResponse", "ExecutionLogSearchResponseTypedDict", + "ExecutionTool", + "ExecutionToolTypedDict", "ExportDatasetResponse", "ExportDatasetResponseTypedDict", "ExportDatasetToJsonlV1ObservabilityDatasetsDatasetIDExportsToJsonlGetRequest", @@ -3769,22 +3807,48 @@ "OAuth2TokenAuth", "OAuth2TokenAuthTypedDict", "OAuth2TokenTypedDict", + "OCRAsideTextBlock", + "OCRAsideTextBlockTypedDict", + "OCRCaptionBlock", + "OCRCaptionBlockTypedDict", + "OCRCodeBlock", + "OCRCodeBlockTypedDict", "OCRConfidenceScore", "OCRConfidenceScoreTypedDict", + "OCREquationBlock", + "OCREquationBlockTypedDict", + "OCRFooterBlock", + "OCRFooterBlockTypedDict", + "OCRHeaderBlock", + "OCRHeaderBlockTypedDict", + "OCRImageBlock", + "OCRImageBlockTypedDict", "OCRImageObject", "OCRImageObjectTypedDict", + "OCRListBlock", + "OCRListBlockTypedDict", "OCRPageConfidenceScores", "OCRPageConfidenceScoresTypedDict", "OCRPageDimensions", "OCRPageDimensionsTypedDict", "OCRPageObject", "OCRPageObjectTypedDict", + "OCRReferencesBlock", + "OCRReferencesBlockTypedDict", "OCRRequest", "OCRRequestTypedDict", "OCRResponse", "OCRResponseTypedDict", + "OCRSignatureBlock", + "OCRSignatureBlockTypedDict", + "OCRTableBlock", + "OCRTableBlockTypedDict", "OCRTableObject", "OCRTableObjectTypedDict", + "OCRTextBlock", + "OCRTextBlockTypedDict", + "OCRTitleBlock", + "OCRTitleBlockTypedDict", "OCRUsageInfo", "OCRUsageInfoTypedDict", "ObservabilityErrorCode", @@ -3859,6 +3923,14 @@ "PublicAuthenticationMethodTypedDict", "PublicConnectionConfig", "PublicConnectionConfigTypedDict", + "PublicConnectorExecutionData", + "PublicConnectorExecutionDataTypedDict", + "PublicExecutionConnectionConfig", + "PublicExecutionConnectionConfigTypedDict", + "PublicExecutionConnector", + "PublicExecutionConnectorTypedDict", + "PublicExecutionEnv", + "PublicExecutionEnvTypedDict", "QueryDefinition", "QueryDefinitionTypedDict", "QueryInvocationBody", @@ -4199,6 +4271,7 @@ "ToolReferenceChunkTypedDict", "ToolType", "ToolTypedDict", + "ToolTypes", "Tools", "ToolsCapability", "ToolsCapabilityTypedDict", @@ -4238,6 +4311,7 @@ "UnarchiveWorkflowV1WorkflowsWorkflowIdentifierUnarchivePutRequestTypedDict", "UnknownAgentTool", "UnknownAuthorization", + "UnknownBlock", "UnknownClassifierFineTuningJobDetailsIntegration", "UnknownClassifierFineTuningJobIntegration", "UnknownCompletionFineTuningJobDetailsIntegration", @@ -5047,6 +5121,8 @@ "ExecutionLogRecordTypedDict": ".executionlogrecord", "ExecutionLogSearchResponse": ".executionlogsearchresponse", "ExecutionLogSearchResponseTypedDict": ".executionlogsearchresponse", + "ExecutionTool": ".executiontool", + "ExecutionToolTypedDict": ".executiontool", "ExportDatasetToJsonlV1ObservabilityDatasetsDatasetIDExportsToJsonlGetRequest": ".export_dataset_to_jsonl_v1_observability_datasets_dataset_id_exports_to_jsonl_getop", "ExportDatasetToJsonlV1ObservabilityDatasetsDatasetIDExportsToJsonlGetRequestTypedDict": ".export_dataset_to_jsonl_v1_observability_datasets_dataset_id_exports_to_jsonl_getop", "ExportDatasetResponse": ".exportdatasetresponse", @@ -5632,16 +5708,37 @@ "ObservabilityErrorCode": ".observabilityerrorcode", "ObservabilityErrorDetail": ".observabilityerrordetail", "ObservabilityErrorDetailTypedDict": ".observabilityerrordetail", + "OCRAsideTextBlock": ".ocrasidetextblock", + "OCRAsideTextBlockTypedDict": ".ocrasidetextblock", + "OCRCaptionBlock": ".ocrcaptionblock", + "OCRCaptionBlockTypedDict": ".ocrcaptionblock", + "OCRCodeBlock": ".ocrcodeblock", + "OCRCodeBlockTypedDict": ".ocrcodeblock", "OCRConfidenceScore": ".ocrconfidencescore", "OCRConfidenceScoreTypedDict": ".ocrconfidencescore", + "OCREquationBlock": ".ocrequationblock", + "OCREquationBlockTypedDict": ".ocrequationblock", + "OCRFooterBlock": ".ocrfooterblock", + "OCRFooterBlockTypedDict": ".ocrfooterblock", + "OCRHeaderBlock": ".ocrheaderblock", + "OCRHeaderBlockTypedDict": ".ocrheaderblock", + "OCRImageBlock": ".ocrimageblock", + "OCRImageBlockTypedDict": ".ocrimageblock", "OCRImageObject": ".ocrimageobject", "OCRImageObjectTypedDict": ".ocrimageobject", + "OCRListBlock": ".ocrlistblock", + "OCRListBlockTypedDict": ".ocrlistblock", "OCRPageConfidenceScores": ".ocrpageconfidencescores", "OCRPageConfidenceScoresTypedDict": ".ocrpageconfidencescores", "OCRPageDimensions": ".ocrpagedimensions", "OCRPageDimensionsTypedDict": ".ocrpagedimensions", + "Block": ".ocrpageobject", + "BlockTypedDict": ".ocrpageobject", "OCRPageObject": ".ocrpageobject", "OCRPageObjectTypedDict": ".ocrpageobject", + "UnknownBlock": ".ocrpageobject", + "OCRReferencesBlock": ".ocrreferencesblock", + "OCRReferencesBlockTypedDict": ".ocrreferencesblock", "ConfidenceScoresGranularity": ".ocrrequest", "DocumentUnion": ".ocrrequest", "DocumentUnionTypedDict": ".ocrrequest", @@ -5652,9 +5749,17 @@ "TableFormat": ".ocrrequest", "OCRResponse": ".ocrresponse", "OCRResponseTypedDict": ".ocrresponse", + "OCRSignatureBlock": ".ocrsignatureblock", + "OCRSignatureBlockTypedDict": ".ocrsignatureblock", + "OCRTableBlock": ".ocrtableblock", + "OCRTableBlockTypedDict": ".ocrtableblock", "Format": ".ocrtableobject", "OCRTableObject": ".ocrtableobject", "OCRTableObjectTypedDict": ".ocrtableobject", + "OCRTextBlock": ".ocrtextblock", + "OCRTextBlockTypedDict": ".ocrtextblock", + "OCRTitleBlock": ".ocrtitleblock", + "OCRTitleBlockTypedDict": ".ocrtitleblock", "OCRUsageInfo": ".ocrusageinfo", "OCRUsageInfoTypedDict": ".ocrusageinfo", "OtelFieldDefinition": ".otelfielddefinition", @@ -5711,6 +5816,14 @@ "PublicAuthenticationMethodTypedDict": ".publicauthenticationmethod", "PublicConnectionConfig": ".publicconnectionconfig", "PublicConnectionConfigTypedDict": ".publicconnectionconfig", + "PublicConnectorExecutionData": ".publicconnectorexecutiondata", + "PublicConnectorExecutionDataTypedDict": ".publicconnectorexecutiondata", + "PublicExecutionConnectionConfig": ".publicexecutionconnectionconfig", + "PublicExecutionConnectionConfigTypedDict": ".publicexecutionconnectionconfig", + "PublicExecutionConnector": ".publicexecutionconnector", + "PublicExecutionConnectorTypedDict": ".publicexecutionconnector", + "PublicExecutionEnv": ".publicexecutionenv", + "PublicExecutionEnvTypedDict": ".publicexecutionenv", "QueryWorkflowExecutionV1WorkflowsExecutionsExecutionIDQueriesPostRequest": ".query_workflow_execution_v1_workflows_executions_execution_id_queries_postop", "QueryWorkflowExecutionV1WorkflowsExecutionsExecutionIDQueriesPostRequestTypedDict": ".query_workflow_execution_v1_workflows_executions_execution_id_queries_postop", "QueryDefinition": ".querydefinition", @@ -6038,6 +6151,7 @@ "ToolsCapability": ".toolscapability", "ToolsCapabilityTypedDict": ".toolscapability", "ToolType": ".tooltype", + "ToolTypes": ".tooltypes", "TracesRequest": ".tracesrequest", "TracesRequestTypedDict": ".tracesrequest", "TrainingFile": ".trainingfile", diff --git a/src/mistralai/client/models/agentscompletionrequest.py b/src/mistralai/client/models/agentscompletionrequest.py index 55794ea2..d6b43099 100644 --- a/src/mistralai/client/models/agentscompletionrequest.py +++ b/src/mistralai/client/models/agentscompletionrequest.py @@ -81,14 +81,17 @@ ) -AgentsCompletionRequestTool = Union[ - Tool, - WebSearchTool, - WebSearchPremiumTool, - CodeInterpreterTool, - ImageGenerationTool, - DocumentLibraryTool, - CustomConnector, +AgentsCompletionRequestTool = Annotated[ + Union[ + Annotated[Tool, Tag("function")], + Annotated[WebSearchTool, Tag("web_search")], + Annotated[WebSearchPremiumTool, Tag("web_search_premium")], + Annotated[CodeInterpreterTool, Tag("code_interpreter")], + Annotated[ImageGenerationTool, Tag("image_generation")], + Annotated[DocumentLibraryTool, Tag("document_library")], + Annotated[CustomConnector, Tag("connector")], + ], + Discriminator(lambda m: get_discriminator(m, "type", "type")), ] diff --git a/src/mistralai/client/models/agentscompletionstreamrequest.py b/src/mistralai/client/models/agentscompletionstreamrequest.py index 5d3bdecd..bb53879d 100644 --- a/src/mistralai/client/models/agentscompletionstreamrequest.py +++ b/src/mistralai/client/models/agentscompletionstreamrequest.py @@ -81,14 +81,17 @@ ) -AgentsCompletionStreamRequestTool = Union[ - Tool, - WebSearchTool, - WebSearchPremiumTool, - CodeInterpreterTool, - ImageGenerationTool, - DocumentLibraryTool, - CustomConnector, +AgentsCompletionStreamRequestTool = Annotated[ + Union[ + Annotated[Tool, Tag("function")], + Annotated[WebSearchTool, Tag("web_search")], + Annotated[WebSearchPremiumTool, Tag("web_search_premium")], + Annotated[CodeInterpreterTool, Tag("code_interpreter")], + Annotated[ImageGenerationTool, Tag("image_generation")], + Annotated[DocumentLibraryTool, Tag("document_library")], + Annotated[CustomConnector, Tag("connector")], + ], + Discriminator(lambda m: get_discriminator(m, "type", "type")), ] diff --git a/src/mistralai/client/models/chatcompletionrequest.py b/src/mistralai/client/models/chatcompletionrequest.py index ee168c18..dafd0073 100644 --- a/src/mistralai/client/models/chatcompletionrequest.py +++ b/src/mistralai/client/models/chatcompletionrequest.py @@ -81,14 +81,17 @@ ) -ChatCompletionRequestTool = Union[ - Tool, - WebSearchTool, - WebSearchPremiumTool, - CodeInterpreterTool, - ImageGenerationTool, - DocumentLibraryTool, - CustomConnector, +ChatCompletionRequestTool = Annotated[ + Union[ + Annotated[Tool, Tag("function")], + Annotated[WebSearchTool, Tag("web_search")], + Annotated[WebSearchPremiumTool, Tag("web_search_premium")], + Annotated[CodeInterpreterTool, Tag("code_interpreter")], + Annotated[ImageGenerationTool, Tag("image_generation")], + Annotated[DocumentLibraryTool, Tag("document_library")], + Annotated[CustomConnector, Tag("connector")], + ], + Discriminator(lambda m: get_discriminator(m, "type", "type")), ] diff --git a/src/mistralai/client/models/chatcompletionstreamrequest.py b/src/mistralai/client/models/chatcompletionstreamrequest.py index f6ad6a36..9597cafb 100644 --- a/src/mistralai/client/models/chatcompletionstreamrequest.py +++ b/src/mistralai/client/models/chatcompletionstreamrequest.py @@ -81,14 +81,17 @@ ) -ChatCompletionStreamRequestTool = Union[ - Tool, - WebSearchTool, - WebSearchPremiumTool, - CodeInterpreterTool, - ImageGenerationTool, - DocumentLibraryTool, - CustomConnector, +ChatCompletionStreamRequestTool = Annotated[ + Union[ + Annotated[Tool, Tag("function")], + Annotated[WebSearchTool, Tag("web_search")], + Annotated[WebSearchPremiumTool, Tag("web_search_premium")], + Annotated[CodeInterpreterTool, Tag("code_interpreter")], + Annotated[ImageGenerationTool, Tag("image_generation")], + Annotated[DocumentLibraryTool, Tag("document_library")], + Annotated[CustomConnector, Tag("connector")], + ], + Discriminator(lambda m: get_discriminator(m, "type", "type")), ] diff --git a/src/mistralai/client/models/connector.py b/src/mistralai/client/models/connector.py index ce9e0837..70cd30c7 100644 --- a/src/mistralai/client/models/connector.py +++ b/src/mistralai/client/models/connector.py @@ -19,6 +19,7 @@ PublicConnectionConfig, PublicConnectionConfigTypedDict, ) +from .publicexecutionenv import PublicExecutionEnv, PublicExecutionEnvTypedDict from .resourcetype import ResourceType from .resourcevisibility import ResourceVisibility from datetime import datetime @@ -64,6 +65,7 @@ class ConnectorTypedDict(TypedDict): tools: NotRequired[Nullable[List[ConnectorToolTypedDict]]] system_prompt_route: NotRequired[Nullable[str]] connection_config: NotRequired[Nullable[PublicConnectionConfigTypedDict]] + execution_env: NotRequired[Nullable[PublicExecutionEnvTypedDict]] class Connector(BaseModel): @@ -117,6 +119,8 @@ class Connector(BaseModel): connection_config: OptionalNullable[PublicConnectionConfig] = UNSET + execution_env: OptionalNullable[PublicExecutionEnv] = UNSET + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( @@ -138,6 +142,7 @@ def serialize_model(self, handler): "tools", "system_prompt_route", "connection_config", + "execution_env", ] ) nullable_fields = set( @@ -157,6 +162,7 @@ def serialize_model(self, handler): "tools", "system_prompt_route", "connection_config", + "execution_env", ] ) serialized = handler(self) diff --git a/src/mistralai/client/models/executiontool.py b/src/mistralai/client/models/executiontool.py new file mode 100644 index 00000000..2bbc5332 --- /dev/null +++ b/src/mistralai/client/models/executiontool.py @@ -0,0 +1,36 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: 313d88a97140 + +from __future__ import annotations +from .executionconfig import ExecutionConfig, ExecutionConfigTypedDict +from mistralai.client.types import BaseModel, Nullable, UNSET_SENTINEL +from pydantic import model_serializer +from typing_extensions import TypedDict + + +class ExecutionToolTypedDict(TypedDict): + name: str + integration_id: str + execution_config: Nullable[ExecutionConfigTypedDict] + + +class ExecutionTool(BaseModel): + name: str + + integration_id: str + + execution_config: Nullable[ExecutionConfig] + + @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/ocrasidetextblock.py b/src/mistralai/client/models/ocrasidetextblock.py new file mode 100644 index 00000000..3d81d9d3 --- /dev/null +++ b/src/mistralai/client/models/ocrasidetextblock.py @@ -0,0 +1,44 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: 1960ecdcc21a + +from __future__ import annotations +from mistralai.client.types import BaseModel +from mistralai.client.utils import validate_const +import pydantic +from pydantic.functional_validators import AfterValidator +from typing import Literal +from typing_extensions import Annotated, TypedDict + + +class OCRAsideTextBlockTypedDict(TypedDict): + top_left_x: int + top_left_y: int + bottom_right_x: int + bottom_right_y: int + content: str + r"""Text/markdown/html content of this block""" + type: Literal["aside_text"] + + +class OCRAsideTextBlock(BaseModel): + top_left_x: int + + top_left_y: int + + bottom_right_x: int + + bottom_right_y: int + + content: str + r"""Text/markdown/html content of this block""" + + type: Annotated[ + Annotated[Literal["aside_text"], AfterValidator(validate_const("aside_text"))], + pydantic.Field(alias="type"), + ] = "aside_text" + + +try: + OCRAsideTextBlock.model_rebuild() +except NameError: + pass diff --git a/src/mistralai/client/models/ocrcaptionblock.py b/src/mistralai/client/models/ocrcaptionblock.py new file mode 100644 index 00000000..d1e0da83 --- /dev/null +++ b/src/mistralai/client/models/ocrcaptionblock.py @@ -0,0 +1,44 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: 84933d3975dd + +from __future__ import annotations +from mistralai.client.types import BaseModel +from mistralai.client.utils import validate_const +import pydantic +from pydantic.functional_validators import AfterValidator +from typing import Literal +from typing_extensions import Annotated, TypedDict + + +class OCRCaptionBlockTypedDict(TypedDict): + top_left_x: int + top_left_y: int + bottom_right_x: int + bottom_right_y: int + content: str + r"""Text/markdown/html content of this block""" + type: Literal["caption"] + + +class OCRCaptionBlock(BaseModel): + top_left_x: int + + top_left_y: int + + bottom_right_x: int + + bottom_right_y: int + + content: str + r"""Text/markdown/html content of this block""" + + type: Annotated[ + Annotated[Literal["caption"], AfterValidator(validate_const("caption"))], + pydantic.Field(alias="type"), + ] = "caption" + + +try: + OCRCaptionBlock.model_rebuild() +except NameError: + pass diff --git a/src/mistralai/client/models/ocrcodeblock.py b/src/mistralai/client/models/ocrcodeblock.py new file mode 100644 index 00000000..52ffee59 --- /dev/null +++ b/src/mistralai/client/models/ocrcodeblock.py @@ -0,0 +1,44 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: bacdc04c0c8d + +from __future__ import annotations +from mistralai.client.types import BaseModel +from mistralai.client.utils import validate_const +import pydantic +from pydantic.functional_validators import AfterValidator +from typing import Literal +from typing_extensions import Annotated, TypedDict + + +class OCRCodeBlockTypedDict(TypedDict): + top_left_x: int + top_left_y: int + bottom_right_x: int + bottom_right_y: int + content: str + r"""Text/markdown/html content of this block""" + type: Literal["code"] + + +class OCRCodeBlock(BaseModel): + top_left_x: int + + top_left_y: int + + bottom_right_x: int + + bottom_right_y: int + + content: str + r"""Text/markdown/html content of this block""" + + type: Annotated[ + Annotated[Literal["code"], AfterValidator(validate_const("code"))], + pydantic.Field(alias="type"), + ] = "code" + + +try: + OCRCodeBlock.model_rebuild() +except NameError: + pass diff --git a/src/mistralai/client/models/ocrequationblock.py b/src/mistralai/client/models/ocrequationblock.py new file mode 100644 index 00000000..57a8eb3e --- /dev/null +++ b/src/mistralai/client/models/ocrequationblock.py @@ -0,0 +1,44 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: e8856fb2a77f + +from __future__ import annotations +from mistralai.client.types import BaseModel +from mistralai.client.utils import validate_const +import pydantic +from pydantic.functional_validators import AfterValidator +from typing import Literal +from typing_extensions import Annotated, TypedDict + + +class OCREquationBlockTypedDict(TypedDict): + top_left_x: int + top_left_y: int + bottom_right_x: int + bottom_right_y: int + content: str + r"""Text/markdown/html content of this block""" + type: Literal["equation"] + + +class OCREquationBlock(BaseModel): + top_left_x: int + + top_left_y: int + + bottom_right_x: int + + bottom_right_y: int + + content: str + r"""Text/markdown/html content of this block""" + + type: Annotated[ + Annotated[Literal["equation"], AfterValidator(validate_const("equation"))], + pydantic.Field(alias="type"), + ] = "equation" + + +try: + OCREquationBlock.model_rebuild() +except NameError: + pass diff --git a/src/mistralai/client/models/ocrfooterblock.py b/src/mistralai/client/models/ocrfooterblock.py new file mode 100644 index 00000000..b3f4c18d --- /dev/null +++ b/src/mistralai/client/models/ocrfooterblock.py @@ -0,0 +1,44 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: 9435c879d4c4 + +from __future__ import annotations +from mistralai.client.types import BaseModel +from mistralai.client.utils import validate_const +import pydantic +from pydantic.functional_validators import AfterValidator +from typing import Literal +from typing_extensions import Annotated, TypedDict + + +class OCRFooterBlockTypedDict(TypedDict): + top_left_x: int + top_left_y: int + bottom_right_x: int + bottom_right_y: int + content: str + r"""Text/markdown/html content of this block""" + type: Literal["footer"] + + +class OCRFooterBlock(BaseModel): + top_left_x: int + + top_left_y: int + + bottom_right_x: int + + bottom_right_y: int + + content: str + r"""Text/markdown/html content of this block""" + + type: Annotated[ + Annotated[Literal["footer"], AfterValidator(validate_const("footer"))], + pydantic.Field(alias="type"), + ] = "footer" + + +try: + OCRFooterBlock.model_rebuild() +except NameError: + pass diff --git a/src/mistralai/client/models/ocrheaderblock.py b/src/mistralai/client/models/ocrheaderblock.py new file mode 100644 index 00000000..a2e30a98 --- /dev/null +++ b/src/mistralai/client/models/ocrheaderblock.py @@ -0,0 +1,44 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: 86d4b90e4056 + +from __future__ import annotations +from mistralai.client.types import BaseModel +from mistralai.client.utils import validate_const +import pydantic +from pydantic.functional_validators import AfterValidator +from typing import Literal +from typing_extensions import Annotated, TypedDict + + +class OCRHeaderBlockTypedDict(TypedDict): + top_left_x: int + top_left_y: int + bottom_right_x: int + bottom_right_y: int + content: str + r"""Text/markdown/html content of this block""" + type: Literal["header"] + + +class OCRHeaderBlock(BaseModel): + top_left_x: int + + top_left_y: int + + bottom_right_x: int + + bottom_right_y: int + + content: str + r"""Text/markdown/html content of this block""" + + type: Annotated[ + Annotated[Literal["header"], AfterValidator(validate_const("header"))], + pydantic.Field(alias="type"), + ] = "header" + + +try: + OCRHeaderBlock.model_rebuild() +except NameError: + pass diff --git a/src/mistralai/client/models/ocrimageblock.py b/src/mistralai/client/models/ocrimageblock.py new file mode 100644 index 00000000..3381c47a --- /dev/null +++ b/src/mistralai/client/models/ocrimageblock.py @@ -0,0 +1,49 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: 9700f3ab6b59 + +from __future__ import annotations +from mistralai.client.types import BaseModel +from mistralai.client.utils import validate_const +import pydantic +from pydantic.functional_validators import AfterValidator +from typing import Literal +from typing_extensions import Annotated, TypedDict + + +class OCRImageBlockTypedDict(TypedDict): + top_left_x: int + top_left_y: int + bottom_right_x: int + bottom_right_y: int + content: str + r"""Text/markdown/html content of this block""" + image_id: str + r"""References the corresponding entry in OCRPageObject.images""" + type: Literal["image"] + + +class OCRImageBlock(BaseModel): + top_left_x: int + + top_left_y: int + + bottom_right_x: int + + bottom_right_y: int + + content: str + r"""Text/markdown/html content of this block""" + + image_id: str + r"""References the corresponding entry in OCRPageObject.images""" + + type: Annotated[ + Annotated[Literal["image"], AfterValidator(validate_const("image"))], + pydantic.Field(alias="type"), + ] = "image" + + +try: + OCRImageBlock.model_rebuild() +except NameError: + pass diff --git a/src/mistralai/client/models/ocrlistblock.py b/src/mistralai/client/models/ocrlistblock.py new file mode 100644 index 00000000..8d32c11a --- /dev/null +++ b/src/mistralai/client/models/ocrlistblock.py @@ -0,0 +1,44 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: 20bdae8ad688 + +from __future__ import annotations +from mistralai.client.types import BaseModel +from mistralai.client.utils import validate_const +import pydantic +from pydantic.functional_validators import AfterValidator +from typing import Literal +from typing_extensions import Annotated, TypedDict + + +class OCRListBlockTypedDict(TypedDict): + top_left_x: int + top_left_y: int + bottom_right_x: int + bottom_right_y: int + content: str + r"""Text/markdown/html content of this block""" + type: Literal["list"] + + +class OCRListBlock(BaseModel): + top_left_x: int + + top_left_y: int + + bottom_right_x: int + + bottom_right_y: int + + content: str + r"""Text/markdown/html content of this block""" + + type: Annotated[ + Annotated[Literal["list"], AfterValidator(validate_const("list"))], + pydantic.Field(alias="type"), + ] = "list" + + +try: + OCRListBlock.model_rebuild() +except NameError: + pass diff --git a/src/mistralai/client/models/ocrpageobject.py b/src/mistralai/client/models/ocrpageobject.py index d77661aa..662326b0 100644 --- a/src/mistralai/client/models/ocrpageobject.py +++ b/src/mistralai/client/models/ocrpageobject.py @@ -2,13 +2,27 @@ # @generated-id: 07a099f89487 from __future__ import annotations +from .ocrasidetextblock import OCRAsideTextBlock, OCRAsideTextBlockTypedDict +from .ocrcaptionblock import OCRCaptionBlock, OCRCaptionBlockTypedDict +from .ocrcodeblock import OCRCodeBlock, OCRCodeBlockTypedDict +from .ocrequationblock import OCREquationBlock, OCREquationBlockTypedDict +from .ocrfooterblock import OCRFooterBlock, OCRFooterBlockTypedDict +from .ocrheaderblock import OCRHeaderBlock, OCRHeaderBlockTypedDict +from .ocrimageblock import OCRImageBlock, OCRImageBlockTypedDict from .ocrimageobject import OCRImageObject, OCRImageObjectTypedDict +from .ocrlistblock import OCRListBlock, OCRListBlockTypedDict from .ocrpageconfidencescores import ( OCRPageConfidenceScores, OCRPageConfidenceScoresTypedDict, ) from .ocrpagedimensions import OCRPageDimensions, OCRPageDimensionsTypedDict +from .ocrreferencesblock import OCRReferencesBlock, OCRReferencesBlockTypedDict +from .ocrsignatureblock import OCRSignatureBlock, OCRSignatureBlockTypedDict +from .ocrtableblock import OCRTableBlock, OCRTableBlockTypedDict from .ocrtableobject import OCRTableObject, OCRTableObjectTypedDict +from .ocrtextblock import OCRTextBlock, OCRTextBlockTypedDict +from .ocrtitleblock import OCRTitleBlock, OCRTitleBlockTypedDict +from functools import partial from mistralai.client.types import ( BaseModel, Nullable, @@ -16,9 +30,87 @@ UNSET, UNSET_SENTINEL, ) -from pydantic import model_serializer -from typing import List, Optional -from typing_extensions import NotRequired, TypedDict +from mistralai.client.utils.unions import parse_open_union +from pydantic import ConfigDict, model_serializer +from pydantic.functional_validators import BeforeValidator +from typing import Any, List, Literal, Optional, Union +from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict + + +BlockTypedDict = TypeAliasType( + "BlockTypedDict", + Union[ + OCRAsideTextBlockTypedDict, + OCRListBlockTypedDict, + OCRTitleBlockTypedDict, + OCREquationBlockTypedDict, + OCRCaptionBlockTypedDict, + OCRCodeBlockTypedDict, + OCRReferencesBlockTypedDict, + OCRTextBlockTypedDict, + OCRHeaderBlockTypedDict, + OCRFooterBlockTypedDict, + OCRSignatureBlockTypedDict, + OCRImageBlockTypedDict, + OCRTableBlockTypedDict, + ], +) + + +class UnknownBlock(BaseModel): + r"""A Block variant the SDK doesn't recognize. Preserves the raw payload.""" + + type: Literal["UNKNOWN"] = "UNKNOWN" + raw: Any + is_unknown: Literal[True] = True + + model_config = ConfigDict(frozen=True) + + +_BLOCK_VARIANTS: dict[str, Any] = { + "aside_text": OCRAsideTextBlock, + "caption": OCRCaptionBlock, + "code": OCRCodeBlock, + "equation": OCREquationBlock, + "footer": OCRFooterBlock, + "header": OCRHeaderBlock, + "image": OCRImageBlock, + "list": OCRListBlock, + "references": OCRReferencesBlock, + "signature": OCRSignatureBlock, + "table": OCRTableBlock, + "text": OCRTextBlock, + "title": OCRTitleBlock, +} + + +Block = Annotated[ + Union[ + OCRAsideTextBlock, + OCRCaptionBlock, + OCRCodeBlock, + OCREquationBlock, + OCRFooterBlock, + OCRHeaderBlock, + OCRImageBlock, + OCRListBlock, + OCRReferencesBlock, + OCRSignatureBlock, + OCRTableBlock, + OCRTextBlock, + OCRTitleBlock, + UnknownBlock, + ], + BeforeValidator( + partial( + parse_open_union, + disc_key="type", + variants=_BLOCK_VARIANTS, + unknown_cls=UnknownBlock, + union_name="Block", + ) + ), +] class OCRPageObjectTypedDict(TypedDict): @@ -40,6 +132,8 @@ class OCRPageObjectTypedDict(TypedDict): r"""Footer of the page""" confidence_scores: NotRequired[Nullable[OCRPageConfidenceScoresTypedDict]] r"""Confidence scores for the OCR page (populated when confidence_scores_granularity is set)""" + blocks: NotRequired[Nullable[List[BlockTypedDict]]] + r"""Paragraph-level bounding boxes for all content blocks in reading order (populated when include_blocks is True)""" class OCRPageObject(BaseModel): @@ -70,12 +164,17 @@ class OCRPageObject(BaseModel): confidence_scores: OptionalNullable[OCRPageConfidenceScores] = UNSET r"""Confidence scores for the OCR page (populated when confidence_scores_granularity is set)""" + blocks: OptionalNullable[List[Block]] = UNSET + r"""Paragraph-level bounding boxes for all content blocks in reading order (populated when include_blocks is True)""" + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( - ["tables", "hyperlinks", "header", "footer", "confidence_scores"] + ["tables", "hyperlinks", "header", "footer", "confidence_scores", "blocks"] + ) + nullable_fields = set( + ["header", "footer", "dimensions", "confidence_scores", "blocks"] ) - nullable_fields = set(["header", "footer", "dimensions", "confidence_scores"]) serialized = handler(self) m = {} diff --git a/src/mistralai/client/models/ocrreferencesblock.py b/src/mistralai/client/models/ocrreferencesblock.py new file mode 100644 index 00000000..6294488c --- /dev/null +++ b/src/mistralai/client/models/ocrreferencesblock.py @@ -0,0 +1,44 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: 24b57f5f1f99 + +from __future__ import annotations +from mistralai.client.types import BaseModel +from mistralai.client.utils import validate_const +import pydantic +from pydantic.functional_validators import AfterValidator +from typing import Literal +from typing_extensions import Annotated, TypedDict + + +class OCRReferencesBlockTypedDict(TypedDict): + top_left_x: int + top_left_y: int + bottom_right_x: int + bottom_right_y: int + content: str + r"""Text/markdown/html content of this block""" + type: Literal["references"] + + +class OCRReferencesBlock(BaseModel): + top_left_x: int + + top_left_y: int + + bottom_right_x: int + + bottom_right_y: int + + content: str + r"""Text/markdown/html content of this block""" + + type: Annotated[ + Annotated[Literal["references"], AfterValidator(validate_const("references"))], + pydantic.Field(alias="type"), + ] = "references" + + +try: + OCRReferencesBlock.model_rebuild() +except NameError: + pass diff --git a/src/mistralai/client/models/ocrrequest.py b/src/mistralai/client/models/ocrrequest.py index 2a16e712..3628c214 100644 --- a/src/mistralai/client/models/ocrrequest.py +++ b/src/mistralai/client/models/ocrrequest.py @@ -72,6 +72,8 @@ class OCRRequestTypedDict(TypedDict): table_format: NotRequired[Nullable[TableFormat]] extract_header: NotRequired[bool] extract_footer: NotRequired[bool] + 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.""" @@ -109,6 +111,9 @@ class OCRRequest(BaseModel): extract_footer: Optional[bool] = None + include_blocks: Optional[bool] = False + 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.""" @@ -126,6 +131,7 @@ def serialize_model(self, handler): "table_format", "extract_header", "extract_footer", + "include_blocks", "confidence_scores_granularity", ] ) diff --git a/src/mistralai/client/models/ocrsignatureblock.py b/src/mistralai/client/models/ocrsignatureblock.py new file mode 100644 index 00000000..0275466f --- /dev/null +++ b/src/mistralai/client/models/ocrsignatureblock.py @@ -0,0 +1,48 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: 2e2939942241 + +from __future__ import annotations +from mistralai.client.types import BaseModel +from mistralai.client.utils import validate_const +import pydantic +from pydantic.functional_validators import AfterValidator +from typing import Literal +from typing_extensions import Annotated, TypedDict + + +class OCRSignatureBlockTypedDict(TypedDict): + r"""Signature region. ``content`` is the transcribed name when legible, else ``\"\"``.""" + + top_left_x: int + top_left_y: int + bottom_right_x: int + bottom_right_y: int + content: str + r"""Text/markdown/html content of this block""" + type: Literal["signature"] + + +class OCRSignatureBlock(BaseModel): + r"""Signature region. ``content`` is the transcribed name when legible, else ``\"\"``.""" + + top_left_x: int + + top_left_y: int + + bottom_right_x: int + + bottom_right_y: int + + content: str + r"""Text/markdown/html content of this block""" + + type: Annotated[ + Annotated[Literal["signature"], AfterValidator(validate_const("signature"))], + pydantic.Field(alias="type"), + ] = "signature" + + +try: + OCRSignatureBlock.model_rebuild() +except NameError: + pass diff --git a/src/mistralai/client/models/ocrtableblock.py b/src/mistralai/client/models/ocrtableblock.py new file mode 100644 index 00000000..97c8adb7 --- /dev/null +++ b/src/mistralai/client/models/ocrtableblock.py @@ -0,0 +1,81 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: dada7ebd13b0 + +from __future__ import annotations +from mistralai.client.types import ( + BaseModel, + Nullable, + OptionalNullable, + UNSET, + UNSET_SENTINEL, +) +from mistralai.client.utils import validate_const +import pydantic +from pydantic import model_serializer +from pydantic.functional_validators import AfterValidator +from typing import Literal +from typing_extensions import Annotated, NotRequired, TypedDict + + +class OCRTableBlockTypedDict(TypedDict): + top_left_x: int + top_left_y: int + bottom_right_x: int + bottom_right_y: int + content: str + r"""Text/markdown/html content of this block""" + type: Literal["table"] + table_id: NotRequired[Nullable[str]] + r"""References the corresponding entry in OCRPageObject.tables, when tables are extracted""" + + +class OCRTableBlock(BaseModel): + top_left_x: int + + top_left_y: int + + bottom_right_x: int + + bottom_right_y: int + + content: str + r"""Text/markdown/html content of this block""" + + type: Annotated[ + Annotated[Literal["table"], AfterValidator(validate_const("table"))], + pydantic.Field(alias="type"), + ] = "table" + + table_id: OptionalNullable[str] = UNSET + r"""References the corresponding entry in OCRPageObject.tables, when tables are extracted""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["table_id"]) + nullable_fields = set(["table_id"]) + 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 + + +try: + OCRTableBlock.model_rebuild() +except NameError: + pass diff --git a/src/mistralai/client/models/ocrtextblock.py b/src/mistralai/client/models/ocrtextblock.py new file mode 100644 index 00000000..bb6981f9 --- /dev/null +++ b/src/mistralai/client/models/ocrtextblock.py @@ -0,0 +1,44 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: d329f1be53f7 + +from __future__ import annotations +from mistralai.client.types import BaseModel +from mistralai.client.utils import validate_const +import pydantic +from pydantic.functional_validators import AfterValidator +from typing import Literal +from typing_extensions import Annotated, TypedDict + + +class OCRTextBlockTypedDict(TypedDict): + top_left_x: int + top_left_y: int + bottom_right_x: int + bottom_right_y: int + content: str + r"""Text/markdown/html content of this block""" + type: Literal["text"] + + +class OCRTextBlock(BaseModel): + top_left_x: int + + top_left_y: int + + bottom_right_x: int + + bottom_right_y: int + + content: str + r"""Text/markdown/html content of this block""" + + type: Annotated[ + Annotated[Literal["text"], AfterValidator(validate_const("text"))], + pydantic.Field(alias="type"), + ] = "text" + + +try: + OCRTextBlock.model_rebuild() +except NameError: + pass diff --git a/src/mistralai/client/models/ocrtitleblock.py b/src/mistralai/client/models/ocrtitleblock.py new file mode 100644 index 00000000..951f80f4 --- /dev/null +++ b/src/mistralai/client/models/ocrtitleblock.py @@ -0,0 +1,44 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: 1a397a673c85 + +from __future__ import annotations +from mistralai.client.types import BaseModel +from mistralai.client.utils import validate_const +import pydantic +from pydantic.functional_validators import AfterValidator +from typing import Literal +from typing_extensions import Annotated, TypedDict + + +class OCRTitleBlockTypedDict(TypedDict): + top_left_x: int + top_left_y: int + bottom_right_x: int + bottom_right_y: int + content: str + r"""Text/markdown/html content of this block""" + type: Literal["title"] + + +class OCRTitleBlock(BaseModel): + top_left_x: int + + top_left_y: int + + bottom_right_x: int + + bottom_right_y: int + + content: str + r"""Text/markdown/html content of this block""" + + type: Annotated[ + Annotated[Literal["title"], AfterValidator(validate_const("title"))], + pydantic.Field(alias="type"), + ] = "title" + + +try: + OCRTitleBlock.model_rebuild() +except NameError: + pass diff --git a/src/mistralai/client/models/publicconnectorexecutiondata.py b/src/mistralai/client/models/publicconnectorexecutiondata.py new file mode 100644 index 00000000..9e6bbd58 --- /dev/null +++ b/src/mistralai/client/models/publicconnectorexecutiondata.py @@ -0,0 +1,43 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: 60d7f9e91ee6 + +from __future__ import annotations +from .executiontool import ExecutionTool, ExecutionToolTypedDict +from .publicexecutionconnector import ( + PublicExecutionConnector, + PublicExecutionConnectorTypedDict, +) +from mistralai.client.types import BaseModel, UNSET_SENTINEL +from pydantic import model_serializer +from typing import List, Optional +from typing_extensions import NotRequired, TypedDict + + +class PublicConnectorExecutionDataTypedDict(TypedDict): + integrations: List[PublicExecutionConnectorTypedDict] + tools: List[ExecutionToolTypedDict] + use_connectors_gateway: NotRequired[bool] + + +class PublicConnectorExecutionData(BaseModel): + integrations: List[PublicExecutionConnector] + + tools: List[ExecutionTool] + + use_connectors_gateway: Optional[bool] = False + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["use_connectors_gateway"]) + 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/publicexecutionconnectionconfig.py b/src/mistralai/client/models/publicexecutionconnectionconfig.py new file mode 100644 index 00000000..c6a4cd14 --- /dev/null +++ b/src/mistralai/client/models/publicexecutionconnectionconfig.py @@ -0,0 +1,81 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: c905833ce251 + +from __future__ import annotations +from .connectionconfigtype import ConnectionConfigType +from .toolexecutionconfiguration import ( + ToolExecutionConfiguration, + ToolExecutionConfigurationTypedDict, +) +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 PublicExecutionConnectionConfigTypedDict(TypedDict): + r"""Connection config exposed in the public, unauthenticated /connectors/mistral response. + + Unlike ConnectionConfig, this has no `headers` field and forbids extra fields, so + connector credentials can never be serialized into this cacheable response. + """ + + type: ConnectionConfigType + server: NotRequired[Nullable[str]] + name: NotRequired[Nullable[str]] + id: NotRequired[Nullable[str]] + tool_configuration: NotRequired[Nullable[ToolExecutionConfigurationTypedDict]] + hosted_internally: NotRequired[bool] + + +class PublicExecutionConnectionConfig(BaseModel): + r"""Connection config exposed in the public, unauthenticated /connectors/mistral response. + + Unlike ConnectionConfig, this has no `headers` field and forbids extra fields, so + connector credentials can never be serialized into this cacheable response. + """ + + type: ConnectionConfigType + + server: OptionalNullable[str] = UNSET + + name: OptionalNullable[str] = UNSET + + id: OptionalNullable[str] = UNSET + + tool_configuration: OptionalNullable[ToolExecutionConfiguration] = UNSET + + hosted_internally: Optional[bool] = False + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + ["server", "name", "id", "tool_configuration", "hosted_internally"] + ) + nullable_fields = set(["server", "name", "id", "tool_configuration"]) + 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/publicexecutionconnector.py b/src/mistralai/client/models/publicexecutionconnector.py new file mode 100644 index 00000000..0223968f --- /dev/null +++ b/src/mistralai/client/models/publicexecutionconnector.py @@ -0,0 +1,39 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: c2a70c48a9c6 + +from __future__ import annotations +from .publicexecutionconnectionconfig import ( + PublicExecutionConnectionConfig, + PublicExecutionConnectionConfigTypedDict, +) +from mistralai.client.types import BaseModel, Nullable, UNSET_SENTINEL +from pydantic import model_serializer +from typing_extensions import TypedDict + + +class PublicExecutionConnectorTypedDict(TypedDict): + id: str + name: str + connection_config: Nullable[PublicExecutionConnectionConfigTypedDict] + + +class PublicExecutionConnector(BaseModel): + id: str + + name: str + + connection_config: Nullable[PublicExecutionConnectionConfig] + + @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/publicexecutionenv.py b/src/mistralai/client/models/publicexecutionenv.py new file mode 100644 index 00000000..69f08df6 --- /dev/null +++ b/src/mistralai/client/models/publicexecutionenv.py @@ -0,0 +1,30 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: e0bc735fbadc + +from __future__ import annotations +from .publicconnectorexecutiondata import ( + PublicConnectorExecutionData, + PublicConnectorExecutionDataTypedDict, +) +from .tool import Tool, ToolTypedDict +from mistralai.client.types import BaseModel +from typing import List +from typing_extensions import TypedDict + + +class PublicExecutionEnvTypedDict(TypedDict): + r"""Credentials-free projection of ExecutionEnv for the public /connectors/mistral response.""" + + tools: List[ToolTypedDict] + tool_execution_data: PublicConnectorExecutionDataTypedDict + errors: List[str] + + +class PublicExecutionEnv(BaseModel): + r"""Credentials-free projection of ExecutionEnv for the public /connectors/mistral response.""" + + tools: List[Tool] + + tool_execution_data: PublicConnectorExecutionData + + errors: List[str] diff --git a/src/mistralai/client/models/stream_deployment_logsop.py b/src/mistralai/client/models/stream_deployment_logsop.py index 4bf76da5..8b89bd80 100644 --- a/src/mistralai/client/models/stream_deployment_logsop.py +++ b/src/mistralai/client/models/stream_deployment_logsop.py @@ -13,7 +13,13 @@ UNSET_SENTINEL, UnrecognizedStr, ) -from mistralai.client.utils import FieldMetadata, PathParamMetadata, QueryParamMetadata +from mistralai.client.utils import ( + FieldMetadata, + HeaderMetadata, + PathParamMetadata, + QueryParamMetadata, +) +import pydantic from pydantic import model_serializer from typing import Literal, Optional, Union from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict @@ -27,8 +33,10 @@ class StreamDeploymentLogsRequestTypedDict(TypedDict): r"""Filter logs by workflow name""" after: NotRequired[Nullable[datetime]] r"""Start a fresh stream at this timestamp (ignored when resuming via last_event_id)""" - last_event_id: NotRequired[Nullable[str]] + last_event_id_query_parameter: NotRequired[Nullable[str]] r"""Resume from this cursor (a prior response's SSE id)""" + last_event_id: NotRequired[Nullable[str]] + r"""Resume from this cursor (a prior response's SSE id). Takes precedence over the query parameter.""" class StreamDeploymentLogsRequest(BaseModel): @@ -54,19 +62,39 @@ class StreamDeploymentLogsRequest(BaseModel): ] = UNSET r"""Start a fresh stream at this timestamp (ignored when resuming via last_event_id)""" - last_event_id: Annotated[ + last_event_id_query_parameter: Annotated[ OptionalNullable[str], + pydantic.Field(alias="last_event_id"), FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = UNSET r"""Resume from this cursor (a prior response's SSE id)""" + last_event_id: Annotated[ + OptionalNullable[str], + pydantic.Field(alias="Last-Event-ID"), + FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), + ] = UNSET + r"""Resume from this cursor (a prior response's SSE id). Takes precedence over the query parameter.""" + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( - ["worker_name", "workflow_name", "after", "last_event_id"] + [ + "worker_name", + "workflow_name", + "after", + "last_event_idQueryParameter", + "Last-Event-ID", + ] ) nullable_fields = set( - ["worker_name", "workflow_name", "after", "last_event_id"] + [ + "worker_name", + "workflow_name", + "after", + "last_event_idQueryParameter", + "Last-Event-ID", + ] ) serialized = handler(self) m = {} diff --git a/src/mistralai/client/models/stream_workflow_execution_logsop.py b/src/mistralai/client/models/stream_workflow_execution_logsop.py index 653d2a5b..9db7db54 100644 --- a/src/mistralai/client/models/stream_workflow_execution_logsop.py +++ b/src/mistralai/client/models/stream_workflow_execution_logsop.py @@ -13,7 +13,13 @@ UNSET_SENTINEL, UnrecognizedStr, ) -from mistralai.client.utils import FieldMetadata, PathParamMetadata, QueryParamMetadata +from mistralai.client.utils import ( + FieldMetadata, + HeaderMetadata, + PathParamMetadata, + QueryParamMetadata, +) +import pydantic from pydantic import model_serializer from typing import Literal, Optional, Union from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict @@ -27,8 +33,10 @@ class StreamWorkflowExecutionLogsRequestTypedDict(TypedDict): r"""Filter logs by activity ID""" after: NotRequired[Nullable[datetime]] r"""Start a fresh stream at this timestamp (ignored when resuming via last_event_id)""" - last_event_id: NotRequired[Nullable[str]] + last_event_id_query_parameter: NotRequired[Nullable[str]] r"""Resume from this cursor (a prior response's SSE id)""" + last_event_id: NotRequired[Nullable[str]] + r"""Resume from this cursor (a prior response's SSE id). Takes precedence over the query parameter.""" class StreamWorkflowExecutionLogsRequest(BaseModel): @@ -54,16 +62,40 @@ class StreamWorkflowExecutionLogsRequest(BaseModel): ] = UNSET r"""Start a fresh stream at this timestamp (ignored when resuming via last_event_id)""" - last_event_id: Annotated[ + last_event_id_query_parameter: Annotated[ OptionalNullable[str], + pydantic.Field(alias="last_event_id"), FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = UNSET r"""Resume from this cursor (a prior response's SSE id)""" + last_event_id: Annotated[ + OptionalNullable[str], + pydantic.Field(alias="Last-Event-ID"), + FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), + ] = UNSET + r"""Resume from this cursor (a prior response's SSE id). Takes precedence over the query parameter.""" + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["run_id", "activity_id", "after", "last_event_id"]) - nullable_fields = set(["run_id", "activity_id", "after", "last_event_id"]) + optional_fields = set( + [ + "run_id", + "activity_id", + "after", + "last_event_idQueryParameter", + "Last-Event-ID", + ] + ) + nullable_fields = set( + [ + "run_id", + "activity_id", + "after", + "last_event_idQueryParameter", + "Last-Event-ID", + ] + ) serialized = handler(self) m = {} diff --git a/src/mistralai/client/models/tool.py b/src/mistralai/client/models/tool.py index a83a6d1c..1d1c5ce5 100644 --- a/src/mistralai/client/models/tool.py +++ b/src/mistralai/client/models/tool.py @@ -3,32 +3,35 @@ from __future__ import annotations from .function import Function, FunctionTypedDict -from mistralai.client.types import BaseModel, UnrecognizedStr -from mistralai.client.utils import validate_const -import pydantic -from pydantic.functional_validators import AfterValidator -from typing import Literal, Union -from typing_extensions import Annotated, TypedDict +from .tooltypes import ToolTypes +from mistralai.client.types import BaseModel, UNSET_SENTINEL +from pydantic import model_serializer +from typing import Optional +from typing_extensions import NotRequired, TypedDict class ToolTypedDict(TypedDict): function: FunctionTypedDict - type: Union[Literal["function"], UnrecognizedStr] + type: NotRequired[ToolTypes] class Tool(BaseModel): function: Function - type: Annotated[ - Annotated[ - Union[Literal["function"], UnrecognizedStr], - AfterValidator(validate_const("function")), - ], - pydantic.Field(alias="type"), - ] = "function" + type: Optional[ToolTypes] = None + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["type"]) + serialized = handler(self) + m = {} -try: - Tool.model_rebuild() -except NameError: - pass + 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/toolcall.py b/src/mistralai/client/models/toolcall.py index 1424d879..29f1149c 100644 --- a/src/mistralai/client/models/toolcall.py +++ b/src/mistralai/client/models/toolcall.py @@ -3,6 +3,7 @@ from __future__ import annotations from .functioncall import FunctionCall, FunctionCallTypedDict +from .tooltypes import ToolTypes from mistralai.client.types import BaseModel, UNSET_SENTINEL from pydantic import model_serializer from typing import Optional @@ -12,7 +13,7 @@ class ToolCallTypedDict(TypedDict): function: FunctionCallTypedDict id: NotRequired[str] - type: NotRequired[str] + type: NotRequired[ToolTypes] index: NotRequired[int] @@ -21,7 +22,7 @@ class ToolCall(BaseModel): id: Optional[str] = "null" - type: Optional[str] = None + type: Optional[ToolTypes] = None index: Optional[int] = 0 diff --git a/src/mistralai/client/models/toolchoice.py b/src/mistralai/client/models/toolchoice.py index e7a17d5c..ce84573a 100644 --- a/src/mistralai/client/models/toolchoice.py +++ b/src/mistralai/client/models/toolchoice.py @@ -3,6 +3,7 @@ from __future__ import annotations from .functionname import FunctionName, FunctionNameTypedDict +from .tooltypes import ToolTypes from mistralai.client.types import BaseModel, UNSET_SENTINEL from pydantic import model_serializer from typing import Optional @@ -14,7 +15,7 @@ class ToolChoiceTypedDict(TypedDict): function: FunctionNameTypedDict r"""this restriction of `Function` is used to select a specific function to call""" - type: NotRequired[str] + type: NotRequired[ToolTypes] class ToolChoice(BaseModel): @@ -23,7 +24,7 @@ class ToolChoice(BaseModel): function: FunctionName r"""this restriction of `Function` is used to select a specific function to call""" - type: Optional[str] = None + type: Optional[ToolTypes] = None @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/mistralai/client/models/tooltypes.py b/src/mistralai/client/models/tooltypes.py new file mode 100644 index 00000000..e601c196 --- /dev/null +++ b/src/mistralai/client/models/tooltypes.py @@ -0,0 +1,9 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +# @generated-id: 86c3b54272fd + +from __future__ import annotations +from mistralai.client.types import UnrecognizedStr +from typing import Literal, Union + + +ToolTypes = Union[Literal["function",], UnrecognizedStr] diff --git a/src/mistralai/client/models/workflowexecutionresponse.py b/src/mistralai/client/models/workflowexecutionresponse.py index 83179054..e387a57a 100644 --- a/src/mistralai/client/models/workflowexecutionresponse.py +++ b/src/mistralai/client/models/workflowexecutionresponse.py @@ -31,10 +31,16 @@ class WorkflowExecutionResponseTypedDict(TypedDict): r"""The end time of the workflow execution, if available""" result: Nullable[Any] r"""The result of the workflow execution, if available""" + workflow_id: NotRequired[Nullable[str]] + r"""The ID of the workflow""" + deployment_name: NotRequired[Nullable[str]] + r"""The name of the deployment that ran this execution""" parent_execution_id: NotRequired[Nullable[str]] r"""The parent execution ID of the workflow execution""" run_id: NotRequired[Nullable[str]] r"""The unique run identifier (database UUID)""" + user_id: NotRequired[Nullable[str]] + r"""The ID of the user who triggered the execution""" total_duration_ms: NotRequired[Nullable[int]] r"""The total duration of the trace in milliseconds""" @@ -61,22 +67,43 @@ class WorkflowExecutionResponse(BaseModel): result: Nullable[Any] r"""The result of the workflow execution, if available""" + workflow_id: OptionalNullable[str] = UNSET + r"""The ID of the workflow""" + + deployment_name: OptionalNullable[str] = UNSET + r"""The name of the deployment that ran this execution""" + parent_execution_id: OptionalNullable[str] = UNSET r"""The parent execution ID of the workflow execution""" run_id: OptionalNullable[str] = UNSET r"""The unique run identifier (database UUID)""" + user_id: OptionalNullable[str] = UNSET + r"""The ID of the user who triggered the execution""" + total_duration_ms: OptionalNullable[int] = UNSET r"""The total duration of the trace in milliseconds""" @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["parent_execution_id", "run_id", "total_duration_ms"]) + optional_fields = set( + [ + "workflow_id", + "deployment_name", + "parent_execution_id", + "run_id", + "user_id", + "total_duration_ms", + ] + ) nullable_fields = set( [ + "workflow_id", + "deployment_name", "parent_execution_id", "run_id", + "user_id", "status", "end_time", "total_duration_ms", diff --git a/src/mistralai/client/models/workflowexecutiontraceeventsresponse.py b/src/mistralai/client/models/workflowexecutiontraceeventsresponse.py index 22853e9b..0494ad75 100644 --- a/src/mistralai/client/models/workflowexecutiontraceeventsresponse.py +++ b/src/mistralai/client/models/workflowexecutiontraceeventsresponse.py @@ -54,10 +54,16 @@ class WorkflowExecutionTraceEventsResponseTypedDict(TypedDict): r"""The end time of the workflow execution, if available""" result: Nullable[Any] r"""The result of the workflow execution, if available""" + workflow_id: NotRequired[Nullable[str]] + r"""The ID of the workflow""" + deployment_name: NotRequired[Nullable[str]] + r"""The name of the deployment that ran this execution""" parent_execution_id: NotRequired[Nullable[str]] r"""The parent execution ID of the workflow execution""" run_id: NotRequired[Nullable[str]] r"""The unique run identifier (database UUID)""" + user_id: NotRequired[Nullable[str]] + r"""The ID of the user who triggered the execution""" total_duration_ms: NotRequired[Nullable[int]] r"""The total duration of the trace in milliseconds""" events: NotRequired[List[WorkflowExecutionTraceEventsResponseEventTypedDict]] @@ -86,12 +92,21 @@ class WorkflowExecutionTraceEventsResponse(BaseModel): result: Nullable[Any] r"""The result of the workflow execution, if available""" + workflow_id: OptionalNullable[str] = UNSET + r"""The ID of the workflow""" + + deployment_name: OptionalNullable[str] = UNSET + r"""The name of the deployment that ran this execution""" + parent_execution_id: OptionalNullable[str] = UNSET r"""The parent execution ID of the workflow execution""" run_id: OptionalNullable[str] = UNSET r"""The unique run identifier (database UUID)""" + user_id: OptionalNullable[str] = UNSET + r"""The ID of the user who triggered the execution""" + total_duration_ms: OptionalNullable[int] = UNSET r"""The total duration of the trace in milliseconds""" @@ -101,12 +116,23 @@ class WorkflowExecutionTraceEventsResponse(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( - ["parent_execution_id", "run_id", "total_duration_ms", "events"] + [ + "workflow_id", + "deployment_name", + "parent_execution_id", + "run_id", + "user_id", + "total_duration_ms", + "events", + ] ) nullable_fields = set( [ + "workflow_id", + "deployment_name", "parent_execution_id", "run_id", + "user_id", "status", "end_time", "total_duration_ms", diff --git a/src/mistralai/client/models/workflowexecutiontraceotelresponse.py b/src/mistralai/client/models/workflowexecutiontraceotelresponse.py index 46f5404e..f6f11bce 100644 --- a/src/mistralai/client/models/workflowexecutiontraceotelresponse.py +++ b/src/mistralai/client/models/workflowexecutiontraceotelresponse.py @@ -34,10 +34,16 @@ class WorkflowExecutionTraceOTelResponseTypedDict(TypedDict): r"""The result of the workflow execution, if available""" data_source: str r"""The data source of the trace""" + workflow_id: NotRequired[Nullable[str]] + r"""The ID of the workflow""" + deployment_name: NotRequired[Nullable[str]] + r"""The name of the deployment that ran this execution""" parent_execution_id: NotRequired[Nullable[str]] r"""The parent execution ID of the workflow execution""" run_id: NotRequired[Nullable[str]] r"""The unique run identifier (database UUID)""" + user_id: NotRequired[Nullable[str]] + r"""The ID of the user who triggered the execution""" total_duration_ms: NotRequired[Nullable[int]] r"""The total duration of the trace in milliseconds""" otel_trace_id: NotRequired[Nullable[str]] @@ -71,12 +77,21 @@ class WorkflowExecutionTraceOTelResponse(BaseModel): data_source: str r"""The data source of the trace""" + workflow_id: OptionalNullable[str] = UNSET + r"""The ID of the workflow""" + + deployment_name: OptionalNullable[str] = UNSET + r"""The name of the deployment that ran this execution""" + parent_execution_id: OptionalNullable[str] = UNSET r"""The parent execution ID of the workflow execution""" run_id: OptionalNullable[str] = UNSET r"""The unique run identifier (database UUID)""" + user_id: OptionalNullable[str] = UNSET + r"""The ID of the user who triggered the execution""" + total_duration_ms: OptionalNullable[int] = UNSET r"""The total duration of the trace in milliseconds""" @@ -90,8 +105,11 @@ class WorkflowExecutionTraceOTelResponse(BaseModel): def serialize_model(self, handler): optional_fields = set( [ + "workflow_id", + "deployment_name", "parent_execution_id", "run_id", + "user_id", "total_duration_ms", "otel_trace_id", "otel_trace_data", @@ -99,8 +117,11 @@ def serialize_model(self, handler): ) nullable_fields = set( [ + "workflow_id", + "deployment_name", "parent_execution_id", "run_id", + "user_id", "status", "end_time", "total_duration_ms", diff --git a/src/mistralai/client/models/workflowexecutiontracesummaryresponse.py b/src/mistralai/client/models/workflowexecutiontracesummaryresponse.py index 92e9a2a7..25f20216 100644 --- a/src/mistralai/client/models/workflowexecutiontracesummaryresponse.py +++ b/src/mistralai/client/models/workflowexecutiontracesummaryresponse.py @@ -35,10 +35,16 @@ class WorkflowExecutionTraceSummaryResponseTypedDict(TypedDict): r"""The end time of the workflow execution, if available""" result: Nullable[Any] r"""The result of the workflow execution, if available""" + workflow_id: NotRequired[Nullable[str]] + r"""The ID of the workflow""" + deployment_name: NotRequired[Nullable[str]] + r"""The name of the deployment that ran this execution""" parent_execution_id: NotRequired[Nullable[str]] r"""The parent execution ID of the workflow execution""" run_id: NotRequired[Nullable[str]] r"""The unique run identifier (database UUID)""" + user_id: NotRequired[Nullable[str]] + r"""The ID of the user who triggered the execution""" total_duration_ms: NotRequired[Nullable[int]] r"""The total duration of the trace in milliseconds""" span_tree: NotRequired[Nullable[WorkflowExecutionTraceSummarySpanTypedDict]] @@ -67,12 +73,21 @@ class WorkflowExecutionTraceSummaryResponse(BaseModel): result: Nullable[Any] r"""The result of the workflow execution, if available""" + workflow_id: OptionalNullable[str] = UNSET + r"""The ID of the workflow""" + + deployment_name: OptionalNullable[str] = UNSET + r"""The name of the deployment that ran this execution""" + parent_execution_id: OptionalNullable[str] = UNSET r"""The parent execution ID of the workflow execution""" run_id: OptionalNullable[str] = UNSET r"""The unique run identifier (database UUID)""" + user_id: OptionalNullable[str] = UNSET + r"""The ID of the user who triggered the execution""" + total_duration_ms: OptionalNullable[int] = UNSET r"""The total duration of the trace in milliseconds""" @@ -82,12 +97,23 @@ class WorkflowExecutionTraceSummaryResponse(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( - ["parent_execution_id", "run_id", "total_duration_ms", "span_tree"] + [ + "workflow_id", + "deployment_name", + "parent_execution_id", + "run_id", + "user_id", + "total_duration_ms", + "span_tree", + ] ) nullable_fields = set( [ + "workflow_id", + "deployment_name", "parent_execution_id", "run_id", + "user_id", "status", "end_time", "total_duration_ms", diff --git a/src/mistralai/client/models/workflowexecutionwithoutresultresponse.py b/src/mistralai/client/models/workflowexecutionwithoutresultresponse.py index 5e7fe852..110c3174 100644 --- a/src/mistralai/client/models/workflowexecutionwithoutresultresponse.py +++ b/src/mistralai/client/models/workflowexecutionwithoutresultresponse.py @@ -28,10 +28,16 @@ class WorkflowExecutionWithoutResultResponseTypedDict(TypedDict): r"""The start time of the workflow execution""" end_time: Nullable[datetime] r"""The end time of the workflow execution, if available""" + workflow_id: NotRequired[Nullable[str]] + r"""The ID of the workflow""" + deployment_name: NotRequired[Nullable[str]] + r"""The name of the deployment that ran this execution""" parent_execution_id: NotRequired[Nullable[str]] r"""The parent execution ID of the workflow execution""" run_id: NotRequired[Nullable[str]] r"""The unique run identifier (database UUID)""" + user_id: NotRequired[Nullable[str]] + r"""The ID of the user who triggered the execution""" total_duration_ms: NotRequired[Nullable[int]] r"""The total duration of the trace in milliseconds""" @@ -55,20 +61,47 @@ class WorkflowExecutionWithoutResultResponse(BaseModel): end_time: Nullable[datetime] r"""The end time of the workflow execution, if available""" + workflow_id: OptionalNullable[str] = UNSET + r"""The ID of the workflow""" + + deployment_name: OptionalNullable[str] = UNSET + r"""The name of the deployment that ran this execution""" + parent_execution_id: OptionalNullable[str] = UNSET r"""The parent execution ID of the workflow execution""" run_id: OptionalNullable[str] = UNSET r"""The unique run identifier (database UUID)""" + user_id: OptionalNullable[str] = UNSET + r"""The ID of the user who triggered the execution""" + total_duration_ms: OptionalNullable[int] = UNSET r"""The total duration of the trace in milliseconds""" @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["parent_execution_id", "run_id", "total_duration_ms"]) + optional_fields = set( + [ + "workflow_id", + "deployment_name", + "parent_execution_id", + "run_id", + "user_id", + "total_duration_ms", + ] + ) nullable_fields = set( - ["parent_execution_id", "run_id", "status", "end_time", "total_duration_ms"] + [ + "workflow_id", + "deployment_name", + "parent_execution_id", + "run_id", + "user_id", + "status", + "end_time", + "total_duration_ms", + ] ) serialized = handler(self) m = {} diff --git a/src/mistralai/client/models/workflowregistration.py b/src/mistralai/client/models/workflowregistration.py index 7c65801d..61df9d85 100644 --- a/src/mistralai/client/models/workflowregistration.py +++ b/src/mistralai/client/models/workflowregistration.py @@ -27,11 +27,13 @@ class WorkflowRegistrationTypedDict(TypedDict): workflow_id: str r"""Workflow ID of the workflow""" deployment_id: NotRequired[Nullable[str]] - r"""Deployment ID this registration belongs to""" + r"""Deprecated. Use deployment_name instead. Will be removed in a future release.""" task_queue: NotRequired[Nullable[str]] - r"""Deprecated. Use deployment_id instead. Will be removed in a future release.""" + r"""Deprecated. Use deployment_name instead. Will be removed in a future release.""" workflow: NotRequired[Nullable[WorkflowTypedDict]] r"""Workflow of the workflow registration""" + deployment_name: NotRequired[Nullable[str]] + r"""Name of the deployment this registration belongs to""" compatible_with_chat_assistant: NotRequired[bool] r"""Whether the workflow is compatible with chat assistant""" @@ -45,8 +47,13 @@ class WorkflowRegistration(BaseModel): workflow_id: str r"""Workflow ID of the workflow""" - deployment_id: OptionalNullable[str] = UNSET - r"""Deployment ID this registration belongs to""" + deployment_id: Annotated[ + OptionalNullable[str], + pydantic.Field( + deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible." + ), + ] = UNSET + r"""Deprecated. Use deployment_name instead. Will be removed in a future release.""" task_queue: Annotated[ OptionalNullable[str], @@ -54,11 +61,14 @@ class WorkflowRegistration(BaseModel): deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible." ), ] = UNSET - r"""Deprecated. Use deployment_id instead. Will be removed in a future release.""" + r"""Deprecated. Use deployment_name instead. Will be removed in a future release.""" workflow: OptionalNullable[Workflow] = UNSET r"""Workflow of the workflow registration""" + deployment_name: OptionalNullable[str] = UNSET + r"""Name of the deployment this registration belongs to""" + compatible_with_chat_assistant: Optional[bool] = False r"""Whether the workflow is compatible with chat assistant""" @@ -69,10 +79,13 @@ def serialize_model(self, handler): "deployment_id", "task_queue", "workflow", + "deployment_name", "compatible_with_chat_assistant", ] ) - nullable_fields = set(["deployment_id", "task_queue", "workflow"]) + nullable_fields = set( + ["deployment_id", "task_queue", "workflow", "deployment_name"] + ) serialized = handler(self) m = {} diff --git a/src/mistralai/client/models/workflowregistrationwithworkerstatus.py b/src/mistralai/client/models/workflowregistrationwithworkerstatus.py index 62c379d9..0b43a2e9 100644 --- a/src/mistralai/client/models/workflowregistrationwithworkerstatus.py +++ b/src/mistralai/client/models/workflowregistrationwithworkerstatus.py @@ -29,11 +29,13 @@ class WorkflowRegistrationWithWorkerStatusTypedDict(TypedDict): active: bool r"""Whether the workflow registration is active""" deployment_id: NotRequired[Nullable[str]] - r"""Deployment ID this registration belongs to""" + r"""Deprecated. Use deployment_name instead. Will be removed in a future release.""" task_queue: NotRequired[Nullable[str]] - r"""Deprecated. Use deployment_id instead. Will be removed in a future release.""" + r"""Deprecated. Use deployment_name instead. Will be removed in a future release.""" workflow: NotRequired[Nullable[WorkflowTypedDict]] r"""Workflow of the workflow registration""" + deployment_name: NotRequired[Nullable[str]] + r"""Name of the deployment this registration belongs to""" compatible_with_chat_assistant: NotRequired[bool] r"""Whether the workflow is compatible with chat assistant""" @@ -50,8 +52,13 @@ class WorkflowRegistrationWithWorkerStatus(BaseModel): active: bool r"""Whether the workflow registration is active""" - deployment_id: OptionalNullable[str] = UNSET - r"""Deployment ID this registration belongs to""" + deployment_id: Annotated[ + OptionalNullable[str], + pydantic.Field( + deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible." + ), + ] = UNSET + r"""Deprecated. Use deployment_name instead. Will be removed in a future release.""" task_queue: Annotated[ OptionalNullable[str], @@ -59,11 +66,14 @@ class WorkflowRegistrationWithWorkerStatus(BaseModel): deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible." ), ] = UNSET - r"""Deprecated. Use deployment_id instead. Will be removed in a future release.""" + r"""Deprecated. Use deployment_name instead. Will be removed in a future release.""" workflow: OptionalNullable[Workflow] = UNSET r"""Workflow of the workflow registration""" + deployment_name: OptionalNullable[str] = UNSET + r"""Name of the deployment this registration belongs to""" + compatible_with_chat_assistant: Optional[bool] = False r"""Whether the workflow is compatible with chat assistant""" @@ -74,10 +84,13 @@ def serialize_model(self, handler): "deployment_id", "task_queue", "workflow", + "deployment_name", "compatible_with_chat_assistant", ] ) - nullable_fields = set(["deployment_id", "task_queue", "workflow"]) + nullable_fields = set( + ["deployment_id", "task_queue", "workflow", "deployment_name"] + ) serialized = handler(self) m = {} diff --git a/src/mistralai/client/ocr.py b/src/mistralai/client/ocr.py index 0907ce6d..e63d1aeb 100644 --- a/src/mistralai/client/ocr.py +++ b/src/mistralai/client/ocr.py @@ -32,6 +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, confidence_scores_granularity: OptionalNullable[ models.ConfidenceScoresGranularity ] = UNSET, @@ -54,6 +55,7 @@ def process( :param table_format: :param extract_header: :param extract_footer: + :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 retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -90,6 +92,7 @@ def process( table_format=table_format, extract_header=extract_header, extract_footer=extract_footer, + include_blocks=include_blocks, confidence_scores_granularity=confidence_scores_granularity, ) @@ -172,6 +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, confidence_scores_granularity: OptionalNullable[ models.ConfidenceScoresGranularity ] = UNSET, @@ -194,6 +198,7 @@ async def process_async( :param table_format: :param extract_header: :param extract_footer: + :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 retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -230,6 +235,7 @@ async def process_async( table_format=table_format, extract_header=extract_header, extract_footer=extract_footer, + include_blocks=include_blocks, confidence_scores_granularity=confidence_scores_granularity, ) diff --git a/uv.lock b/uv.lock index 20efa979..6424227e 100644 --- a/uv.lock +++ b/uv.lock @@ -1047,7 +1047,7 @@ wheels = [ [[package]] name = "mistralai" -version = "2.4.13" +version = "2.4.14" source = { editable = "." } dependencies = [ { name = "eval-type-backport" },