diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index dc44fd3b..d95401d1 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: 94016b67-0197-4c47-8971-03699b74c8ec + pristine_commit_hash: 30c801169d845691976b8461c84cee5605539af3 + pristine_tree_hash: e097ca134b4b93f298c45c44a91ea72b7caa16bf 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 @@ -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..f35d6e7d 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:ef63ff6a2caa4da1d44006c56b8bd1968ed33068c760a573ae7e23334838d850 workflow: workflowVersion: 1.0.0 speakeasyVersion: 1.761.1 diff --git a/RELEASES.md b/RELEASES.md index a0f354c9..10b25c66 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 10:17:41 +### 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/examples/mistral/chat/function_calling.py b/examples/mistral/chat/function_calling.py index 318e4e24..94d8899a 100644 --- a/examples/mistral/chat/function_calling.py +++ b/examples/mistral/chat/function_calling.py @@ -95,6 +95,7 @@ def retrieve_payment_date(data: dict[str, list[Any]], transaction_id: str) -> st response = client.chat.complete(model=model, messages=messages, tools=tools, temperature=0) +assert response.choices[0].message is not None print(response.choices[0].message.content) messages.append(AssistantMessage(content=response.choices[0].message.content)) @@ -102,6 +103,7 @@ def retrieve_payment_date(data: dict[str, list[Any]], transaction_id: str) -> st response = client.chat.complete(model=model, messages=messages, tools=tools, temperature=0) +assert response.choices[0].message is not None tool_calls = response.choices[0].message.tool_calls if not tool_calls: raise RuntimeError("Expected tool calls") @@ -130,4 +132,5 @@ def retrieve_payment_date(data: dict[str, list[Any]], transaction_id: str) -> st response = client.chat.complete(model=model, messages=messages, tools=tools, temperature=0) +assert response.choices[0].message is not None print(f"{response.choices[0].message.content}") 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/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" },