diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 94c6820d..a2a18316 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: f16abc205e334d77dc451ea14a80dadf + docChecksum: ed950d049ab66589aac666ef97de5ade docVersion: 1.0.0 speakeasyVersion: 1.787.0 generationVersion: 2.914.0 - releaseVersion: 1.0.19 - configChecksum: 4ff021275d1f9854370e7598e50a6ef2 + releaseVersion: 1.0.20 + configChecksum: f7f51e2cd388ebe2e91f02fc0a41352e repoURL: https://github.com/OpenRouterTeam/python-sdk.git installationURL: https://github.com/OpenRouterTeam/python-sdk.git published: true persistentEdits: - generation_id: e4e0f40f-277a-4507-a2b9-73a13f2a044a - pristine_commit_hash: ef5af0eed00930ab406a3117b815dff762ee94d7 - pristine_tree_hash: 01e969115c5103bf529f355d443d7b2a22b18715 + generation_id: f2abf7d4-b877-47c5-8587-59c10d598c75 + pristine_commit_hash: cc3e616b1f39b9981779f11bd5bb34961b930a68 + pristine_tree_hash: 47137858cec8990ab2a47c957e7ceeef1b10ca96 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 @@ -2178,8 +2178,8 @@ trackedFiles: pristine_git_object: 11f1471c8b6c04f52af89d74d6dec2e9d12c2d82 docs/components/imagegenerationproviderpreferencesoptions.mdx: id: 32d5c4b3e06b - last_write_checksum: sha1:79448fee4389f7fd560ae6ef99cbc7f3a929b12e - pristine_git_object: bedae4a2a2e10314cd408752ef62c5ffd50e0114 + last_write_checksum: sha1:01c587b1f8f0e708180ae7312d069def899ecf3f + pristine_git_object: 90824d75b4ad674ae209f2b53a02059154a96e22 docs/components/imagegenerationproviderpreferencesorder.mdx: id: 0547877073f3 last_write_checksum: sha1:3e890c691097373cc9a2d7e47c3594f56b57809c @@ -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 @@ -4018,12 +4058,12 @@ trackedFiles: pristine_git_object: 1d91d32cd0bf4b64699bbbf05a7e95ab835b10cf docs/components/providername.mdx: id: aa3a4904b228 - last_write_checksum: sha1:30a2946bcaec079258f0946c083bb96df62a3948 - pristine_git_object: 8f1a8c2b7330f5914dfb40aa7684cf09e802ad8d + last_write_checksum: sha1:5ae044c5b3e530f65edbe9337c96a7686c8ea2c4 + pristine_git_object: 80590eb8a23b3b5ddf09f8230bb9d0f66636c78a docs/components/provideroptions.mdx: id: 2697807524fe - last_write_checksum: sha1:3d8f0c0fffa8e2099525e5248e012cc70fe0b3e3 - pristine_git_object: 9b0ea126f35181ab9b0a75202598974b7127ef0d + last_write_checksum: sha1:6c037128c937eb8b23b6ab4e2c3774e99f43632a + pristine_git_object: 76828af2dbeccf26afc78fab269f4765b27b1027 docs/components/provideroverloadedresponseerrordata.mdx: id: dc500cd14889 last_write_checksum: sha1:8326118941c8899a398931c8c7871af21b716b00 @@ -4054,8 +4094,8 @@ trackedFiles: pristine_git_object: dd376f0952fa0517dd83b06ed7afc2c856123dbc docs/components/providerresponseprovidername.mdx: id: 2fc17b61e546 - last_write_checksum: sha1:26eeb2ea7179a98cbd091a8a99933eca127b845d - pristine_git_object: 3b4630ae10a470529eaafd35820f9a2fbc4a9ebf + last_write_checksum: sha1:e6e6d051191493e2906336308fe47a4994c1147c + pristine_git_object: 0666eb53983321e4c4c2c6ab17bbff4ba29e8eb6 docs/components/providersort.mdx: id: d73fa13eeb95 last_write_checksum: sha1:b7e9e6842741e3433d705bd576f2ac5383f00134 @@ -5158,8 +5198,8 @@ trackedFiles: pristine_git_object: 67f56887bb4758559189e3e9e6123dff9a38df81 docs/components/videogenerationrequestoptions.mdx: id: 1d67160e7e7a - last_write_checksum: sha1:38c992ecfda0f3336345725c98cb83722609ab5f - pristine_git_object: 1d867dfd422b24925bdd97a9cb10b0c9dea9283b + last_write_checksum: sha1:a5ac11330f89f599befbe7bb3047c4ed9edbe46c + pristine_git_object: 57ae41aa65798aeb76dcf11b01f8248b2ac94a84 docs/components/videogenerationrequestprovider.mdx: id: d6424dd5de9d last_write_checksum: sha1:72aa46a3335220b579db56574ea179d150dbe2b6 @@ -6750,8 +6790,8 @@ trackedFiles: pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544 pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:61fd11a93986fca25fdcbaa36124bc0348a15db5 - pristine_git_object: 7b37723bb049bafec91318d0031dd5037c5d441d + last_write_checksum: sha1:1a91e36dcd5f5821e924ffe8859eaf66a8b302d3 + pristine_git_object: 1bb07f75ff35ce359f1c69d191259eb1fd0ed582 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:5972427ba4edaedfdfbab8ccf78aa2bde10eedc5 - pristine_git_object: 5549fa9e1068d7511d922b5890f169691ba5c7b8 + last_write_checksum: sha1:3f59426eeb12319cd895fb7293c1d3ac86db3add + pristine_git_object: d89fbfecb9239b69ab6d7851369bd2657ca0c0cc 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 @@ -7786,8 +7826,8 @@ trackedFiles: pristine_git_object: 6b9a8990973466285f9b49b366bbc5fc1ae42e41 src/openrouter/components/imagegenerationproviderpreferences.py: id: 100a82a54e2d - last_write_checksum: sha1:42150ced0fa838d57c03a481da72cef34d411960 - pristine_git_object: cfe137af9fbdbc126e24cf2185bbf0a30fc79518 + last_write_checksum: sha1:6eabe81b1763f2e3d73817c04d718e067f45cd1d + pristine_git_object: ad60b73c8b88652ae1ddf903b9bc20460c8476d6 src/openrouter/components/imagegenerationrequest.py: id: f8291a7be9a0 last_write_checksum: sha1:48a9640c0b9f48833d5514c7671bfa4b76aac776 @@ -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 @@ -8494,12 +8534,12 @@ trackedFiles: pristine_git_object: 170ae25c582bb8decd74e1c69bfa8353bd44e86d src/openrouter/components/providername.py: id: fcc722fa2fce - last_write_checksum: sha1:6261798c4856a612a520603298619f2db9b3129e - pristine_git_object: c13d55442514a266353271b20536cd481167ce92 + last_write_checksum: sha1:29d0fda6336a7f8ba6b6c478e52833f8b6589604 + pristine_git_object: 2f5ee1557b43baede2906eabfdf3cad25756e4b0 src/openrouter/components/provideroptions.py: id: 73dde6c8f359 - last_write_checksum: sha1:f14ad0a870a43023916f09ebd2b954ff2dab4f57 - pristine_git_object: ef73482900d950989db72bc39cdfd216a8064bf4 + last_write_checksum: sha1:50b71921af35626497a6f2e61bb23cc8f2089280 + pristine_git_object: a528359929b543b56c7ac1efad49d3691894dc2a src/openrouter/components/provideroverloadedresponseerrordata.py: id: 5b693682570e last_write_checksum: sha1:b54682560ff95dad18d26f9aaf887f8f6e0e1f71 @@ -8510,8 +8550,8 @@ trackedFiles: pristine_git_object: 54ef6ce91cc841aff1c74c0fed7c6f54f2f0ee2f src/openrouter/components/providerresponse.py: id: ad3887be54c5 - last_write_checksum: sha1:f32d7ab3b54c2fec4ba618cb08d370139767eeac - pristine_git_object: e8c5aeccacb8f7bde3e1a9c39b92713cfc1e0d03 + last_write_checksum: sha1:693f3d4e926467af2c26fde0404db6db71c3adab + pristine_git_object: ae07ca68645f1568ba3d8314e4c94ae7d92f550e src/openrouter/components/providersort.py: id: 348e382bf494 last_write_checksum: sha1:57551507f95cd2e16ef995e1c13f859fd0726152 @@ -8974,8 +9014,8 @@ trackedFiles: pristine_git_object: a0491cc8fd3bd9986146cb1176e27d5b9c9beb60 src/openrouter/components/videogenerationrequest.py: id: 70e3c9ff288c - last_write_checksum: sha1:84e56299633c07ed43ed6a92f173e85d0d7202b7 - pristine_git_object: 93be8f71601f64b27d201221edc9372fc6824a82 + last_write_checksum: sha1:de638803c4a40b4519eb96f4b440118644610250 + pristine_git_object: 301c264287a2bff1b31a1fa274862a2476b1fce2 src/openrouter/components/videogenerationresponse.py: id: 541f1321b072 last_write_checksum: sha1:18c3aa7845f63a9614286b1a27b6098eae1c4951 @@ -11281,6 +11321,4 @@ examples: "500": application/json: {"error": {"code": 500, "message": "Internal Server Error"}} examplesVersion: 1.0.2 -releaseNotes: | - ## Python SDK Changes: - * `open_router.presets.create_presets_messages()`: `request` **Changed** +releaseNotes: "## Python SDK Changes:\n* `open_router.presets.create_presets_messages()`: `request` **Changed** (Breaking ⚠️)\n* `open_router.endpoints.list()`: `response.data.endpoints[].provider_name.enum(voyage_ai_by_mongo_db)` **Added**\n* `open_router.stt.create_transcription()`: \n * `request.provider.options.voyageai` **Added**\n* `open_router.chat.send()`: \n * `request.provider.ignore[].union(ProviderName).enum(voyage_ai_by_mongo_db)` **Added**\n* `open_router.embeddings.generate()`: \n * `request.provider.ignore[].union(ProviderName).enum(voyage_ai_by_mongo_db)` **Added**\n* `open_router.endpoints.list_zdr_endpoints()`: `response.data[].provider_name.enum(voyage_ai_by_mongo_db)` **Added**\n* `open_router.beta.responses.send()`: \n * `request.provider.ignore[].union(ProviderName).enum(voyage_ai_by_mongo_db)` **Added**\n* `open_router.generations.get_generation()`: `response.data.provider_responses[].provider_name.enum(voyage_ai_by_mongo_db)` **Added**\n* `open_router.images.generate()`: `request.provider` **Changed**\n* `open_router.presets.create_presets_chat_completions()`: \n * `request.provider.ignore[].union(ProviderName).enum(voyage_ai_by_mongo_db)` **Added**\n* `open_router.tts.create_speech()`: \n * `request.provider.options.voyageai` **Added**\n* `open_router.presets.create_presets_responses()`: \n * `request.provider.ignore[].union(ProviderName).enum(voyage_ai_by_mongo_db)` **Added**\n* `open_router.rerank.rerank()`: \n * `request.provider.ignore[].union(ProviderName).enum(voyage_ai_by_mongo_db)` **Added**\n* `open_router.video_generation.generate()`: \n * `request.provider.options.voyageai` **Added**\n" diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 3887fe78..6de17e9b 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -36,7 +36,7 @@ generation: documentation: mintlify preApplyUnionDiscriminators: true python: - version: 1.0.19 + version: 1.0.20 additionalDependencies: dev: {} main: {} diff --git a/.speakeasy/out.openapi.yaml b/.speakeasy/out.openapi.yaml index e487931c..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' @@ -13241,6 +13257,7 @@ components: - 'Modular' - 'Moonshot AI' - 'Morph' + - 'VoyageAI by MongoDB' - 'NCompass' - 'Nebius' - 'Nex AGI' @@ -13404,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' @@ -13432,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' @@ -16773,6 +16846,7 @@ components: enum: - 'end_turn' - 'max_tokens' + - 'model_context_window_exceeded' - 'stop_sequence' - 'tool_use' - 'pause_turn' @@ -19010,6 +19084,7 @@ components: - 'Modular' - 'Moonshot AI' - 'Morph' + - 'VoyageAI by MongoDB' - 'NCompass' - 'Nebius' - 'Nex AGI' @@ -19428,6 +19503,9 @@ components: venice: additionalProperties: {} type: 'object' + voyageai: + additionalProperties: {} + type: 'object' wafer: additionalProperties: {} type: 'object' @@ -19724,6 +19802,7 @@ components: - 'Modular' - 'Moonshot AI' - 'Morph' + - 'VoyageAI by MongoDB' - 'NCompass' - 'Nebius' - 'Nex AGI' diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 1f6b32e9..76eda462 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:00d4a3b5a3f008f2b46f301a3e7310d397c100a10e6c70418d60121a4865e259 - sourceBlobDigest: sha256:84f6a4b5f0ae7eeed219cd9ab1049f6181593d3784464dd93240aff6fd727e74 + 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:00d4a3b5a3f008f2b46f301a3e7310d397c100a10e6c70418d60121a4865e259 - sourceBlobDigest: sha256:84f6a4b5f0ae7eeed219cd9ab1049f6181593d3784464dd93240aff6fd727e74 + sourceRevisionDigest: sha256:bb9814e3281a9e0c3024eaa6567726ce1522ce6ccf1a05f1206563bccba3bcec + sourceBlobDigest: sha256:040172eadbe8a42c5cc61b80aa158f3211bac5e469aca169ad8d0555056d3bea codeSamplesNamespace: open-router-python-code-samples - codeSamplesRevisionDigest: sha256:fde97e93bd267a0402aa8338e3d771c4625562ac29d74bcff2211d824e867055 + codeSamplesRevisionDigest: sha256:60f6bcb0840b8a546ae2fc33b9b02a72286fdf3d65c8ca7007e838b5bb95da5d workflow: workflowVersion: 1.0.0 speakeasyVersion: 1.787.0 diff --git a/RELEASES.md b/RELEASES.md index cd91adf3..5b39f1d9 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -769,4 +769,14 @@ Based on: ### Generated - [python v1.0.19] . ### Releases -- [PyPI v1.0.19] https://pypi.org/project/openrouter/1.0.19 - . \ No newline at end of file +- [PyPI v1.0.19] https://pypi.org/project/openrouter/1.0.19 - . + +## 2026-07-24 20:13:11 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v1.0.20] . +### Releases +- [PyPI v1.0.20] https://pypi.org/project/openrouter/1.0.20 - . \ 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/imagegenerationproviderpreferencesoptions.mdx b/docs/components/imagegenerationproviderpreferencesoptions.mdx index bedae4a2..90824d75 100644 --- a/docs/components/imagegenerationproviderpreferencesoptions.mdx +++ b/docs/components/imagegenerationproviderpreferencesoptions.mdx @@ -132,6 +132,7 @@ Provider-specific options keyed by provider slug. Only options for the matched p | `ubicloud` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `upstage` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `venice` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | +| `voyageai` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `wafer` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `wandb` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `wandb_legacy` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | 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/docs/components/providername.mdx b/docs/components/providername.mdx index 8f1a8c2b..80590eb8 100644 --- a/docs/components/providername.mdx +++ b/docs/components/providername.mdx @@ -75,6 +75,7 @@ This is an open enum. Unrecognized values will not fail type checks. - `"Modular"` - `"Moonshot AI"` - `"Morph"` +- `"VoyageAI by MongoDB"` - `"NCompass"` - `"Nebius"` - `"Nex AGI"` diff --git a/docs/components/provideroptions.mdx b/docs/components/provideroptions.mdx index 9b0ea126..76828af2 100644 --- a/docs/components/provideroptions.mdx +++ b/docs/components/provideroptions.mdx @@ -132,6 +132,7 @@ Provider-specific options keyed by provider slug. Only options for the matched p | `ubicloud` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `upstage` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `venice` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | +| `voyageai` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `wafer` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `wandb` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `wandb_legacy` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | diff --git a/docs/components/providerresponseprovidername.mdx b/docs/components/providerresponseprovidername.mdx index 3b4630ae..0666eb53 100644 --- a/docs/components/providerresponseprovidername.mdx +++ b/docs/components/providerresponseprovidername.mdx @@ -105,6 +105,7 @@ This is an open enum. Unrecognized values will not fail type checks. - `"Modular"` - `"Moonshot AI"` - `"Morph"` +- `"VoyageAI by MongoDB"` - `"NCompass"` - `"Nebius"` - `"Nex AGI"` diff --git a/docs/components/videogenerationrequestoptions.mdx b/docs/components/videogenerationrequestoptions.mdx index 1d867dfd..57ae41aa 100644 --- a/docs/components/videogenerationrequestoptions.mdx +++ b/docs/components/videogenerationrequestoptions.mdx @@ -132,6 +132,7 @@ Provider-specific options keyed by provider slug. Only options for the matched p | `ubicloud` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `upstage` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `venice` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | +| `voyageai` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `wafer` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `wandb` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `wandb_legacy` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | diff --git a/pyproject.toml b/pyproject.toml index 7b37723b..1bb07f75 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "openrouter" -version = "1.0.19" +version = "1.0.20" 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 5549fa9e..d89fbfec 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.19" +__version__: str = "1.0.20" __openapi_doc_version__: str = "1.0.0" __gen_version__: str = "2.914.0" -__user_agent__: str = "speakeasy-sdk/python 1.0.19 2.914.0 1.0.0 openrouter" +__user_agent__: str = "speakeasy-sdk/python 1.0.20 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/imagegenerationproviderpreferences.py b/src/openrouter/components/imagegenerationproviderpreferences.py index cfe137af..ad60b73c 100644 --- a/src/openrouter/components/imagegenerationproviderpreferences.py +++ b/src/openrouter/components/imagegenerationproviderpreferences.py @@ -163,6 +163,7 @@ class ImageGenerationProviderPreferencesOptionsTypedDict(TypedDict): ubicloud: NotRequired[Dict[str, Any]] upstage: NotRequired[Dict[str, Any]] venice: NotRequired[Dict[str, Any]] + voyageai: NotRequired[Dict[str, Any]] wafer: NotRequired[Dict[str, Any]] wandb: NotRequired[Dict[str, Any]] wandb_legacy: NotRequired[Dict[str, Any]] @@ -462,6 +463,8 @@ class ImageGenerationProviderPreferencesOptions(BaseModel): venice: Optional[Dict[str, Any]] = None + voyageai: Optional[Dict[str, Any]] = None + wafer: Optional[Dict[str, Any]] = None wandb: Optional[Dict[str, Any]] = None @@ -603,6 +606,7 @@ def serialize_model(self, handler): "ubicloud", "upstage", "venice", + "voyageai", "wafer", "wandb", "wandb-legacy", 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/src/openrouter/components/providername.py b/src/openrouter/components/providername.py index c13d5544..2f5ee155 100644 --- a/src/openrouter/components/providername.py +++ b/src/openrouter/components/providername.py @@ -66,6 +66,7 @@ "Modular", "Moonshot AI", "Morph", + "VoyageAI by MongoDB", "NCompass", "Nebius", "Nex AGI", diff --git a/src/openrouter/components/provideroptions.py b/src/openrouter/components/provideroptions.py index ef734829..a5283599 100644 --- a/src/openrouter/components/provideroptions.py +++ b/src/openrouter/components/provideroptions.py @@ -134,6 +134,7 @@ class ProviderOptionsTypedDict(TypedDict): ubicloud: NotRequired[Dict[str, Any]] upstage: NotRequired[Dict[str, Any]] venice: NotRequired[Dict[str, Any]] + voyageai: NotRequired[Dict[str, Any]] wafer: NotRequired[Dict[str, Any]] wandb: NotRequired[Dict[str, Any]] wandb_legacy: NotRequired[Dict[str, Any]] @@ -433,6 +434,8 @@ class ProviderOptions(BaseModel): venice: Optional[Dict[str, Any]] = None + voyageai: Optional[Dict[str, Any]] = None + wafer: Optional[Dict[str, Any]] = None wandb: Optional[Dict[str, Any]] = None @@ -574,6 +577,7 @@ def serialize_model(self, handler): "ubicloud", "upstage", "venice", + "voyageai", "wafer", "wandb", "wandb-legacy", diff --git a/src/openrouter/components/providerresponse.py b/src/openrouter/components/providerresponse.py index e8c5aecc..ae07ca68 100644 --- a/src/openrouter/components/providerresponse.py +++ b/src/openrouter/components/providerresponse.py @@ -96,6 +96,7 @@ "Modular", "Moonshot AI", "Morph", + "VoyageAI by MongoDB", "NCompass", "Nebius", "Nex AGI", diff --git a/src/openrouter/components/videogenerationrequest.py b/src/openrouter/components/videogenerationrequest.py index 93be8f71..301c2642 100644 --- a/src/openrouter/components/videogenerationrequest.py +++ b/src/openrouter/components/videogenerationrequest.py @@ -153,6 +153,7 @@ class VideoGenerationRequestOptionsTypedDict(TypedDict): ubicloud: NotRequired[Dict[str, Any]] upstage: NotRequired[Dict[str, Any]] venice: NotRequired[Dict[str, Any]] + voyageai: NotRequired[Dict[str, Any]] wafer: NotRequired[Dict[str, Any]] wandb: NotRequired[Dict[str, Any]] wandb_legacy: NotRequired[Dict[str, Any]] @@ -452,6 +453,8 @@ class VideoGenerationRequestOptions(BaseModel): venice: Optional[Dict[str, Any]] = None + voyageai: Optional[Dict[str, Any]] = None + wafer: Optional[Dict[str, Any]] = None wandb: Optional[Dict[str, Any]] = None @@ -593,6 +596,7 @@ def serialize_model(self, handler): "ubicloud", "upstage", "venice", + "voyageai", "wafer", "wandb", "wandb-legacy", diff --git a/uv.lock b/uv.lock index 69ee6ffd..5d4d9e4d 100644 --- a/uv.lock +++ b/uv.lock @@ -213,7 +213,7 @@ wheels = [ [[package]] name = "openrouter" -version = "1.0.19" +version = "1.0.20" source = { editable = "." } dependencies = [ { name = "httpcore" },