diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index dc44fd3b..e7b3ebfb 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: 880db51e79b2d35e6c3cfb35deebc5f2 + docChecksum: eed1e14031b7c6a8e5aab140c8de4fc7 docVersion: 1.0.0 speakeasyVersion: 1.761.1 generationVersion: 2.879.6 - releaseVersion: 2.3.1 - configChecksum: cfc814ae7d34226a7aa57f42b133b76e + releaseVersion: 2.3.2 + configChecksum: c93d1019e9a3a1a37a0c7d7bf48aa381 repoURL: https://github.com/mistralai/client-python.git installationURL: https://github.com/mistralai/client-python.git published: true persistentEdits: - generation_id: da4d1522-be42-4fed-8e47-6a1a86083dd9 - pristine_commit_hash: 0af2a650df50ba629dd4358d9ecd97a7a865b28a - pristine_tree_hash: 21954a44b6b1fcad3bcbbb7ec53a7846e7141605 + generation_id: 87bc3ff0-98ad-4b9d-9b68-f8eb30116ac5 + pristine_commit_hash: 8b68490f4bb48a091c4b0e16a738af9e7ff83490 + pristine_tree_hash: b87817d13d249439af787f92e305f67aeaa2ef27 features: python: acceptHeaders: 3.0.0 @@ -412,8 +412,8 @@ trackedFiles: pristine_git_object: ba9c95eab2c1e4f080e39e8804a5de222e052ee6 docs/models/chatcompletionchoice.md: id: 0d15c59ab501 - last_write_checksum: sha1:2b449f1c0c7d2f7e7fade4ba2b66892e042ec52e - pristine_git_object: 61a2bec17657ed2ce75e5b2ac731c2c339e03987 + last_write_checksum: sha1:f3c9fa3cc092674a36bf28552b6900d62871b789 + pristine_git_object: 79d24a335c7ca1acb1469213d60ced2ec4987461 docs/models/chatcompletionchoicefinishreason.md: id: 225764da91d3 last_write_checksum: sha1:160ff1297bfbaa9158e575b8bd7ab573533c8f9f @@ -992,8 +992,8 @@ trackedFiles: pristine_git_object: 0afc04f2ce115a8f48aa5f2e99b0fe02facce90e docs/models/deltamessage.md: id: 6c5ed6b60968 - last_write_checksum: sha1:00052476b9b2474dbc149f18dd18c71c86d0fc74 - pristine_git_object: e0ee575f3fce7c312114ce8c5390efc5c4854952 + last_write_checksum: sha1:c49575abe1bb581db1ae497b7a3b1ff2820abfbc + pristine_git_object: c2395e1bb06f983a2f56ab5900f126ed99ae9c11 docs/models/deltamessagecontent.md: id: 7307bedc8733 last_write_checksum: sha1:a1211b8cb576ad1358e68983680ee326c3920a5e @@ -1012,8 +1012,8 @@ trackedFiles: pristine_git_object: f6f12836457eb150c477d37d7325238dac25ded5 docs/models/deploymentworkerresponse.md: id: 07cd9c89237a - last_write_checksum: sha1:7da6e9f5df0b2d81ae899b28a3c5cdb9fbd2b0d3 - pristine_git_object: 9b76278e391626a3a8ab3607def03730f169215b + last_write_checksum: sha1:1f8b60ad6e17714100626106c2de16f6aca273e4 + pristine_git_object: afdcca834da74cc33711b1aa229f5ccf66eceefd docs/models/document.md: id: cd1d2a444370 last_write_checksum: sha1:c10641b02547bedcc982b8997097083dfc562598 @@ -1728,8 +1728,8 @@ trackedFiles: pristine_git_object: 6e1e04c39c15a85d96710f8d3a8ed11a22412816 docs/models/librarieslistv1request.md: id: eb6047c126d3 - last_write_checksum: sha1:9079cd35336bd61bcf0a46c1b350671a5e7df9df - pristine_git_object: b9f99a17907fad6427542181936fb962ca873ed3 + last_write_checksum: sha1:7bd4a00dfe54162bd3c315ca0ab2990133969390 + pristine_git_object: 37352ee1277aa9576da968ce44b0ffda772715f7 docs/models/librariessharecreatev1request.md: id: 99e7bb8f7fed last_write_checksum: sha1:f37578c7882eab83cca3cb2aaf1ac17b9a21934c @@ -1988,8 +1988,8 @@ trackedFiles: pristine_git_object: 89f80436474e3c2293bb4fcafce11e626e2cdf79 docs/models/observabilityerrorcode.md: id: 61d16ff95b87 - last_write_checksum: sha1:e5b3959fbd1febe3c727d1e93c8df71f31b2ae9f - pristine_git_object: c2afc4d0a5b26d3b1fa83a1169e7625012340137 + last_write_checksum: sha1:db506572c8c6e989127c270dd65d4ea98e281c58 + pristine_git_object: d8532e86b041e814f56b11ebae900dcdc88efc60 docs/models/observabilityerrordetail.md: id: 38061447dfbb last_write_checksum: sha1:1da7bf6e72c2f972b0e22f0201a1cb9b76f53ccd @@ -3156,8 +3156,8 @@ trackedFiles: pristine_git_object: 34d167398ac81ce78d50c1498c01f4c74917ce7f docs/sdks/libraries/README.md: id: df9a982905a3 - last_write_checksum: sha1:4d37c4de9e0d6e8693ed2f19e6512412eae06932 - pristine_git_object: 1ae444f1ffa634c276c4695d9d978a6db7c59dc1 + last_write_checksum: sha1:627694b529bd8eb7fea6b8cfcfafa0c07282bf00 + pristine_git_object: 7d244f79322f6e7d5e01c9279b8abce634d6f1f7 docs/sdks/metrics/README.md: id: a8545d964e21 last_write_checksum: sha1:0c559bd570e162c994c6125058f3712e24bc576b @@ -3228,8 +3228,8 @@ trackedFiles: pristine_git_object: 036d44b8cfc51599873bd5c401a6aed30450536c src/mistralai/client/_version.py: id: cc807b30de19 - last_write_checksum: sha1:9a1feeb59a26a1eef191112013191e9f32399ef6 - pristine_git_object: aa94ac8d12a7009a1cd3a1c33379fe4b341e71c2 + last_write_checksum: sha1:dca0e0738b2373b2584935344961ec24f471cfc3 + pristine_git_object: aa5d0670adfd0d8f55285e170ea83e032364276f src/mistralai/client/accesses.py: id: 76fc53bfcf59 last_write_checksum: sha1:0c417e7a0bf9dfc523dbabee816b73d7a4d52f1d @@ -3284,8 +3284,8 @@ trackedFiles: pristine_git_object: fc9d6319b4d321e21a7b7d73515f9d13b9ac8a2a src/mistralai/client/conversations.py: id: 40692a878064 - last_write_checksum: sha1:b975766d73e0c407ae43bd79c52fa604233fbb73 - pristine_git_object: 49810eb612208745b2a2cf26fc8419245f86520b + last_write_checksum: sha1:3e52c3d1441c9f276ff03bd6ed6fd74b6752ab1a + pristine_git_object: 1e48d6c421cc6428c247d0643df3324f866be4e0 src/mistralai/client/datasets.py: id: e5a6ae2a2d85 last_write_checksum: sha1:52f8dc6df7430622882b02e8d01d8da02e4e998f @@ -3368,8 +3368,8 @@ trackedFiles: pristine_git_object: 210a147a86956d2da0d2e80d51d37bf4fa3bafd4 src/mistralai/client/libraries.py: id: d43a5f78045f - last_write_checksum: sha1:2c86ed3940b6e4841807d6b36e67fecd1bb44525 - pristine_git_object: 053cb65df029ea9899e0b565dec6e34e3525b3e0 + last_write_checksum: sha1:51838e6fd61bf7f0aabe4df449f53e9b1e8f9401 + pristine_git_object: fd9dbc5fbc7f853a638c6377bf7e4cc41c090da4 src/mistralai/client/metrics.py: id: 937cb03f8130 last_write_checksum: sha1:0f650d881a321f34f03cf53d841bdb422516d699 @@ -3636,8 +3636,8 @@ trackedFiles: pristine_git_object: cf2aa78af3ffc747d557422b83551075b83e601d src/mistralai/client/models/chatcompletionchoice.py: id: 7e6a512f6a04 - last_write_checksum: sha1:07b02d246efbe5d61666488d23a5913b13cfdcb2 - pristine_git_object: ccaedb9b431030b74d4a5779c9164b0466dbfb4f + last_write_checksum: sha1:1ca89c543a5a01368910a35bb2381c4340fdd2e7 + pristine_git_object: ab8f331f35e80425590a13948bdab8cadcb4d394 src/mistralai/client/models/chatcompletionevent.py: id: d85484d0205e last_write_checksum: sha1:b709e6f710b62fee646eb7d12b24d69125522088 @@ -4024,8 +4024,8 @@ trackedFiles: pristine_git_object: 4bc6c5e678b66ac04f9a08b27cf392a2903a96a6 src/mistralai/client/models/deltamessage.py: id: 68f53d67a140 - last_write_checksum: sha1:f1b774b3febc9388ea8175d266f585aa2954af55 - pristine_git_object: 3823651b3030944520aad12c7e6f6b4e8bbf2a8c + last_write_checksum: sha1:5653c52c448643feab36e03ba2c73b602438149f + pristine_git_object: f0ca3282d3d26bbdcf9382063b14c185c3758faa src/mistralai/client/models/deploymentdetailresponse.py: id: 7f4a17a1c7ca last_write_checksum: sha1:c0d41bf5e5fbe06811aa3a6ddeb3b1cfab2ab8b6 @@ -4040,8 +4040,8 @@ trackedFiles: pristine_git_object: 7f8ed3a346fa92bf7c7ddfc72984a51442e58d0c src/mistralai/client/models/deploymentworkerresponse.py: id: b11a9947bd19 - last_write_checksum: sha1:e57ad0af89e80ac9b2b40f9dbe1f6e6708efde3e - pristine_git_object: 0adcb4d6ee081b1bb699c1ebb2b8a4cec7bcb771 + last_write_checksum: sha1:cf27528873306d9137f08c82c87fa99b44ed5fc5 + pristine_git_object: 2955dc485bbf1017a728cb0562baf948083e1b13 src/mistralai/client/models/document.py: id: fbbf7428328c last_write_checksum: sha1:bc290f10562aaf9c24bd14ab3d2a31e62f535042 @@ -4664,8 +4664,8 @@ trackedFiles: pristine_git_object: 7a51d6053aa2cf2e6524a80487fe9549eec3dfa1 src/mistralai/client/models/libraries_list_v1op.py: id: 2d9b1b4deeb0 - last_write_checksum: sha1:7f853d8cd4a4c26ddb2ff2b6e7c0f35d2a2e540e - pristine_git_object: 088a41b2cf773965583fa980f9067381ca40cca8 + last_write_checksum: sha1:1c99dd9165c57ca19d94daf81f31c378125d280b + pristine_git_object: cac06dadbb33c7bf28b276b4c51f569a885ac44e src/mistralai/client/models/libraries_share_create_v1op.py: id: feaacfd46dd3 last_write_checksum: sha1:cdb7e60f1aceb2c7aa54fe2b9ba5dafc2bb70995 @@ -4876,8 +4876,8 @@ trackedFiles: pristine_git_object: 76ebfd0de6c7457bcecb1aee026ea16ffa8a7cbd src/mistralai/client/models/observabilityerrorcode.py: id: ae572b470a30 - last_write_checksum: sha1:fb2ec69dac101416f58bc9fc3e3828b3ab39e10f - pristine_git_object: f7ff71f8285e62f2bad5fd678865c96e40c38253 + last_write_checksum: sha1:48e211ca35c9df84914a119d118e2645862dc557 + pristine_git_object: 6c1826ed797ecb1a4b1e1e8abd2477bae3cdce60 src/mistralai/client/models/observabilityerrordetail.py: id: cb6e8a484a38 last_write_checksum: sha1:3a7991f57573edee24780bc4b3907c8426aa3fa6 @@ -8312,7 +8312,57 @@ examples: application/json: {"scheduler_url": "https://closed-passport.info/", "namespace": "", "tls": false} examplesVersion: 1.0.2 generatedTests: {} -releaseNotes: "## Python SDK Changes:\n* `mistral.ocr.process()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.pages[]` **Changed**\n* `mistral.chat.complete()`: `response.choices[]` **Changed**\n* `mistral.fim.complete()`: `response.choices[]` **Changed**\n* `mistral.agents.complete()`: `response.choices[]` **Changed**\n* `mistral.workflows.executions.stream()`: `request.event_source` **Changed**\n" +releaseNotes: | + ## Python SDK Changes: + * `mistral.chat.complete()`: `response.choices[].messages[]` **Changed** (Breaking ⚠️) + * `mistral.agents.complete()`: `response.choices[].messages[]` **Changed** (Breaking ⚠️) + * `mistral.fim.complete()`: `response.choices[].messages[]` **Changed** (Breaking ⚠️) + * `mistral.beta.observability.datasets.delete()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.campaigns.delete()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.chat_completion_events.judge()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.chat_completion_events.fields.list()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.chat_completion_events.fields.fetch_options()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.chat_completion_events.fields.fetch_option_counts()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.judges.create()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.judges.list()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.judges.fetch()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.judges.delete()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.judges.update()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.judges.judge_conversation()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.campaigns.create()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.campaigns.list()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.campaigns.fetch()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.datasets.list_records()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.campaigns.fetch_status()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.campaigns.list_events()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.datasets.create()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.datasets.list()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.datasets.fetch()`: `error.detail.error_code` **Changed** + * `mistral.beta.libraries.list()`: `request` **Changed** + * `mistral.beta.observability.chat_completion_events.fetch_similar_events()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.datasets.update()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.datasets.records.update_properties()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.datasets.import_from_campaign()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.datasets.import_from_explorer()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.datasets.import_from_file()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.datasets.import_from_playground()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.datasets.import_from_dataset_records()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.datasets.export_to_jsonl()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.datasets.fetch_task()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.datasets.list_tasks()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.datasets.records.fetch()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.datasets.records.delete()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.datasets.records.bulk_delete()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.datasets.records.judge()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.datasets.records.update_payload()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.datasets.create_record()`: `error.detail.error_code` **Changed** + * `mistral.beta.observability.chat_completion_events.fetch()`: `error.detail.error_code` **Changed** + * `mistral.chat.stream()`: `response.[].data.choices[].delta` **Changed** + * `mistral.beta.observability.chat_completion_events.search_ids()`: `error.detail.error_code` **Changed** + * `mistral.fim.stream()`: `response.[].data.choices[].delta` **Changed** + * `mistral.beta.observability.chat_completion_events.search()`: `error.detail.error_code` **Changed** + * `mistral.agents.stream()`: `response.[].data.choices[].delta` **Changed** + * `mistral.workflows.deployments.get_deployment()`: `response.workers[].is_active` **Added** generatedFiles: - .gitattributes - .vscode/settings.json diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index bb768021..dd7683bd 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -32,7 +32,7 @@ generation: generateNewTests: false skipResponseBodyAssertions: false python: - version: 2.3.1 + version: 2.3.2 additionalDependencies: dev: pytest: ^8.2.2 diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index c77ab8e9..0d0b491d 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -16,8 +16,8 @@ sources: - speakeasy-sdk-regen-1773084660 mistral-openapi: sourceNamespace: mistral-openapi - sourceRevisionDigest: sha256:4d69c08534e6e63c9fadb6f11344bf178f9dbf962fe0e319013c96096a0b5244 - sourceBlobDigest: sha256:3cbfbae3d8be0884f2d588d3f9eec1b70c811931631a7ac240b7e7444cc081da + sourceRevisionDigest: sha256:5a5b1104accc69fa8fca26e9abd7e089535bbffd20f667013984cbe9e9cf819d + sourceBlobDigest: sha256:3f88e405b674dc0f964605664fc15629b119a4481b08a5c8ac0e79dddcb19f91 tags: - latest targets: @@ -38,10 +38,10 @@ targets: mistralai-sdk: source: mistral-openapi sourceNamespace: mistral-openapi - sourceRevisionDigest: sha256:4d69c08534e6e63c9fadb6f11344bf178f9dbf962fe0e319013c96096a0b5244 - sourceBlobDigest: sha256:3cbfbae3d8be0884f2d588d3f9eec1b70c811931631a7ac240b7e7444cc081da + sourceRevisionDigest: sha256:5a5b1104accc69fa8fca26e9abd7e089535bbffd20f667013984cbe9e9cf819d + sourceBlobDigest: sha256:3f88e405b674dc0f964605664fc15629b119a4481b08a5c8ac0e79dddcb19f91 codeSamplesNamespace: mistral-openapi-code-samples - codeSamplesRevisionDigest: sha256:6afb787e5bd692753cade5670341d5cfd2307608034185cd6641ac02990b7104 + codeSamplesRevisionDigest: sha256:eca5f8b43169d558d70aa5eda99c74bd6853a4e08ee024de57b42ef1f07dce50 workflow: workflowVersion: 1.0.0 speakeasyVersion: 1.761.1 diff --git a/RELEASES.md b/RELEASES.md index a0f354c9..c7adc373 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -548,4 +548,14 @@ Based on: ### Generated - [python v2.3.1] . ### Releases -- [PyPI v2.3.1] https://pypi.org/project/mistralai/2.3.1 - . \ No newline at end of file +- [PyPI v2.3.1] https://pypi.org/project/mistralai/2.3.1 - . + +## 2026-04-10 13:42:26 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.761.1 (2.879.6) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v2.3.2] . +### Releases +- [PyPI v2.3.2] https://pypi.org/project/mistralai/2.3.2 - . \ No newline at end of file diff --git a/docs/models/chatcompletionchoice.md b/docs/models/chatcompletionchoice.md index 61a2bec1..79d24a33 100644 --- a/docs/models/chatcompletionchoice.md +++ b/docs/models/chatcompletionchoice.md @@ -7,5 +7,5 @@ | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | | `index` | *int* | :heavy_check_mark: | N/A | 0 | | `message` | [Optional[models.AssistantMessage]](../models/assistantmessage.md) | :heavy_minus_sign: | N/A | | -| `messages` | List[[models.AssistantMessage](../models/assistantmessage.md)] | :heavy_minus_sign: | N/A | | +| `messages` | List[[models.DeltaMessage](../models/deltamessage.md)] | :heavy_minus_sign: | N/A | | | `finish_reason` | [models.ChatCompletionChoiceFinishReason](../models/chatcompletionchoicefinishreason.md) | :heavy_check_mark: | N/A | stop | \ No newline at end of file diff --git a/docs/models/deltamessage.md b/docs/models/deltamessage.md index e0ee575f..c2395e1b 100644 --- a/docs/models/deltamessage.md +++ b/docs/models/deltamessage.md @@ -3,8 +3,11 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -| `role` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | -| `content` | [OptionalNullable[models.DeltaMessageContent]](../models/deltamessagecontent.md) | :heavy_minus_sign: | N/A | -| `tool_calls` | List[[models.ToolCall](../models/toolcall.md)] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `role` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `content` | [OptionalNullable[models.DeltaMessageContent]](../models/deltamessagecontent.md) | :heavy_minus_sign: | N/A | +| `tool_calls` | List[[models.ToolCall](../models/toolcall.md)] | :heavy_minus_sign: | N/A | +| `tool_call_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `index` | *OptionalNullable[int]* | :heavy_minus_sign: | If the completion returns multiple messages, this is to specify which message this delta is for. | +| `metadata` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/deploymentworkerresponse.md b/docs/models/deploymentworkerresponse.md index 9b76278e..afdcca83 100644 --- a/docs/models/deploymentworkerresponse.md +++ b/docs/models/deploymentworkerresponse.md @@ -7,4 +7,5 @@ | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | | `name` | *str* | :heavy_check_mark: | Worker name | | `created_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | When the worker first registered | -| `updated_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | When the worker last registered | \ No newline at end of file +| `updated_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | When the worker last registered | +| `is_active` | *bool* | :heavy_check_mark: | Whether this worker's liveness key is currently alive | \ No newline at end of file diff --git a/docs/models/librarieslistv1request.md b/docs/models/librarieslistv1request.md index b9f99a17..37352ee1 100644 --- a/docs/models/librarieslistv1request.md +++ b/docs/models/librarieslistv1request.md @@ -3,7 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `page_size` | *Optional[int]* | :heavy_minus_sign: | N/A | -| `page` | *Optional[int]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `page_size` | *Optional[int]* | :heavy_minus_sign: | N/A | +| `page` | *Optional[int]* | :heavy_minus_sign: | N/A | +| `search` | *OptionalNullable[str]* | :heavy_minus_sign: | Case-insensitive search on the library name. | +| `filter_owned_by_me` | *OptionalNullable[bool]* | :heavy_minus_sign: | Filter libraries by whether they were created by the current authenticated identity. Set to true for created by me, false for only libraries shared with me, or None to disable this filter. | \ No newline at end of file diff --git a/docs/models/observabilityerrorcode.md b/docs/models/observabilityerrorcode.md index c2afc4d0..d8532e86 100644 --- a/docs/models/observabilityerrorcode.md +++ b/docs/models/observabilityerrorcode.md @@ -60,3 +60,6 @@ This is an open enum. Unrecognized values will not fail type checks. - `"TEMPLATE_SYNTAX_ERROR"` - `"PROJECT_NAME_ALREADY_EXISTS"` - `"EVALUATION_NAME_ALREADY_EXISTS"` +- `"TRACES_FILTER_QUERY_PARSE_ERROR"` +- `"TRACE_NOT_FOUND"` +- `"SPAN_NOT_FOUND"` diff --git a/docs/sdks/libraries/README.md b/docs/sdks/libraries/README.md index 25cd04b2..1f3d927c 100644 --- a/docs/sdks/libraries/README.md +++ b/docs/sdks/libraries/README.md @@ -37,11 +37,13 @@ with Mistral( ### Parameters -| Parameter | Type | Required | Description | -| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | -| `page_size` | *Optional[int]* | :heavy_minus_sign: | N/A | -| `page` | *Optional[int]* | :heavy_minus_sign: | N/A | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | +| Parameter | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `page_size` | *Optional[int]* | :heavy_minus_sign: | N/A | +| `page` | *Optional[int]* | :heavy_minus_sign: | N/A | +| `search` | *OptionalNullable[str]* | :heavy_minus_sign: | Case-insensitive search on the library name. | +| `filter_owned_by_me` | *OptionalNullable[bool]* | :heavy_minus_sign: | Filter libraries by whether they were created by the current authenticated identity. Set to true for created by me, false for only libraries shared with me, or None to disable this filter. | +| `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/pyproject.toml b/pyproject.toml index 2aaac4d4..75f188b1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "mistralai" -version = "2.3.1" +version = "2.3.2" 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 aa94ac8d..aa5d0670 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.3.1" +__version__: str = "2.3.2" __openapi_doc_version__: str = "1.0.0" __gen_version__: str = "2.879.6" -__user_agent__: str = "speakeasy-sdk/python 2.3.1 2.879.6 1.0.0 mistralai" +__user_agent__: str = "speakeasy-sdk/python 2.3.2 2.879.6 1.0.0 mistralai" try: if __package__ is not None: diff --git a/src/mistralai/client/conversations.py b/src/mistralai/client/conversations.py index ed2e0fce..3144b919 100644 --- a/src/mistralai/client/conversations.py +++ b/src/mistralai/client/conversations.py @@ -97,6 +97,25 @@ async def run_async( from mistralai.extra.run.context import _validate_run # pylint: disable=import-outside-toplevel from mistralai.extra.run.tools import get_function_calls # pylint: disable=import-outside-toplevel + # Check if inputs contain deferred responses - process them + pending_tool_confirmations = None + if inputs and isinstance(inputs, list): + deferred_inputs = typing.cast( + List[DeferredToolCallResponse], + [i for i in inputs if _is_deferred_response(i)], + ) + other_inputs = typing.cast( + List[InputEntries], [i for i in inputs if not _is_deferred_response(i)] + ) + if deferred_inputs: + ( + processed, + pending_tool_confirmations, + ) = await _process_deferred_responses(run_ctx, deferred_inputs) + inputs = other_inputs + processed + if not pending_tool_confirmations: + pending_tool_confirmations = None + # Check if inputs contain deferred responses - process them pending_tool_confirmations = None if inputs and isinstance(inputs, list): @@ -270,6 +289,7 @@ async def run_stream_async( async def run_generator() -> AsyncGenerator[ Union[RunResultEvents, RunResult], None ]: + nonlocal pending_tool_confirmations nonlocal pending_tool_confirmations current_entries = input_entries while True: diff --git a/src/mistralai/client/libraries.py b/src/mistralai/client/libraries.py index 053cb65d..fd9dbc5f 100644 --- a/src/mistralai/client/libraries.py +++ b/src/mistralai/client/libraries.py @@ -37,6 +37,8 @@ def list( *, page_size: Optional[int] = 100, page: Optional[int] = 0, + search: OptionalNullable[str] = UNSET, + filter_owned_by_me: OptionalNullable[bool] = UNSET, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -48,6 +50,8 @@ def list( :param page_size: :param page: + :param search: Case-insensitive search on the library name. + :param filter_owned_by_me: Filter libraries by whether they were created by the current authenticated identity. Set to true for created by me, false for only libraries shared with me, or None to disable this filter. :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 @@ -69,6 +73,8 @@ def list( request = models.LibrariesListV1Request( page_size=page_size, page=page, + search=search, + filter_owned_by_me=filter_owned_by_me, ) req = self._build_request( @@ -133,6 +139,8 @@ async def list_async( *, page_size: Optional[int] = 100, page: Optional[int] = 0, + search: OptionalNullable[str] = UNSET, + filter_owned_by_me: OptionalNullable[bool] = UNSET, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -144,6 +152,8 @@ async def list_async( :param page_size: :param page: + :param search: Case-insensitive search on the library name. + :param filter_owned_by_me: Filter libraries by whether they were created by the current authenticated identity. Set to true for created by me, false for only libraries shared with me, or None to disable this filter. :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 @@ -165,6 +175,8 @@ async def list_async( request = models.LibrariesListV1Request( page_size=page_size, page=page, + search=search, + filter_owned_by_me=filter_owned_by_me, ) req = self._build_request_async( diff --git a/src/mistralai/client/models/chatcompletionchoice.py b/src/mistralai/client/models/chatcompletionchoice.py index ccaedb9b..ab8f331f 100644 --- a/src/mistralai/client/models/chatcompletionchoice.py +++ b/src/mistralai/client/models/chatcompletionchoice.py @@ -3,6 +3,7 @@ from __future__ import annotations from .assistantmessage import AssistantMessage, AssistantMessageTypedDict +from .deltamessage import DeltaMessage, DeltaMessageTypedDict from mistralai.client.types import BaseModel, UNSET_SENTINEL, UnrecognizedStr from pydantic import model_serializer from typing import List, Literal, Optional, Union @@ -25,7 +26,7 @@ class ChatCompletionChoiceTypedDict(TypedDict): index: int finish_reason: ChatCompletionChoiceFinishReason message: NotRequired[AssistantMessageTypedDict] - messages: NotRequired[List[AssistantMessageTypedDict]] + messages: NotRequired[List[DeltaMessageTypedDict]] class ChatCompletionChoice(BaseModel): @@ -35,7 +36,7 @@ class ChatCompletionChoice(BaseModel): message: Optional[AssistantMessage] = None - messages: Optional[List[AssistantMessage]] = None + messages: Optional[List[DeltaMessage]] = None @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/mistralai/client/models/deltamessage.py b/src/mistralai/client/models/deltamessage.py index 3823651b..f0ca3282 100644 --- a/src/mistralai/client/models/deltamessage.py +++ b/src/mistralai/client/models/deltamessage.py @@ -12,7 +12,7 @@ UNSET_SENTINEL, ) from pydantic import model_serializer -from typing import List, Union +from typing import Any, Dict, List, Union from typing_extensions import NotRequired, TypeAliasType, TypedDict @@ -30,6 +30,10 @@ class DeltaMessageTypedDict(TypedDict): role: NotRequired[Nullable[str]] content: NotRequired[Nullable[DeltaMessageContentTypedDict]] tool_calls: NotRequired[Nullable[List[ToolCallTypedDict]]] + tool_call_id: NotRequired[Nullable[str]] + index: NotRequired[Nullable[int]] + r"""If the completion returns multiple messages, this is to specify which message this delta is for.""" + metadata: NotRequired[Nullable[Dict[str, Any]]] class DeltaMessage(BaseModel): @@ -39,10 +43,21 @@ class DeltaMessage(BaseModel): tool_calls: OptionalNullable[List[ToolCall]] = UNSET + tool_call_id: OptionalNullable[str] = UNSET + + index: OptionalNullable[int] = UNSET + r"""If the completion returns multiple messages, this is to specify which message this delta is for.""" + + metadata: OptionalNullable[Dict[str, Any]] = UNSET + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["role", "content", "tool_calls"]) - nullable_fields = set(["role", "content", "tool_calls"]) + optional_fields = set( + ["role", "content", "tool_calls", "tool_call_id", "index", "metadata"] + ) + nullable_fields = set( + ["role", "content", "tool_calls", "tool_call_id", "index", "metadata"] + ) serialized = handler(self) m = {} diff --git a/src/mistralai/client/models/deploymentworkerresponse.py b/src/mistralai/client/models/deploymentworkerresponse.py index 0adcb4d6..2955dc48 100644 --- a/src/mistralai/client/models/deploymentworkerresponse.py +++ b/src/mistralai/client/models/deploymentworkerresponse.py @@ -14,6 +14,8 @@ class DeploymentWorkerResponseTypedDict(TypedDict): r"""When the worker first registered""" updated_at: datetime r"""When the worker last registered""" + is_active: bool + r"""Whether this worker's liveness key is currently alive""" class DeploymentWorkerResponse(BaseModel): @@ -25,3 +27,6 @@ class DeploymentWorkerResponse(BaseModel): updated_at: datetime r"""When the worker last registered""" + + is_active: bool + r"""Whether this worker's liveness key is currently alive""" diff --git a/src/mistralai/client/models/libraries_list_v1op.py b/src/mistralai/client/models/libraries_list_v1op.py index 088a41b2..cac06dad 100644 --- a/src/mistralai/client/models/libraries_list_v1op.py +++ b/src/mistralai/client/models/libraries_list_v1op.py @@ -2,7 +2,13 @@ # @generated-id: 2d9b1b4deeb0 from __future__ import annotations -from mistralai.client.types import BaseModel, UNSET_SENTINEL +from mistralai.client.types import ( + BaseModel, + Nullable, + OptionalNullable, + UNSET, + UNSET_SENTINEL, +) from mistralai.client.utils import FieldMetadata, QueryParamMetadata from pydantic import model_serializer from typing import Optional @@ -12,6 +18,10 @@ class LibrariesListV1RequestTypedDict(TypedDict): page_size: NotRequired[int] page: NotRequired[int] + search: NotRequired[Nullable[str]] + r"""Case-insensitive search on the library name.""" + filter_owned_by_me: NotRequired[Nullable[bool]] + r"""Filter libraries by whether they were created by the current authenticated identity. Set to true for created by me, false for only libraries shared with me, or None to disable this filter.""" class LibrariesListV1Request(BaseModel): @@ -25,18 +35,39 @@ class LibrariesListV1Request(BaseModel): FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = 0 + search: Annotated[ + OptionalNullable[str], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = UNSET + r"""Case-insensitive search on the library name.""" + + filter_owned_by_me: Annotated[ + OptionalNullable[bool], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = UNSET + r"""Filter libraries by whether they were created by the current authenticated identity. Set to true for created by me, false for only libraries shared with me, or None to disable this filter.""" + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["page_size", "page"]) + optional_fields = set(["page_size", "page", "search", "filter_owned_by_me"]) + nullable_fields = set(["search", "filter_owned_by_me"]) 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: + 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/observabilityerrorcode.py b/src/mistralai/client/models/observabilityerrorcode.py index f7ff71f8..6c1826ed 100644 --- a/src/mistralai/client/models/observabilityerrorcode.py +++ b/src/mistralai/client/models/observabilityerrorcode.py @@ -54,6 +54,9 @@ "TEMPLATE_SYNTAX_ERROR", "PROJECT_NAME_ALREADY_EXISTS", "EVALUATION_NAME_ALREADY_EXISTS", + "TRACES_FILTER_QUERY_PARSE_ERROR", + "TRACE_NOT_FOUND", + "SPAN_NOT_FOUND", ], UnrecognizedStr, ] diff --git a/uv.lock b/uv.lock index 9393cb17..2b942101 100644 --- a/uv.lock +++ b/uv.lock @@ -560,7 +560,7 @@ wheels = [ [[package]] name = "mistralai" -version = "2.3.1" +version = "2.3.2" source = { editable = "." } dependencies = [ { name = "eval-type-backport" },