diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 2115e443..6fd77524 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,19 +1,19 @@ lockVersion: 2.0.0 id: c48cf606-fb42-4a45-9c23-8f0555307828 management: - docChecksum: effbf6ffde5c3aa927a7a0f984807f34 + docChecksum: ed950d049ab66589aac666ef97de5ade docVersion: 1.0.0 speakeasyVersion: 1.787.0 generationVersion: 2.914.0 - releaseVersion: 1.0.21 - configChecksum: 91f9e0d15d64982a1f86ca005e2ce251 + releaseVersion: 1.0.22 + configChecksum: eea86bd0d0182c493782d4e779a36642 repoURL: https://github.com/OpenRouterTeam/python-sdk.git installationURL: https://github.com/OpenRouterTeam/python-sdk.git published: true persistentEdits: - generation_id: 47030794-ee1a-4abe-b750-38f901f47d13 - pristine_commit_hash: f53db57246fd012a217dd67e0a17cc6fb77fb379 - pristine_tree_hash: 7d032ba184eb9581b2609af00a47ded717ee7d28 + generation_id: 6c3cde2e-c79c-4fb2-a368-09c397fc2171 + pristine_commit_hash: 07bd316b05d346a37d1a557fa35656e99bd60dc5 + pristine_tree_hash: b951060366946f0af191e522aade310a354d8dd2 features: python: acceptHeaders: 3.0.0 @@ -122,16 +122,16 @@ trackedFiles: pristine_git_object: 129b2fdfb6379bb7c755bc13f0d92da88bac1eaf docs/components/additionaltoolsitemtoolfunction.mdx: id: b8c1e4fcad3b - last_write_checksum: sha1:c65fd2849b323fa3e0917a9b7e10929df6d998b5 - pristine_git_object: c4c0bf16f0604b95990d3d327d00fe7c6c6a625c - docs/components/additionaltoolsitemtooltype.mdx: - id: 15c11e47b2fb - last_write_checksum: sha1:8d8cf453178adbb327348a2c504356653eb2abbb - pristine_git_object: ef321af2412bd7aee72744d98c4b9a59463094eb + last_write_checksum: sha1:372d0aba8f1703b6a0d93905f2dbe4d068e50886 + pristine_git_object: 619939c0a51f1f4171680082ce7d5ec6b4a81225 docs/components/additionaltoolsitemtoolunion.mdx: id: b3e8598b1887 last_write_checksum: sha1:989ba14acb7cb2d5fb09fd46427781890a63aac8 pristine_git_object: 137fc3f93d3e840ceb1bf0081a5ac9feaf098c1e + docs/components/additionaltoolsitemtypefunction.mdx: + id: bf179b4008af + last_write_checksum: sha1:c0d4fee7d39fbd3d08c44bbe0e7b929350c5d7e8 + pristine_git_object: 00ce08abaaf149eb1713cc084e87a8b1efc8df81 docs/components/advisornestedtool.mdx: id: 71464b7dde39 last_write_checksum: sha1:89d7a7836c487fe84756f39b306bbfca59b1ca6c @@ -1274,8 +1274,8 @@ trackedFiles: pristine_git_object: 9a8e9eaadebb36e2836d73c4ed1867c5f1e564e7 docs/components/contentcompaction.mdx: id: 1923f9db3cff - last_write_checksum: sha1:db0ae20faae38b060e586c80655b79849bb4e18b - pristine_git_object: 87f9c8d7936595373ebeae59a265705db8df2721 + last_write_checksum: sha1:e889398f84c645ceb38309894f5a62184922d144 + pristine_git_object: 805357e1fbefca3ed8efeca9bb729883f27f4828 docs/components/contentencryptedcontent.mdx: id: 0dc55809c394 last_write_checksum: sha1:4ade3f8974c39af89b3dde5c847d7f397e7c66ad @@ -2826,24 +2826,64 @@ trackedFiles: pristine_git_object: 52ce907478e961eb90e709fca118e6d0631883d2 docs/components/messagestooladditionblock.mdx: id: ee6e08ccc2ae - last_write_checksum: sha1:b41bd9af1900643127851361ff1acf2707ab7309 - pristine_git_object: 399c9ceaa89fd23664936145da40e3f873bc3782 - docs/components/messagestooladditionblocktool.mdx: - id: 77122e0d40d2 - last_write_checksum: sha1:7d05a00487c1da64a8f04ebd273f4c4a2cb95412 - pristine_git_object: 459a5a4f96363226908c4c5be396e3ab09479bb6 + last_write_checksum: sha1:b56dd3ae6d6e105c57162a705794a799ffd65533 + pristine_git_object: 5a532b3a3467bd87a7be3b53b5678de2f100366a + docs/components/messagestooladditionblocktoolmcptoolreference.mdx: + id: 9234e01f465c + last_write_checksum: sha1:bd53c613d701f425326a4e3c1f722940b6ce8abc + pristine_git_object: 8f35a41fceb796a063731ba9b02ae0c6d746a1f3 + docs/components/messagestooladditionblocktoolmcptoolsetreference.mdx: + id: 30be15aded6a + last_write_checksum: sha1:5e3877621517fcde29a8481c074b731f0f21bc59 + pristine_git_object: 807e3193597268935ff590fca8713d28797555f1 + docs/components/messagestooladditionblocktooltoolreference.mdx: + id: f98f14b0fd49 + last_write_checksum: sha1:19f6fd8337f0c404ae3041134be1e7c7557e8a99 + pristine_git_object: f56ec1fdc2a36533dcd3cabc399b02d815896623 + docs/components/messagestooladditionblocktoolunion.mdx: + id: 403384c18cfd + last_write_checksum: sha1:7b1238036e243c5cb6a7f09225880229f0879f5c + pristine_git_object: fe8e0e549274161ac8c0cab3516a810eeccd4671 + docs/components/messagestooladditionblocktypemcptoolreference.mdx: + id: db2ce8be8ba7 + last_write_checksum: sha1:116a77b38bdbd09bc9fa94649046157fc89d26fe + pristine_git_object: f0f014eda67617de68bdcdc7f3b63302be92ff6d + docs/components/messagestooladditionblocktypemcptoolsetreference.mdx: + id: ca24da95aec9 + last_write_checksum: sha1:00efeac75c8bdc1656f982c6d92638631e08ce4f + pristine_git_object: 4799e82fbeb97009ff4e6011515b0fcdd1f6c86a docs/components/messagestooladditionblocktypetoolreference.mdx: id: 46a9c5c3d297 last_write_checksum: sha1:960eea34388236a826d75f4aa3be8beba58ae7f1 pristine_git_object: cbfee207d314517204d955f1b850109ed3382528 docs/components/messagestoolremovalblock.mdx: id: 06fb00f68d0a - last_write_checksum: sha1:5acfab12a15c5bb0ae2b914ad6f849d21a3eb72a - pristine_git_object: 7924930128661e2401a39fcd4c13b18e435c4042 - docs/components/messagestoolremovalblocktool.mdx: - id: dac44151c72f - last_write_checksum: sha1:676c881b2bcba2ec974e04ef498c484fb3cfced9 - pristine_git_object: a9340a29a53dfd3fdc50dd5e3cdf7f9708d8c862 + last_write_checksum: sha1:cb0899c7c9678e882a1fffeb58a12467e4a52b06 + pristine_git_object: a8f4a77b42fc64493816c4ab02e231fe4e5e6c46 + docs/components/messagestoolremovalblocktoolmcptoolreference.mdx: + id: 8671f904d963 + last_write_checksum: sha1:06481a9c285c7386dd08091dcc2b89017a3d3b56 + pristine_git_object: 63a22858dd3595dcb33e3a6d6ae3ea5342295f30 + docs/components/messagestoolremovalblocktoolmcptoolsetreference.mdx: + id: 0a2a94bb6655 + last_write_checksum: sha1:12884ba8d12d2ec781fe6d80c8cd06d27ba09356 + pristine_git_object: 39ce3ffdf4fc647bf7b434df451933aa45e3c55f + docs/components/messagestoolremovalblocktooltoolreference.mdx: + id: 70ee6c5930fd + last_write_checksum: sha1:e73ca402fedecfd529a0b11e0ddf310dec43ab5d + pristine_git_object: 5700e11ae06fe87a229cf318d80c3155284ce3a3 + docs/components/messagestoolremovalblocktoolunion.mdx: + id: 91e74b616e71 + last_write_checksum: sha1:25093a32bca9c9440b12f48d655bea1f454b05dc + pristine_git_object: 896fc1773a348df9162e9a2e8006c28673c95aa8 + docs/components/messagestoolremovalblocktypemcptoolreference.mdx: + id: 114fe5a7137c + last_write_checksum: sha1:b043ce8285902d0b9fa8f28178daa706461d4f56 + pristine_git_object: 183c5b2ad7ebdf4c71d2518141d79e8638e36d47 + docs/components/messagestoolremovalblocktypemcptoolsetreference.mdx: + id: 0718f4550e4b + last_write_checksum: sha1:0db0d887ad5042a8056bb9ae8e2b9908d4d4d45c + pristine_git_object: 8f5189ad772cc836901e2dd9b1eb3c7a3dec9429 docs/components/messagestoolremovalblocktypetoolreference.mdx: id: 2a88fefa96ee last_write_checksum: sha1:f19a0f1059fd13cf83467960835553dfbc618c5b @@ -6750,8 +6790,8 @@ trackedFiles: pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544 pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:7e1a565bdad5f09f62b21e25d3f7adef321ab09c - pristine_git_object: 6f4b3e395088807feb507c95eb7a0f84baca95af + last_write_checksum: sha1:18e56f63c9d74f7372f61bb11033e3109c442d43 + pristine_git_object: 05a245e6c0f584fd6e364b931d8bd4079e5158ac scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:77f44b60b98bc126557ec27391f91dfba764bb54 @@ -6778,8 +6818,8 @@ trackedFiles: pristine_git_object: 86713cfea633e09d33b3d4e65281071fe20e6137 src/openrouter/_version.py: id: d8d15ad6c586 - last_write_checksum: sha1:ada3f16ee3d08d81af1386fe9e0512715d212add - pristine_git_object: 154d73fa7df21ecc8f0a2b82a5f4bc1bc50b7ea0 + last_write_checksum: sha1:7cf0cf327dddee692402b00a69d3de77b6b04639 + pristine_git_object: 6edf59c879482baa7693c4d0ddd870e86e1b054a src/openrouter/analytics.py: id: cb406b5aaabb last_write_checksum: sha1:9e709b71dd0611056dc0cec6150b578defe32841 @@ -6818,8 +6858,8 @@ trackedFiles: pristine_git_object: ad3d247954547814054c01989a2dff3d12b3e4e1 src/openrouter/components/__init__.py: id: 81754e97b3f4 - last_write_checksum: sha1:face799abf2003d53c7615e54616773093f238df - pristine_git_object: af44c2e31fff1acb25b180c4011470806217efa4 + last_write_checksum: sha1:03132ec935a4e444eab14cb18e268fb77e3b6d08 + pristine_git_object: 1a1bea47e675fbde39b1b72e7b42ef04b2025a54 src/openrouter/components/aabenchmarkentry.py: id: e2e0f0b48c82 last_write_checksum: sha1:fab4d9a24d2cea937bb749d46c5f83941e99d65c @@ -6834,8 +6874,8 @@ trackedFiles: pristine_git_object: 1138e6f6bc025546a86877749ce83aca4c46499a src/openrouter/components/additionaltoolsitem.py: id: 2761ab789f41 - last_write_checksum: sha1:80488ef84b869dc9d564b23a3e7b34c4d5a466d4 - pristine_git_object: 2cef174af8ac4a32498556307acc43d908dddf7e + last_write_checksum: sha1:f711aac1f44184306bed8d816190208e8c73daa5 + pristine_git_object: c9851ef1cc4b9fadc8f0cb79089282ab0b0af941 src/openrouter/components/advisornestedtool.py: id: 768fcc6bad2b last_write_checksum: sha1:23f5831fd27a32345fb4e50c1406df0510b0bf47 @@ -8018,8 +8058,8 @@ trackedFiles: pristine_git_object: 9026664fa77c678a7a5f2b317b511ad93445cff7 src/openrouter/components/messagesmessageparam.py: id: ed8bbab6720d - last_write_checksum: sha1:b70a1e2a4d040e06798588438b2b877f7761712d - pristine_git_object: b2cde9fb8e6fdab577b9f9b693fdd2133111b4f3 + last_write_checksum: sha1:e24e57ae188645de8aa3ce815753ac3cb2e30d37 + pristine_git_object: 67bf044b3bd3c373bf4fa33131c511301f3bf056 src/openrouter/components/messagesoutputconfig.py: id: 54d1e297f740 last_write_checksum: sha1:478d9f534254d60225ac89bd21ddc49d18329297 @@ -8034,12 +8074,12 @@ trackedFiles: pristine_git_object: d101995fd27b0bccbac266805caba629039c5f93 src/openrouter/components/messagestooladditionblock.py: id: 3fc00d28b82d - last_write_checksum: sha1:cb0db9a0a8c20509c34af7784800ba5fd8bb5401 - pristine_git_object: d6be5ce89e9cb363feb3279d7d80559f4e20991e + last_write_checksum: sha1:9d58d3e11b4260f7d00efcf0630fe4186b5d01a1 + pristine_git_object: 4c081d8d6f173682a96948b2e5b72231c3ee6bba src/openrouter/components/messagestoolremovalblock.py: id: 4b02812d2191 - last_write_checksum: sha1:d4cd536d132e7718cac14738732ec243b494aa84 - pristine_git_object: 32238d761a961ada3192532ffd860f170e53b748 + last_write_checksum: sha1:1e6851ac4b3d1d1d67253357ce9367888663665b + pristine_git_object: c06c11fd99a69e262dd2fe7ffa28601570ae9377 src/openrouter/components/metadatalevel.py: id: 0eede47eef62 last_write_checksum: sha1:b4e7e6fc4e9016b65008e9ebbfcc6f018fe89ced diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index df44b45c..238dbe21 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -36,7 +36,7 @@ generation: documentation: mintlify preApplyUnionDiscriminators: true python: - version: 1.0.21 + version: 1.0.22 additionalDependencies: dev: {} main: {} diff --git a/.speakeasy/out.openapi.yaml b/.speakeasy/out.openapi.yaml index ba716bb0..37fb80b0 100644 --- a/.speakeasy/out.openapi.yaml +++ b/.speakeasy/out.openapi.yaml @@ -1206,6 +1206,10 @@ components: type: - 'string' - 'null' + encrypted_content: + type: + - 'string' + - 'null' type: enum: - 'compaction' @@ -12058,6 +12062,10 @@ components: type: - 'string' - 'null' + encrypted_content: + type: + - 'string' + - 'null' type: enum: - 'compaction_delta' @@ -12108,6 +12116,10 @@ components: type: - 'string' - 'null' + encrypted_content: + type: + - 'string' + - 'null' type: enum: - 'compaction' @@ -12460,6 +12472,10 @@ components: type: - 'string' - 'null' + encrypted_content: + type: + - 'string' + - 'null' type: enum: - 'compaction' @@ -13405,18 +13421,46 @@ components: type: 'tool_reference' type: 'tool_addition' properties: + cache_control: + $ref: '#/components/schemas/AnthropicCacheControlDirective' tool: - properties: - name: - type: 'string' - type: - enum: - - 'tool_reference' - type: 'string' - required: - - 'type' - - 'name' - type: 'object' + oneOf: + - properties: + name: + type: 'string' + type: + enum: + - 'tool_reference' + type: 'string' + required: + - 'type' + - 'name' + type: 'object' + - properties: + name: + type: 'string' + server_name: + type: 'string' + type: + enum: + - 'mcp_tool_reference' + type: 'string' + required: + - 'type' + - 'name' + - 'server_name' + type: 'object' + - properties: + server_name: + type: 'string' + type: + enum: + - 'mcp_toolset_reference' + type: 'string' + required: + - 'type' + - 'server_name' + type: 'object' type: enum: - 'tool_addition' @@ -13433,18 +13477,46 @@ components: type: 'tool_reference' type: 'tool_removal' properties: + cache_control: + $ref: '#/components/schemas/AnthropicCacheControlDirective' tool: - properties: - name: - type: 'string' - type: - enum: - - 'tool_reference' - type: 'string' - required: - - 'type' - - 'name' - type: 'object' + oneOf: + - properties: + name: + type: 'string' + type: + enum: + - 'tool_reference' + type: 'string' + required: + - 'type' + - 'name' + type: 'object' + - properties: + name: + type: 'string' + server_name: + type: 'string' + type: + enum: + - 'mcp_tool_reference' + type: 'string' + required: + - 'type' + - 'name' + - 'server_name' + type: 'object' + - properties: + server_name: + type: 'string' + type: + enum: + - 'mcp_toolset_reference' + type: 'string' + required: + - 'type' + - 'server_name' + type: 'object' type: enum: - 'tool_removal' @@ -16774,6 +16846,7 @@ components: enum: - 'end_turn' - 'max_tokens' + - 'model_context_window_exceeded' - 'stop_sequence' - 'tool_use' - 'pause_turn' diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 25766247..8c9a334c 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -2,8 +2,8 @@ speakeasyVersion: 1.787.0 sources: OpenRouter API: sourceNamespace: open-router-chat-completions-api - sourceRevisionDigest: sha256:84956abf97cd05ac3fcf7eda297a5696d5a4b4de8a6b8502273012c1273423c0 - sourceBlobDigest: sha256:6b2b895ab85fff8a1f2dfbc12a459ba36af372d3597d26d157b6079bcc5e6466 + sourceRevisionDigest: sha256:bb9814e3281a9e0c3024eaa6567726ce1522ce6ccf1a05f1206563bccba3bcec + sourceBlobDigest: sha256:040172eadbe8a42c5cc61b80aa158f3211bac5e469aca169ad8d0555056d3bea tags: - latest - 1.0.0 @@ -11,10 +11,10 @@ targets: open-router: source: OpenRouter API sourceNamespace: open-router-chat-completions-api - sourceRevisionDigest: sha256:84956abf97cd05ac3fcf7eda297a5696d5a4b4de8a6b8502273012c1273423c0 - sourceBlobDigest: sha256:6b2b895ab85fff8a1f2dfbc12a459ba36af372d3597d26d157b6079bcc5e6466 + sourceRevisionDigest: sha256:bb9814e3281a9e0c3024eaa6567726ce1522ce6ccf1a05f1206563bccba3bcec + sourceBlobDigest: sha256:040172eadbe8a42c5cc61b80aa158f3211bac5e469aca169ad8d0555056d3bea codeSamplesNamespace: open-router-python-code-samples - codeSamplesRevisionDigest: sha256:65a32b84d126d5b1c4eb7e3481aa970c419ca48b238669b4a52ac6fd6508d6ca + codeSamplesRevisionDigest: sha256:1821552e46e96ec3536132a65e72ad74f213f58fc59900072da10b8c2428fedc workflow: workflowVersion: 1.0.0 speakeasyVersion: 1.787.0 diff --git a/RELEASES.md b/RELEASES.md index 2e9e65c0..1597f161 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -789,4 +789,14 @@ Based on: ### Generated - [python v1.0.21] . ### Releases -- [PyPI v1.0.21] https://pypi.org/project/openrouter/1.0.21 - . \ No newline at end of file +- [PyPI v1.0.21] https://pypi.org/project/openrouter/1.0.21 - . + +## 2026-07-24 22:19:24 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v1.0.22] . +### Releases +- [PyPI v1.0.22] https://pypi.org/project/openrouter/1.0.22 - . \ No newline at end of file diff --git a/docs/components/additionaltoolsitemtoolfunction.mdx b/docs/components/additionaltoolsitemtoolfunction.mdx index c4c0bf16..619939c0 100644 --- a/docs/components/additionaltoolsitemtoolfunction.mdx +++ b/docs/components/additionaltoolsitemtoolfunction.mdx @@ -7,10 +7,10 @@ Function tool definition ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -| `description` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `parameters` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `strict` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A | -| `type` | [components.AdditionalToolsItemToolType](../components/additionaltoolsitemtooltype.mdx) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| `description` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `name` | *str* | :heavy_check_mark: | N/A | +| `parameters` | Dict[str, *Any*] | :heavy_check_mark: | N/A | +| `strict` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A | +| `type` | [components.AdditionalToolsItemTypeFunction](../components/additionaltoolsitemtypefunction.mdx) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/components/additionaltoolsitemtooltype.mdx b/docs/components/additionaltoolsitemtooltype.mdx deleted file mode 100644 index ef321af2..00000000 --- a/docs/components/additionaltoolsitemtooltype.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "AdditionalToolsItemToolType" ---- - -## Example Usage - -```python -from openrouter.components import AdditionalToolsItemToolType -value: AdditionalToolsItemToolType = "function" -``` - - -## Values - -- `"function"` diff --git a/docs/components/additionaltoolsitemtypefunction.mdx b/docs/components/additionaltoolsitemtypefunction.mdx new file mode 100644 index 00000000..00ce08ab --- /dev/null +++ b/docs/components/additionaltoolsitemtypefunction.mdx @@ -0,0 +1,15 @@ +--- +title: "AdditionalToolsItemTypeFunction" +--- + +## Example Usage + +```python +from openrouter.components import AdditionalToolsItemTypeFunction +value: AdditionalToolsItemTypeFunction = "function" +``` + + +## Values + +- `"function"` diff --git a/docs/components/contentcompaction.mdx b/docs/components/contentcompaction.mdx index 87f9c8d7..805357e1 100644 --- a/docs/components/contentcompaction.mdx +++ b/docs/components/contentcompaction.mdx @@ -8,4 +8,5 @@ title: "ContentCompaction" | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} | | `content` | *Nullable[str]* | :heavy_check_mark: | N/A | | +| `encrypted_content` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | | `type` | [components.MessagesMessageParamTypeCompaction](../components/messagesmessageparamtypecompaction.mdx) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/components/messagestooladditionblock.mdx b/docs/components/messagestooladditionblock.mdx index 399c9cea..5a532b3a 100644 --- a/docs/components/messagestooladditionblock.mdx +++ b/docs/components/messagestooladditionblock.mdx @@ -7,7 +7,8 @@ Loads a previously deferred tool (declared in `tools` with `defer_loading: true` ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | -| `tool` | [components.MessagesToolAdditionBlockTool](../components/messagestooladditionblocktool.mdx) | :heavy_check_mark: | N/A | -| `type` | [components.TypeToolAddition](../components/typetooladdition.mdx) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} | +| `tool` | [components.MessagesToolAdditionBlockToolUnion](../components/messagestooladditionblocktoolunion.mdx) | :heavy_check_mark: | N/A | | +| `type` | [components.TypeToolAddition](../components/typetooladdition.mdx) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/components/messagestooladditionblocktoolmcptoolreference.mdx b/docs/components/messagestooladditionblocktoolmcptoolreference.mdx new file mode 100644 index 00000000..8f35a41f --- /dev/null +++ b/docs/components/messagestooladditionblocktoolmcptoolreference.mdx @@ -0,0 +1,11 @@ +--- +title: "MessagesToolAdditionBlockToolMcpToolReference" +--- + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | +| `name` | *str* | :heavy_check_mark: | N/A | +| `server_name` | *str* | :heavy_check_mark: | N/A | +| `type` | [components.MessagesToolAdditionBlockTypeMcpToolReference](../components/messagestooladditionblocktypemcptoolreference.mdx) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/components/messagestooladditionblocktoolmcptoolsetreference.mdx b/docs/components/messagestooladditionblocktoolmcptoolsetreference.mdx new file mode 100644 index 00000000..807e3193 --- /dev/null +++ b/docs/components/messagestooladditionblocktoolmcptoolsetreference.mdx @@ -0,0 +1,10 @@ +--- +title: "MessagesToolAdditionBlockToolMcpToolsetReference" +--- + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | +| `server_name` | *str* | :heavy_check_mark: | N/A | +| `type` | [components.MessagesToolAdditionBlockTypeMcpToolsetReference](../components/messagestooladditionblocktypemcptoolsetreference.mdx) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/components/messagestooladditionblocktool.mdx b/docs/components/messagestooladditionblocktooltoolreference.mdx similarity index 97% rename from docs/components/messagestooladditionblocktool.mdx rename to docs/components/messagestooladditionblocktooltoolreference.mdx index 459a5a4f..f56ec1fd 100644 --- a/docs/components/messagestooladditionblocktool.mdx +++ b/docs/components/messagestooladditionblocktooltoolreference.mdx @@ -1,5 +1,5 @@ --- -title: "MessagesToolAdditionBlockTool" +title: "MessagesToolAdditionBlockToolToolReference" --- ## Fields diff --git a/docs/components/messagestooladditionblocktoolunion.mdx b/docs/components/messagestooladditionblocktoolunion.mdx new file mode 100644 index 00000000..fe8e0e54 --- /dev/null +++ b/docs/components/messagestooladditionblocktoolunion.mdx @@ -0,0 +1,24 @@ +--- +title: "MessagesToolAdditionBlockToolUnion" +--- + +## Supported Types + +### `components.MessagesToolAdditionBlockToolToolReference` + +```python +value: components.MessagesToolAdditionBlockToolToolReference = /* values here */ +``` + +### `components.MessagesToolAdditionBlockToolMcpToolReference` + +```python +value: components.MessagesToolAdditionBlockToolMcpToolReference = /* values here */ +``` + +### `components.MessagesToolAdditionBlockToolMcpToolsetReference` + +```python +value: components.MessagesToolAdditionBlockToolMcpToolsetReference = /* values here */ +``` + diff --git a/docs/components/messagestooladditionblocktypemcptoolreference.mdx b/docs/components/messagestooladditionblocktypemcptoolreference.mdx new file mode 100644 index 00000000..f0f014ed --- /dev/null +++ b/docs/components/messagestooladditionblocktypemcptoolreference.mdx @@ -0,0 +1,15 @@ +--- +title: "MessagesToolAdditionBlockTypeMcpToolReference" +--- + +## Example Usage + +```python +from openrouter.components import MessagesToolAdditionBlockTypeMcpToolReference +value: MessagesToolAdditionBlockTypeMcpToolReference = "mcp_tool_reference" +``` + + +## Values + +- `"mcp_tool_reference"` diff --git a/docs/components/messagestooladditionblocktypemcptoolsetreference.mdx b/docs/components/messagestooladditionblocktypemcptoolsetreference.mdx new file mode 100644 index 00000000..4799e82f --- /dev/null +++ b/docs/components/messagestooladditionblocktypemcptoolsetreference.mdx @@ -0,0 +1,15 @@ +--- +title: "MessagesToolAdditionBlockTypeMcpToolsetReference" +--- + +## Example Usage + +```python +from openrouter.components import MessagesToolAdditionBlockTypeMcpToolsetReference +value: MessagesToolAdditionBlockTypeMcpToolsetReference = "mcp_toolset_reference" +``` + + +## Values + +- `"mcp_toolset_reference"` diff --git a/docs/components/messagestoolremovalblock.mdx b/docs/components/messagestoolremovalblock.mdx index 79249301..a8f4a77b 100644 --- a/docs/components/messagestoolremovalblock.mdx +++ b/docs/components/messagestoolremovalblock.mdx @@ -7,7 +7,8 @@ Removes a tool from the conversation mid-conversation without invalidating the p ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | -| `tool` | [components.MessagesToolRemovalBlockTool](../components/messagestoolremovalblocktool.mdx) | :heavy_check_mark: | N/A | -| `type` | [components.TypeToolRemoval](../components/typetoolremoval.mdx) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} | +| `tool` | [components.MessagesToolRemovalBlockToolUnion](../components/messagestoolremovalblocktoolunion.mdx) | :heavy_check_mark: | N/A | | +| `type` | [components.TypeToolRemoval](../components/typetoolremoval.mdx) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/components/messagestoolremovalblocktoolmcptoolreference.mdx b/docs/components/messagestoolremovalblocktoolmcptoolreference.mdx new file mode 100644 index 00000000..63a22858 --- /dev/null +++ b/docs/components/messagestoolremovalblocktoolmcptoolreference.mdx @@ -0,0 +1,11 @@ +--- +title: "MessagesToolRemovalBlockToolMcpToolReference" +--- + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | +| `name` | *str* | :heavy_check_mark: | N/A | +| `server_name` | *str* | :heavy_check_mark: | N/A | +| `type` | [components.MessagesToolRemovalBlockTypeMcpToolReference](../components/messagestoolremovalblocktypemcptoolreference.mdx) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/components/messagestoolremovalblocktoolmcptoolsetreference.mdx b/docs/components/messagestoolremovalblocktoolmcptoolsetreference.mdx new file mode 100644 index 00000000..39ce3ffd --- /dev/null +++ b/docs/components/messagestoolremovalblocktoolmcptoolsetreference.mdx @@ -0,0 +1,10 @@ +--- +title: "MessagesToolRemovalBlockToolMcpToolsetReference" +--- + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | +| `server_name` | *str* | :heavy_check_mark: | N/A | +| `type` | [components.MessagesToolRemovalBlockTypeMcpToolsetReference](../components/messagestoolremovalblocktypemcptoolsetreference.mdx) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/components/messagestoolremovalblocktool.mdx b/docs/components/messagestoolremovalblocktooltoolreference.mdx similarity index 97% rename from docs/components/messagestoolremovalblocktool.mdx rename to docs/components/messagestoolremovalblocktooltoolreference.mdx index a9340a29..5700e11a 100644 --- a/docs/components/messagestoolremovalblocktool.mdx +++ b/docs/components/messagestoolremovalblocktooltoolreference.mdx @@ -1,5 +1,5 @@ --- -title: "MessagesToolRemovalBlockTool" +title: "MessagesToolRemovalBlockToolToolReference" --- ## Fields diff --git a/docs/components/messagestoolremovalblocktoolunion.mdx b/docs/components/messagestoolremovalblocktoolunion.mdx new file mode 100644 index 00000000..896fc177 --- /dev/null +++ b/docs/components/messagestoolremovalblocktoolunion.mdx @@ -0,0 +1,24 @@ +--- +title: "MessagesToolRemovalBlockToolUnion" +--- + +## Supported Types + +### `components.MessagesToolRemovalBlockToolToolReference` + +```python +value: components.MessagesToolRemovalBlockToolToolReference = /* values here */ +``` + +### `components.MessagesToolRemovalBlockToolMcpToolReference` + +```python +value: components.MessagesToolRemovalBlockToolMcpToolReference = /* values here */ +``` + +### `components.MessagesToolRemovalBlockToolMcpToolsetReference` + +```python +value: components.MessagesToolRemovalBlockToolMcpToolsetReference = /* values here */ +``` + diff --git a/docs/components/messagestoolremovalblocktypemcptoolreference.mdx b/docs/components/messagestoolremovalblocktypemcptoolreference.mdx new file mode 100644 index 00000000..183c5b2a --- /dev/null +++ b/docs/components/messagestoolremovalblocktypemcptoolreference.mdx @@ -0,0 +1,15 @@ +--- +title: "MessagesToolRemovalBlockTypeMcpToolReference" +--- + +## Example Usage + +```python +from openrouter.components import MessagesToolRemovalBlockTypeMcpToolReference +value: MessagesToolRemovalBlockTypeMcpToolReference = "mcp_tool_reference" +``` + + +## Values + +- `"mcp_tool_reference"` diff --git a/docs/components/messagestoolremovalblocktypemcptoolsetreference.mdx b/docs/components/messagestoolremovalblocktypemcptoolsetreference.mdx new file mode 100644 index 00000000..8f5189ad --- /dev/null +++ b/docs/components/messagestoolremovalblocktypemcptoolsetreference.mdx @@ -0,0 +1,15 @@ +--- +title: "MessagesToolRemovalBlockTypeMcpToolsetReference" +--- + +## Example Usage + +```python +from openrouter.components import MessagesToolRemovalBlockTypeMcpToolsetReference +value: MessagesToolRemovalBlockTypeMcpToolsetReference = "mcp_toolset_reference" +``` + + +## Values + +- `"mcp_toolset_reference"` diff --git a/pyproject.toml b/pyproject.toml index 6f4b3e39..05a245e6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "openrouter" -version = "1.0.21" +version = "1.0.22" description = "Official Python Client SDK for OpenRouter." authors = [{ name = "OpenRouter" },] readme = "README-PYPI.md" diff --git a/src/openrouter/_version.py b/src/openrouter/_version.py index 154d73fa..6edf59c8 100644 --- a/src/openrouter/_version.py +++ b/src/openrouter/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "openrouter" -__version__: str = "1.0.21" +__version__: str = "1.0.22" __openapi_doc_version__: str = "1.0.0" __gen_version__: str = "2.914.0" -__user_agent__: str = "speakeasy-sdk/python 1.0.21 2.914.0 1.0.0 openrouter" +__user_agent__: str = "speakeasy-sdk/python 1.0.22 2.914.0 1.0.0 openrouter" try: if __package__ is not None: diff --git a/src/openrouter/components/__init__.py b/src/openrouter/components/__init__.py index af44c2e3..1a1bea47 100644 --- a/src/openrouter/components/__init__.py +++ b/src/openrouter/components/__init__.py @@ -14,10 +14,10 @@ AdditionalToolsItemTool, AdditionalToolsItemToolFunction, AdditionalToolsItemToolFunctionTypedDict, - AdditionalToolsItemToolType, AdditionalToolsItemToolTypedDict, AdditionalToolsItemToolUnion, AdditionalToolsItemToolUnionTypedDict, + AdditionalToolsItemTypeFunction, AdditionalToolsItemTypedDict, TypeAdditionalTools, ) @@ -1632,16 +1632,32 @@ ) from .messagestooladditionblock import ( MessagesToolAdditionBlock, - MessagesToolAdditionBlockTool, - MessagesToolAdditionBlockToolTypedDict, + MessagesToolAdditionBlockToolMcpToolReference, + MessagesToolAdditionBlockToolMcpToolReferenceTypedDict, + MessagesToolAdditionBlockToolMcpToolsetReference, + MessagesToolAdditionBlockToolMcpToolsetReferenceTypedDict, + MessagesToolAdditionBlockToolToolReference, + MessagesToolAdditionBlockToolToolReferenceTypedDict, + MessagesToolAdditionBlockToolUnion, + MessagesToolAdditionBlockToolUnionTypedDict, + MessagesToolAdditionBlockTypeMcpToolReference, + MessagesToolAdditionBlockTypeMcpToolsetReference, MessagesToolAdditionBlockTypeToolReference, MessagesToolAdditionBlockTypedDict, TypeToolAddition, ) from .messagestoolremovalblock import ( MessagesToolRemovalBlock, - MessagesToolRemovalBlockTool, - MessagesToolRemovalBlockToolTypedDict, + MessagesToolRemovalBlockToolMcpToolReference, + MessagesToolRemovalBlockToolMcpToolReferenceTypedDict, + MessagesToolRemovalBlockToolMcpToolsetReference, + MessagesToolRemovalBlockToolMcpToolsetReferenceTypedDict, + MessagesToolRemovalBlockToolToolReference, + MessagesToolRemovalBlockToolToolReferenceTypedDict, + MessagesToolRemovalBlockToolUnion, + MessagesToolRemovalBlockToolUnionTypedDict, + MessagesToolRemovalBlockTypeMcpToolReference, + MessagesToolRemovalBlockTypeMcpToolsetReference, MessagesToolRemovalBlockTypeToolReference, MessagesToolRemovalBlockTypedDict, TypeToolRemoval, @@ -2906,10 +2922,10 @@ "AdditionalToolsItemTool", "AdditionalToolsItemToolFunction", "AdditionalToolsItemToolFunctionTypedDict", - "AdditionalToolsItemToolType", "AdditionalToolsItemToolTypedDict", "AdditionalToolsItemToolUnion", "AdditionalToolsItemToolUnionTypedDict", + "AdditionalToolsItemTypeFunction", "AdditionalToolsItemTypedDict", "AdvisorNestedTool", "AdvisorNestedToolTypedDict", @@ -3994,13 +4010,29 @@ "MessagesSearchModelsServerToolType", "MessagesSearchModelsServerToolTypedDict", "MessagesToolAdditionBlock", - "MessagesToolAdditionBlockTool", - "MessagesToolAdditionBlockToolTypedDict", + "MessagesToolAdditionBlockToolMcpToolReference", + "MessagesToolAdditionBlockToolMcpToolReferenceTypedDict", + "MessagesToolAdditionBlockToolMcpToolsetReference", + "MessagesToolAdditionBlockToolMcpToolsetReferenceTypedDict", + "MessagesToolAdditionBlockToolToolReference", + "MessagesToolAdditionBlockToolToolReferenceTypedDict", + "MessagesToolAdditionBlockToolUnion", + "MessagesToolAdditionBlockToolUnionTypedDict", + "MessagesToolAdditionBlockTypeMcpToolReference", + "MessagesToolAdditionBlockTypeMcpToolsetReference", "MessagesToolAdditionBlockTypeToolReference", "MessagesToolAdditionBlockTypedDict", "MessagesToolRemovalBlock", - "MessagesToolRemovalBlockTool", - "MessagesToolRemovalBlockToolTypedDict", + "MessagesToolRemovalBlockToolMcpToolReference", + "MessagesToolRemovalBlockToolMcpToolReferenceTypedDict", + "MessagesToolRemovalBlockToolMcpToolsetReference", + "MessagesToolRemovalBlockToolMcpToolsetReferenceTypedDict", + "MessagesToolRemovalBlockToolToolReference", + "MessagesToolRemovalBlockToolToolReferenceTypedDict", + "MessagesToolRemovalBlockToolUnion", + "MessagesToolRemovalBlockToolUnionTypedDict", + "MessagesToolRemovalBlockTypeMcpToolReference", + "MessagesToolRemovalBlockTypeMcpToolsetReference", "MessagesToolRemovalBlockTypeToolReference", "MessagesToolRemovalBlockTypedDict", "MetadataLevel", @@ -5011,10 +5043,10 @@ "AdditionalToolsItemTool": ".additionaltoolsitem", "AdditionalToolsItemToolFunction": ".additionaltoolsitem", "AdditionalToolsItemToolFunctionTypedDict": ".additionaltoolsitem", - "AdditionalToolsItemToolType": ".additionaltoolsitem", "AdditionalToolsItemToolTypedDict": ".additionaltoolsitem", "AdditionalToolsItemToolUnion": ".additionaltoolsitem", "AdditionalToolsItemToolUnionTypedDict": ".additionaltoolsitem", + "AdditionalToolsItemTypeFunction": ".additionaltoolsitem", "AdditionalToolsItemTypedDict": ".additionaltoolsitem", "TypeAdditionalTools": ".additionaltoolsitem", "AdvisorNestedTool": ".advisornestedtool", @@ -6209,14 +6241,30 @@ "MessagesSearchModelsServerToolType": ".messagessearchmodelsservertool", "MessagesSearchModelsServerToolTypedDict": ".messagessearchmodelsservertool", "MessagesToolAdditionBlock": ".messagestooladditionblock", - "MessagesToolAdditionBlockTool": ".messagestooladditionblock", - "MessagesToolAdditionBlockToolTypedDict": ".messagestooladditionblock", + "MessagesToolAdditionBlockToolMcpToolReference": ".messagestooladditionblock", + "MessagesToolAdditionBlockToolMcpToolReferenceTypedDict": ".messagestooladditionblock", + "MessagesToolAdditionBlockToolMcpToolsetReference": ".messagestooladditionblock", + "MessagesToolAdditionBlockToolMcpToolsetReferenceTypedDict": ".messagestooladditionblock", + "MessagesToolAdditionBlockToolToolReference": ".messagestooladditionblock", + "MessagesToolAdditionBlockToolToolReferenceTypedDict": ".messagestooladditionblock", + "MessagesToolAdditionBlockToolUnion": ".messagestooladditionblock", + "MessagesToolAdditionBlockToolUnionTypedDict": ".messagestooladditionblock", + "MessagesToolAdditionBlockTypeMcpToolReference": ".messagestooladditionblock", + "MessagesToolAdditionBlockTypeMcpToolsetReference": ".messagestooladditionblock", "MessagesToolAdditionBlockTypeToolReference": ".messagestooladditionblock", "MessagesToolAdditionBlockTypedDict": ".messagestooladditionblock", "TypeToolAddition": ".messagestooladditionblock", "MessagesToolRemovalBlock": ".messagestoolremovalblock", - "MessagesToolRemovalBlockTool": ".messagestoolremovalblock", - "MessagesToolRemovalBlockToolTypedDict": ".messagestoolremovalblock", + "MessagesToolRemovalBlockToolMcpToolReference": ".messagestoolremovalblock", + "MessagesToolRemovalBlockToolMcpToolReferenceTypedDict": ".messagestoolremovalblock", + "MessagesToolRemovalBlockToolMcpToolsetReference": ".messagestoolremovalblock", + "MessagesToolRemovalBlockToolMcpToolsetReferenceTypedDict": ".messagestoolremovalblock", + "MessagesToolRemovalBlockToolToolReference": ".messagestoolremovalblock", + "MessagesToolRemovalBlockToolToolReferenceTypedDict": ".messagestoolremovalblock", + "MessagesToolRemovalBlockToolUnion": ".messagestoolremovalblock", + "MessagesToolRemovalBlockToolUnionTypedDict": ".messagestoolremovalblock", + "MessagesToolRemovalBlockTypeMcpToolReference": ".messagestoolremovalblock", + "MessagesToolRemovalBlockTypeMcpToolsetReference": ".messagestoolremovalblock", "MessagesToolRemovalBlockTypeToolReference": ".messagestoolremovalblock", "MessagesToolRemovalBlockTypedDict": ".messagestoolremovalblock", "TypeToolRemoval": ".messagestoolremovalblock", diff --git a/src/openrouter/components/additionaltoolsitem.py b/src/openrouter/components/additionaltoolsitem.py index 2cef174a..c9851ef1 100644 --- a/src/openrouter/components/additionaltoolsitem.py +++ b/src/openrouter/components/additionaltoolsitem.py @@ -116,7 +116,7 @@ def additional_properties(self, value): self.__pydantic_extra__ = value # pyright: ignore[reportIncompatibleVariableOverride] -AdditionalToolsItemToolType = Literal["function",] +AdditionalToolsItemTypeFunction = Literal["function",] class AdditionalToolsItemToolFunctionTypedDict(TypedDict): @@ -124,7 +124,7 @@ class AdditionalToolsItemToolFunctionTypedDict(TypedDict): name: str parameters: Nullable[Dict[str, Any]] - type: AdditionalToolsItemToolType + type: AdditionalToolsItemTypeFunction description: NotRequired[Nullable[str]] strict: NotRequired[Nullable[bool]] @@ -136,7 +136,7 @@ class AdditionalToolsItemToolFunction(BaseModel): parameters: Nullable[Dict[str, Any]] - type: AdditionalToolsItemToolType + type: AdditionalToolsItemTypeFunction description: OptionalNullable[str] = UNSET diff --git a/src/openrouter/components/messagesmessageparam.py b/src/openrouter/components/messagesmessageparam.py index b2cde9fb..67bf044b 100644 --- a/src/openrouter/components/messagesmessageparam.py +++ b/src/openrouter/components/messagesmessageparam.py @@ -37,7 +37,14 @@ MessagesToolRemovalBlock, MessagesToolRemovalBlockTypedDict, ) -from openrouter.types import BaseModel, Nullable, UNSET_SENTINEL, UnrecognizedStr +from openrouter.types import ( + BaseModel, + Nullable, + OptionalNullable, + UNSET, + UNSET_SENTINEL, + UnrecognizedStr, +) from openrouter.utils import get_discriminator from pydantic import Discriminator, Tag, model_serializer from typing import Any, List, Literal, Optional, Union @@ -52,6 +59,7 @@ class ContentCompactionTypedDict(TypedDict): type: MessagesMessageParamTypeCompaction cache_control: NotRequired[AnthropicCacheControlDirectiveTypedDict] r"""Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format.""" + encrypted_content: NotRequired[Nullable[str]] class ContentCompaction(BaseModel): @@ -62,10 +70,12 @@ class ContentCompaction(BaseModel): cache_control: Optional[AnthropicCacheControlDirective] = None r"""Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format.""" + encrypted_content: OptionalNullable[str] = UNSET + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["cache_control"]) - nullable_fields = set(["content"]) + optional_fields = set(["cache_control", "encrypted_content"]) + nullable_fields = set(["content", "encrypted_content"]) serialized = handler(self) m = {} @@ -374,13 +384,13 @@ def serialize_model(self, handler): MessagesMessageParamContentUnion4TypedDict = TypeAliasType( "MessagesMessageParamContentUnion4TypedDict", Union[ - MessagesToolRemovalBlockTypedDict, - MessagesToolAdditionBlockTypedDict, ContentRedactedThinkingTypedDict, - ContentCompactionTypedDict, AnthropicImageBlockParamTypedDict, + MessagesToolRemovalBlockTypedDict, + MessagesToolAdditionBlockTypedDict, ContentThinkingTypedDict, MessagesAdvisorToolResultBlockTypedDict, + ContentCompactionTypedDict, AnthropicTextBlockParamTypedDict, ContentWebSearchToolResultTypedDict, ContentToolUseTypedDict, diff --git a/src/openrouter/components/messagestooladditionblock.py b/src/openrouter/components/messagestooladditionblock.py index d6be5ce8..4c081d8d 100644 --- a/src/openrouter/components/messagestooladditionblock.py +++ b/src/openrouter/components/messagestooladditionblock.py @@ -1,38 +1,121 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from openrouter.types import BaseModel -from typing import Literal -from typing_extensions import TypedDict +from .anthropiccachecontroldirective import ( + AnthropicCacheControlDirective, + AnthropicCacheControlDirectiveTypedDict, +) +from openrouter.types import BaseModel, UNSET_SENTINEL +from openrouter.utils import get_discriminator +from pydantic import Discriminator, Tag, model_serializer +from typing import Literal, Optional, Union +from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict + + +MessagesToolAdditionBlockTypeMcpToolsetReference = Literal["mcp_toolset_reference",] + + +class MessagesToolAdditionBlockToolMcpToolsetReferenceTypedDict(TypedDict): + server_name: str + type: MessagesToolAdditionBlockTypeMcpToolsetReference + + +class MessagesToolAdditionBlockToolMcpToolsetReference(BaseModel): + server_name: str + + type: MessagesToolAdditionBlockTypeMcpToolsetReference + + +MessagesToolAdditionBlockTypeMcpToolReference = Literal["mcp_tool_reference",] + + +class MessagesToolAdditionBlockToolMcpToolReferenceTypedDict(TypedDict): + name: str + server_name: str + type: MessagesToolAdditionBlockTypeMcpToolReference + + +class MessagesToolAdditionBlockToolMcpToolReference(BaseModel): + name: str + + server_name: str + + type: MessagesToolAdditionBlockTypeMcpToolReference MessagesToolAdditionBlockTypeToolReference = Literal["tool_reference",] -class MessagesToolAdditionBlockToolTypedDict(TypedDict): +class MessagesToolAdditionBlockToolToolReferenceTypedDict(TypedDict): name: str type: MessagesToolAdditionBlockTypeToolReference -class MessagesToolAdditionBlockTool(BaseModel): +class MessagesToolAdditionBlockToolToolReference(BaseModel): name: str type: MessagesToolAdditionBlockTypeToolReference +MessagesToolAdditionBlockToolUnionTypedDict = TypeAliasType( + "MessagesToolAdditionBlockToolUnionTypedDict", + Union[ + MessagesToolAdditionBlockToolToolReferenceTypedDict, + MessagesToolAdditionBlockToolMcpToolsetReferenceTypedDict, + MessagesToolAdditionBlockToolMcpToolReferenceTypedDict, + ], +) + + +MessagesToolAdditionBlockToolUnion = Annotated[ + Union[ + Annotated[MessagesToolAdditionBlockToolToolReference, Tag("tool_reference")], + Annotated[ + MessagesToolAdditionBlockToolMcpToolReference, Tag("mcp_tool_reference") + ], + Annotated[ + MessagesToolAdditionBlockToolMcpToolsetReference, + Tag("mcp_toolset_reference"), + ], + ], + Discriminator(lambda m: get_discriminator(m, "type", "type")), +] + + TypeToolAddition = Literal["tool_addition",] class MessagesToolAdditionBlockTypedDict(TypedDict): r"""Loads a previously deferred tool (declared in `tools` with `defer_loading: true`) mid-conversation without invalidating the prompt cache. Only valid in `role: \"system\"` messages. Not supported on Claude Sonnet 5 or models older than Claude Opus 4.8.""" - tool: MessagesToolAdditionBlockToolTypedDict + tool: MessagesToolAdditionBlockToolUnionTypedDict type: TypeToolAddition + cache_control: NotRequired[AnthropicCacheControlDirectiveTypedDict] + r"""Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format.""" class MessagesToolAdditionBlock(BaseModel): r"""Loads a previously deferred tool (declared in `tools` with `defer_loading: true`) mid-conversation without invalidating the prompt cache. Only valid in `role: \"system\"` messages. Not supported on Claude Sonnet 5 or models older than Claude Opus 4.8.""" - tool: MessagesToolAdditionBlockTool + tool: MessagesToolAdditionBlockToolUnion type: TypeToolAddition + + cache_control: Optional[AnthropicCacheControlDirective] = None + r"""Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["cache_control"]) + 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/openrouter/components/messagestoolremovalblock.py b/src/openrouter/components/messagestoolremovalblock.py index 32238d76..c06c11fd 100644 --- a/src/openrouter/components/messagestoolremovalblock.py +++ b/src/openrouter/components/messagestoolremovalblock.py @@ -1,38 +1,121 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from openrouter.types import BaseModel -from typing import Literal -from typing_extensions import TypedDict +from .anthropiccachecontroldirective import ( + AnthropicCacheControlDirective, + AnthropicCacheControlDirectiveTypedDict, +) +from openrouter.types import BaseModel, UNSET_SENTINEL +from openrouter.utils import get_discriminator +from pydantic import Discriminator, Tag, model_serializer +from typing import Literal, Optional, Union +from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict + + +MessagesToolRemovalBlockTypeMcpToolsetReference = Literal["mcp_toolset_reference",] + + +class MessagesToolRemovalBlockToolMcpToolsetReferenceTypedDict(TypedDict): + server_name: str + type: MessagesToolRemovalBlockTypeMcpToolsetReference + + +class MessagesToolRemovalBlockToolMcpToolsetReference(BaseModel): + server_name: str + + type: MessagesToolRemovalBlockTypeMcpToolsetReference + + +MessagesToolRemovalBlockTypeMcpToolReference = Literal["mcp_tool_reference",] + + +class MessagesToolRemovalBlockToolMcpToolReferenceTypedDict(TypedDict): + name: str + server_name: str + type: MessagesToolRemovalBlockTypeMcpToolReference + + +class MessagesToolRemovalBlockToolMcpToolReference(BaseModel): + name: str + + server_name: str + + type: MessagesToolRemovalBlockTypeMcpToolReference MessagesToolRemovalBlockTypeToolReference = Literal["tool_reference",] -class MessagesToolRemovalBlockToolTypedDict(TypedDict): +class MessagesToolRemovalBlockToolToolReferenceTypedDict(TypedDict): name: str type: MessagesToolRemovalBlockTypeToolReference -class MessagesToolRemovalBlockTool(BaseModel): +class MessagesToolRemovalBlockToolToolReference(BaseModel): name: str type: MessagesToolRemovalBlockTypeToolReference +MessagesToolRemovalBlockToolUnionTypedDict = TypeAliasType( + "MessagesToolRemovalBlockToolUnionTypedDict", + Union[ + MessagesToolRemovalBlockToolToolReferenceTypedDict, + MessagesToolRemovalBlockToolMcpToolsetReferenceTypedDict, + MessagesToolRemovalBlockToolMcpToolReferenceTypedDict, + ], +) + + +MessagesToolRemovalBlockToolUnion = Annotated[ + Union[ + Annotated[MessagesToolRemovalBlockToolToolReference, Tag("tool_reference")], + Annotated[ + MessagesToolRemovalBlockToolMcpToolReference, Tag("mcp_tool_reference") + ], + Annotated[ + MessagesToolRemovalBlockToolMcpToolsetReference, + Tag("mcp_toolset_reference"), + ], + ], + Discriminator(lambda m: get_discriminator(m, "type", "type")), +] + + TypeToolRemoval = Literal["tool_removal",] class MessagesToolRemovalBlockTypedDict(TypedDict): r"""Removes a tool from the conversation mid-conversation without invalidating the prompt cache. Only valid in `role: \"system\"` messages. Not supported on Claude Sonnet 5 or models older than Claude Opus 4.8.""" - tool: MessagesToolRemovalBlockToolTypedDict + tool: MessagesToolRemovalBlockToolUnionTypedDict type: TypeToolRemoval + cache_control: NotRequired[AnthropicCacheControlDirectiveTypedDict] + r"""Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format.""" class MessagesToolRemovalBlock(BaseModel): r"""Removes a tool from the conversation mid-conversation without invalidating the prompt cache. Only valid in `role: \"system\"` messages. Not supported on Claude Sonnet 5 or models older than Claude Opus 4.8.""" - tool: MessagesToolRemovalBlockTool + tool: MessagesToolRemovalBlockToolUnion type: TypeToolRemoval + + cache_control: Optional[AnthropicCacheControlDirective] = None + r"""Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["cache_control"]) + 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/uv.lock b/uv.lock index 23ac6d48..b0baabf3 100644 --- a/uv.lock +++ b/uv.lock @@ -213,7 +213,7 @@ wheels = [ [[package]] name = "openrouter" -version = "1.0.21" +version = "1.0.22" source = { editable = "." } dependencies = [ { name = "httpcore" },