From 93c493785e030361f84c01d3b51b9b8dbb9a2b2d Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Fri, 16 Oct 2026 20:37:02 +0000 Subject: [PATCH 1/5] [fern-generated] Update SDK Generated by Fern CLI Version: unknown Generators: - fernapi/fern-python-sdk: 5.3.3 --- .fern/metadata.json | 6 +- poetry.lock | 682 +++++++++--------- pyproject.toml | 3 +- reference.md | 11 +- src/vapi/__init__.py | 36 +- src/vapi/assistants/raw_client.py | 22 + .../types/update_assistant_dto_model.py | 12 + src/vapi/core/client_wrapper.py | 4 +- src/vapi/simulation_runs/client.py | 10 + src/vapi/simulation_runs/raw_client.py | 33 + src/vapi/structured_outputs/client.py | 12 +- src/vapi/structured_outputs/raw_client.py | 79 +- .../update_structured_output_dto_model.py | 15 +- src/vapi/tools/types/create_tools_response.py | 75 ++ src/vapi/tools/types/delete_tools_response.py | 75 ++ src/vapi/tools/types/get_tools_response.py | 75 ++ .../tools/types/list_tools_response_item.py | 75 ++ src/vapi/tools/types/update_tools_response.py | 75 ++ src/vapi/types/__init__.py | 36 +- src/vapi/types/anthropic_bedrock_model.py | 11 +- ...opic_bedrock_model_fallback_models_item.py | 1 + .../types/anthropic_bedrock_model_model.py | 1 + ...nthropic_bedrock_model_reasoning_effort.py | 7 + src/vapi/types/anthropic_model.py | 11 +- src/vapi/types/anthropic_model_model.py | 1 + .../types/anthropic_model_reasoning_effort.py | 7 + src/vapi/types/anyscale_model.py | 2 +- src/vapi/types/api_request_tool.py | 8 + src/vapi/types/assistant_draft_model.py | 12 + ...assistant_managed_conflict_response_dto.py | 36 + ...ant_managed_conflict_response_dto_error.py | 5 + .../assistant_managed_vapi_agents_dto.py | 38 + src/vapi/types/assistant_model.py | 12 + src/vapi/types/assistant_overrides_model.py | 12 + .../assistant_pinned_conflict_response_dto.py | 2 - ...tant_pinned_conflict_response_dto_error.py | 5 - src/vapi/types/assistant_version_model.py | 12 + src/vapi/types/bash_tool.py | 8 + src/vapi/types/call_costs_item.py | 6 + src/vapi/types/cartesia_voice_language.py | 2 + src/vapi/types/cartesia_voice_model.py | 2 + src/vapi/types/cerebras_model.py | 2 +- src/vapi/types/chat_costs_item.py | 6 + src/vapi/types/code_tool.py | 8 + src/vapi/types/computer_tool.py | 8 + .../types/create_assistant_draft_dto_model.py | 12 + src/vapi/types/create_assistant_dto_model.py | 12 + .../types/create_simulation_run_response.py | 5 + .../types/create_structured_output_dto.py | 3 +- .../create_structured_output_dto_model.py | 15 +- src/vapi/types/custom_llm_model.py | 2 +- src/vapi/types/deep_infra_model.py | 2 +- src/vapi/types/deep_seek_model.py | 2 +- src/vapi/types/dtmf_tool.py | 8 + src/vapi/types/end_call_tool.py | 8 + src/vapi/types/eval_anthropic_model_model.py | 1 + src/vapi/types/eval_google_model_model.py | 1 + .../types/fallback_cartesia_voice_language.py | 2 + .../types/fallback_cartesia_voice_model.py | 2 + .../fallback_google_transcriber_model.py | 1 + src/vapi/types/function_tool.py | 8 + src/vapi/types/ghl_tool.py | 8 + ...o_high_level_calendar_availability_tool.py | 8 + ...o_high_level_calendar_event_create_tool.py | 8 + .../go_high_level_contact_create_tool.py | 8 + .../types/go_high_level_contact_get_tool.py | 8 + ...google_calendar_check_availability_tool.py | 8 + .../google_calendar_create_event_tool.py | 8 + src/vapi/types/google_model.py | 2 +- src/vapi/types/google_model_model.py | 1 + .../types/google_sheets_row_append_tool.py | 8 + src/vapi/types/google_transcriber_model.py | 1 + src/vapi/types/groq_model.py | 2 +- src/vapi/types/handoff_tool.py | 8 + src/vapi/types/inflection_ai_model.py | 2 +- .../types/json_query_on_events_table_on.py | 3 + src/vapi/types/knowledge_base_model.py | 1 + src/vapi/types/knowledge_base_tool.py | 8 + src/vapi/types/make_tool.py | 8 + src/vapi/types/mcp_tool.py | 8 + src/vapi/types/minimax_llm_model.py | 2 +- src/vapi/types/model_cost.py | 9 + .../model_cost_service_tier_breakdown.py | 62 ++ src/vapi/types/open_ai_model.py | 4 +- src/vapi/types/open_router_model.py | 2 +- src/vapi/types/output_tool.py | 8 + src/vapi/types/perplexity_ai_model.py | 2 +- src/vapi/types/query_tool.py | 8 + ...r_message_end_of_call_report_costs_item.py | 6 + src/vapi/types/session_costs_item.py | 6 + src/vapi/types/sip_request_tool.py | 8 + src/vapi/types/slack_send_message_tool.py | 8 + src/vapi/types/sms_tool.py | 8 + src/vapi/types/structured_output.py | 3 +- src/vapi/types/structured_output_model.py | 15 +- src/vapi/types/text_editor_tool.py | 8 + src/vapi/types/together_ai_model.py | 2 +- ..._allocation_stale_conflict_response_dto.py | 2 - ...ation_stale_conflict_response_dto_error.py | 5 - src/vapi/types/transfer_call_tool.py | 8 + .../types/update_assistant_draft_dto_model.py | 12 + src/vapi/types/{user.py => user_with_role.py} | 16 +- src/vapi/types/user_with_role_role.py | 7 + src/vapi/types/user_with_role_role_zero.py | 5 + src/vapi/types/voicemail_tool.py | 8 + .../types/workflow_anthropic_bedrock_model.py | 6 +- .../workflow_anthropic_bedrock_model_model.py | 1 + src/vapi/types/workflow_anthropic_model.py | 6 +- .../types/workflow_anthropic_model_model.py | 1 + src/vapi/types/workflow_custom_model.py | 6 +- src/vapi/types/workflow_google_model.py | 6 +- src/vapi/types/workflow_google_model_model.py | 1 + src/vapi/types/workflow_open_ai_model.py | 6 +- src/vapi/types/xai_model.py | 2 +- 114 files changed, 1572 insertions(+), 440 deletions(-) create mode 100644 src/vapi/types/anthropic_bedrock_model_reasoning_effort.py create mode 100644 src/vapi/types/anthropic_model_reasoning_effort.py create mode 100644 src/vapi/types/assistant_managed_conflict_response_dto.py create mode 100644 src/vapi/types/assistant_managed_conflict_response_dto_error.py create mode 100644 src/vapi/types/assistant_managed_vapi_agents_dto.py delete mode 100644 src/vapi/types/assistant_pinned_conflict_response_dto_error.py create mode 100644 src/vapi/types/model_cost_service_tier_breakdown.py delete mode 100644 src/vapi/types/traffic_allocation_stale_conflict_response_dto_error.py rename src/vapi/types/{user.py => user_with_role.py} (65%) create mode 100644 src/vapi/types/user_with_role_role.py create mode 100644 src/vapi/types/user_with_role_role_zero.py diff --git a/.fern/metadata.json b/.fern/metadata.json index 08c52b77d..c78be123a 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -1,5 +1,5 @@ { - "cliVersion": "5.112.0", + "cliVersion": "5.160.0", "generatorName": "fernapi/fern-python-sdk", "generatorVersion": "5.3.3", "generatorConfig": { @@ -8,6 +8,6 @@ }, "client_class_name": "Vapi" }, - "originGitCommit": "406e7e1ea2bdeb0ebcd01252883626f9a240ecf3", - "sdkVersion": "3.0.0" + "originGitCommit": "9c2d4590896be80f2c5e182c1972bcad068fc381", + "sdkVersion": "0.0.0.dev0" } \ No newline at end of file diff --git a/poetry.lock b/poetry.lock index 1674163c3..9c340433a 100644 --- a/poetry.lock +++ b/poetry.lock @@ -13,172 +13,172 @@ files = [ [[package]] name = "aiohttp" -version = "3.14.4" +version = "3.14.5" description = "Async http client/server framework (asyncio)" optional = true python-versions = ">=3.10" files = [ - {file = "aiohttp-3.14.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:dea3b3653c1d0d6babd8ce09cb9e5a7776864315d9cfb1c569f926389874a261"}, - {file = "aiohttp-3.14.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3099a389e5b5900fc79c6f613015ff3f8fa06a519744e6001cc68a31ba418cac"}, - {file = "aiohttp-3.14.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:70247156fc76e92919f9aacb820556cb30289a54784299a31714d030bb604d84"}, - {file = "aiohttp-3.14.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fdf2d2a6ad402797422949f4a200a60d43e3a021695c8a7804aa1d5bbef22652"}, - {file = "aiohttp-3.14.4-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:ba835fad8d4b5eaea0d34f9461cf499737a720a5f8bc6768d2f6d98a1d3ba8b5"}, - {file = "aiohttp-3.14.4-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0d4415ca5c9c8b24bc2f5733f870d4eab4929e680203559ba60131dd1a27852a"}, - {file = "aiohttp-3.14.4-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f6757e02c2c2b0d7985f57be87cf4a7c5b35708f849e1feaea3f77656ddb9dff"}, - {file = "aiohttp-3.14.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2a950bd8418ef54eccf5f9f517f08e37c1adab4bc50a470a0422ee1cc1032e29"}, - {file = "aiohttp-3.14.4-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:34cf6f2fe4fc1d7183e8cc0d8c48bbdda828a740bc372d8278126149714d343c"}, - {file = "aiohttp-3.14.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:bc0fbe4f79c3b156d754dd062718ffe404c3b31ca878d9d2b88ecdbc72ef8369"}, - {file = "aiohttp-3.14.4-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:d3d50a5a07a2b31a4369b86dd4a3acf3c2577c45091dbd5e884b198dec56480b"}, - {file = "aiohttp-3.14.4-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:de15c46a63f46da881d219e44a04778c40114c756e5575b5ea38143b20eb3713"}, - {file = "aiohttp-3.14.4-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:caa4c0fc9b25e8c679baac68337e9c00deb6baf6601fe6f07e8511469cc1ceba"}, - {file = "aiohttp-3.14.4-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:3647f8c090632c70abb1e80826e4ee24faea3f895f0283b60e91a0b17aea5e34"}, - {file = "aiohttp-3.14.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3f3e8030169843fb652a60a3d32c206e03f260198aa398985a48b41cd7e42f0a"}, - {file = "aiohttp-3.14.4-cp310-cp310-win32.whl", hash = "sha256:a1205cbdddfca1428129bb6d23e0b292b09e681df951fa828145d83a63ffc0ca"}, - {file = "aiohttp-3.14.4-cp310-cp310-win_amd64.whl", hash = "sha256:e90980e0454a043f81b435309a089ac5deab883779557eb58d004f33990f61e4"}, - {file = "aiohttp-3.14.4-cp310-cp310-win_arm64.whl", hash = "sha256:e63eecf9a4b670a24055d5c0486128af16f83b02d9817abd685d3238940f8752"}, - {file = "aiohttp-3.14.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:eb0093ca0817019d539f0d27bdf98e823944e05bb7efd9d2337a45b92e4d1b06"}, - {file = "aiohttp-3.14.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f482dc9c8309801b4259dd218609d3dae0a7bcdedeac56d90500eabaa0c23465"}, - {file = "aiohttp-3.14.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:aa800bb7c1d00e166493931f2ddacb982db913292503dc2f4884db1f2bc5f105"}, - {file = "aiohttp-3.14.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d90e4dae71b26597f6d1fd12af7d092ae67551edf0e524b73e0687214b79ee33"}, - {file = "aiohttp-3.14.4-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:5b681054b8c3b86aa6a0384b6ad7f5cb78dccbabab1f4a3a6793f98ad1378959"}, - {file = "aiohttp-3.14.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6dfe80b41bcf8d80d2125fb99a171adeb86db2fcb35c1a68e0226acba0ba7f03"}, - {file = "aiohttp-3.14.4-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:71e4a59c6a8c5a6ae8b0b696c32635913e8f526cc01448762eaf5a3c59df8a4f"}, - {file = "aiohttp-3.14.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f887c3b7fb3058fc1ccd917f52078540c18d938d12018cb9edd64b6811d20c57"}, - {file = "aiohttp-3.14.4-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0da4525e9ba145a11617d2cd7e44fe1acaf471f9c72a0cad28e72879c1020fbb"}, - {file = "aiohttp-3.14.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f7e8d3c5caa44fdbee3eba1aa1417aa58c74c95d4089fe3c451911117fcbb2f3"}, - {file = "aiohttp-3.14.4-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:09092cf906c18c824b6b16881da5a89cc9cfa9b15344e496bcf880e9045bee33"}, - {file = "aiohttp-3.14.4-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:dfd144837e92264878bba6d3a7ffa8206668b21e87748740afd45d193e48c87e"}, - {file = "aiohttp-3.14.4-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:9413cffe4e0d654b9b524f9c99dde8cbdb37e0ed9a2c4edd2e63adbac6b374e8"}, - {file = "aiohttp-3.14.4-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:f50d719f97ba488dfb8e306cf8c8cc172ff0683ec0af53917b288229aa555ba5"}, - {file = "aiohttp-3.14.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:68ed4824d96b7afec1f3a8d7fba190fe282718041c5772e20298003e1e3e5d66"}, - {file = "aiohttp-3.14.4-cp311-cp311-win32.whl", hash = "sha256:d7a41d1427136828e6b11d3f3fd194d4357d5205a5b610be7ae07b1ba52ab974"}, - {file = "aiohttp-3.14.4-cp311-cp311-win_amd64.whl", hash = "sha256:2efbdb87e79d596325c4eefaef0f4495d701145e882351310ebc538e854dc7a3"}, - {file = "aiohttp-3.14.4-cp311-cp311-win_arm64.whl", hash = "sha256:ac6e6f90d9360e460c873f945f11dc8698db0a71fec6612823f1aaaab2c11faa"}, - {file = "aiohttp-3.14.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:55b0b335982b0db7117dff7f6a8e3aad43c4105f9e392ca04f9fc8d958a95cce"}, - {file = "aiohttp-3.14.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2d0d8e435582b0d53009dac99e26a3d2be932ed7c9dbfcfc70f3fce1cf943bd5"}, - {file = "aiohttp-3.14.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:bf734016932d68e1324cfb638cac7a0866a83933a33badf15e836a7e24efb8c0"}, - {file = "aiohttp-3.14.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:322e3d741b3133bcbb981a41d4f9b8ac3545c18de49c662c2b1f4e1c770b98ad"}, - {file = "aiohttp-3.14.4-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:15a3bb5f90a4e515071f3617a45dfe26560beb834a6b6e108cdf4bc9e9719ec3"}, - {file = "aiohttp-3.14.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6c044e52df1a466af82cad3518c92ea80cc4ddcfea86966ff083bb34bab29bf4"}, - {file = "aiohttp-3.14.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d613d7d51bf06fe9a5e3aab86ce06d835bb0ceb1a31ea9e8766df4a403ae62a6"}, - {file = "aiohttp-3.14.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c5e93ab6e6330dce40f5b43996f1fc5f2543296d263a5e4b59ff09e73870b7d8"}, - {file = "aiohttp-3.14.4-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:20134dc8e68c67e7478124d516449428684c0545b2d3faa575691c8bcbd56678"}, - {file = "aiohttp-3.14.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f0daef5ef012369dddc391c61f604111424aa9a96313a69fb899018b09d1b01e"}, - {file = "aiohttp-3.14.4-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:19290a108de0718b73bc69b86e788975c6a59855c671ebe2a98a07a6f968328f"}, - {file = "aiohttp-3.14.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:1494877625baeffab669f4a25a09ec4eea721b49e35363081a2a8e4231fe141f"}, - {file = "aiohttp-3.14.4-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:a779ce4bf099ce4ad2cdfed62f1ca536d435f53237c54ff40172fddada24d1b5"}, - {file = "aiohttp-3.14.4-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:0b4cec9fca876e2d4f4c6cb32b177390132d04618867689f43fefabf3f5c3980"}, - {file = "aiohttp-3.14.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:217707313e23aedde9bea67cf8365c7b138b549ae179121ef3f476cf67e3173a"}, - {file = "aiohttp-3.14.4-cp312-cp312-win32.whl", hash = "sha256:18a9fb9a3f6e6e63f4d27f9adeef313a2d3c69a84d31170a844623824e722534"}, - {file = "aiohttp-3.14.4-cp312-cp312-win_amd64.whl", hash = "sha256:69dcb02d33dfe415d5ee342cc63b7d320efcaf4b761701c7bd7bfb91c715481a"}, - {file = "aiohttp-3.14.4-cp312-cp312-win_arm64.whl", hash = "sha256:d36b0263e7c2fbf1750b9f35d4e7e48b0442d8c45e4a89e3e74168821fb014bb"}, - {file = "aiohttp-3.14.4-cp313-cp313-android_24_arm64_v8a.whl", hash = "sha256:264b5a7568306590c44ae4a0237ad1715e35d447ea44ebf324e4c8fd9f78f67a"}, - {file = "aiohttp-3.14.4-cp313-cp313-android_24_x86_64.whl", hash = "sha256:17e5d7c7775d8dd8e894c7ef6ebfa26509de36868a9a6c7c4fcfaf6a1bf43d60"}, - {file = "aiohttp-3.14.4-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:e91dc8fe9cbd052d16f7f1267e285cf8bbac4d2194bd5741f05ef201c77ed09e"}, - {file = "aiohttp-3.14.4-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:8df6157d31703972aec9e3b93963f039ff06318301e30b007c3e941ff8a7ac42"}, - {file = "aiohttp-3.14.4-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:220912b351549dc736c59d104dc443fa615753102bb778a4e98f86e4d94bff6a"}, - {file = "aiohttp-3.14.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2efa42b39bb3f524d5eca3760639b584afdd1143a6b047fda29910ffb75e4993"}, - {file = "aiohttp-3.14.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7e7356059c8262d2c1fd95242e2b7b70fbc6eee3135bf470049cbec3e968b5b0"}, - {file = "aiohttp-3.14.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:fac247d0cc956d732df1211ac2d8a9999ec8dc1a92a90401de9d52e4ead546f7"}, - {file = "aiohttp-3.14.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6e2eb0f8b03b4f2bd154ed8cf7c1a119a1ad04808c258bf58f90138c83b8c6d5"}, - {file = "aiohttp-3.14.4-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7fbe827d27e0e369fd7bb88ceeaa5b46ea006e73e015b9dd77e3723a53162293"}, - {file = "aiohttp-3.14.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a70387146d03af9f047c629b71aa27d9594b3b31ec4c9c91e1a73d0d8bf38e0e"}, - {file = "aiohttp-3.14.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0d0934926fc65744e2fdd44ce68b2d79d5ee608a1e23f0596b35dd696519bb7c"}, - {file = "aiohttp-3.14.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ff4b366510c733974adb7a4102c094e4a6308e6f369315a4cf14d2d0a619cf82"}, - {file = "aiohttp-3.14.4-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:85fac7c99e0ac3dcbd6ae1c33774e0603bfc732ddb967a6fce4a731103c1888e"}, - {file = "aiohttp-3.14.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ef1e9c3b4a2300023a5dc865889ce532cfaf6798ba4ef78fbbefe738a9d23efa"}, - {file = "aiohttp-3.14.4-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:97e65916588be0f952b3307aaa8460c0771fa98dbea2dd27dabc9f5d84d53c3b"}, - {file = "aiohttp-3.14.4-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:840775cb39a9424f9edf142133a1192263ac5bd79117ad2a16602cef6a0c1e9d"}, - {file = "aiohttp-3.14.4-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:54f9256430ca040d58affbd551513de13a5cff7d065204fc52b9a1b0af09a049"}, - {file = "aiohttp-3.14.4-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:6112d5931bf12c776188cab81b82bbb17d86e2e1381f2ade6edc43e6b240f0cb"}, - {file = "aiohttp-3.14.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:facc6df39047c4732cbd885bb62e40df20885fcd709fc399e11f81b45ce0fff9"}, - {file = "aiohttp-3.14.4-cp313-cp313-win32.whl", hash = "sha256:7968634fa3a967a2bc0b9aeba1d5a1955501dcd7d0de44b96f7ebfb662797735"}, - {file = "aiohttp-3.14.4-cp313-cp313-win_amd64.whl", hash = "sha256:c0a894b0265d139cd4c2c8bd4643822cc289a4a5331e21e810881bd000ffb2dc"}, - {file = "aiohttp-3.14.4-cp313-cp313-win_arm64.whl", hash = "sha256:da16c3037178e72589d91de59536d271dffc92c2be2b47c38a45538cba54fd29"}, - {file = "aiohttp-3.14.4-cp314-cp314-android_24_arm64_v8a.whl", hash = "sha256:749bfc43bb1df71bbe6ed215044d5412d786698fc5771d2037436ca49622f3c9"}, - {file = "aiohttp-3.14.4-cp314-cp314-android_24_x86_64.whl", hash = "sha256:c113e4b489d711f606ca278cd8dc89179746244ea841aa0638b1b134600afad0"}, - {file = "aiohttp-3.14.4-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:50969522bc7022026a2c7968e67da5c789f6b716b988edac55dc630390efd5df"}, - {file = "aiohttp-3.14.4-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:cbf92cd7a1c800cee244558dd5630abb45c1c1093ef7b0d546a99f526ff7a9eb"}, - {file = "aiohttp-3.14.4-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:fc76be08ff407fba717a769aff04ca1b4bf9ecfdcb5caadef84a563fdbbd146d"}, - {file = "aiohttp-3.14.4-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:9b416f995b68a921069e6ec61fa07f2ac3ff033d92e97a69f673af89f5bb954d"}, - {file = "aiohttp-3.14.4-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:2c9585101cfca10e74a07cc0ef2bdc6d90616e6750926b20456f429d0608f740"}, - {file = "aiohttp-3.14.4-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:3c4dcf611b095e7983421f49d01ffbed7ed574891533d606ea115fc23e7c4e90"}, - {file = "aiohttp-3.14.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f8f61a9b5fa56c58e3441f9dc64137f786232d40fb89127190d0e0f84e1e5865"}, - {file = "aiohttp-3.14.4-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d43e538dfc85b705fd832620d050970ef5613b3869a7169b44a554b9dab9eee9"}, - {file = "aiohttp-3.14.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4135c4bb4b7682a7633fadc7170ea969d843f83aa7224e70111a20675105c985"}, - {file = "aiohttp-3.14.4-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:9055324f156a94fdf6dc9a825ae60f9a2947b88f591ea81ee80826633de62ae7"}, - {file = "aiohttp-3.14.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fb22c8e4b60385a9b414c70c6e8b2d0f4b23ff7fc4bb572ceb58297b228169f1"}, - {file = "aiohttp-3.14.4-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3b6945559a260112742ed58cde2165488d2fc51aeea34afbaa99d9371b43e1b5"}, - {file = "aiohttp-3.14.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:8f4078a90b174f15efb2c8725e8720c40dbd3b2cf6350dbc085c964a938d9de7"}, - {file = "aiohttp-3.14.4-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:f433c5654e32f72de3ef074d715eb5c7604eb6d28a5c2f3c9e5056f20fe6b306"}, - {file = "aiohttp-3.14.4-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:871035fe79c636b6bc126ed78df37d72b830dfc751612cb4b1040360edf2719f"}, - {file = "aiohttp-3.14.4-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:2617132524f66338f6c1d218cd16081576aefc40df4f2bcba338a99fbf67fec1"}, - {file = "aiohttp-3.14.4-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:d8bc326133272deee8ef337581550450e4bb735c0520be893b950a1f5baaf41a"}, - {file = "aiohttp-3.14.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:3ec57223e261b7fa9979c12dbce009ca53439be76cac3af27f860d3e4b1d6f7a"}, - {file = "aiohttp-3.14.4-cp314-cp314-win32.whl", hash = "sha256:7242043e71fc449a19a47d92f4e9fd1e0ae8d3f88488982381f422bf6d651218"}, - {file = "aiohttp-3.14.4-cp314-cp314-win_amd64.whl", hash = "sha256:019587c7b3a44917dd61bcb312fd5c034f341dc9851b83e7b41b65e08b68ca0f"}, - {file = "aiohttp-3.14.4-cp314-cp314-win_arm64.whl", hash = "sha256:60dc71d38db0988f37e78f6ad4a010a2f6355cfac3fff5f130cf5ef2231f3f0d"}, - {file = "aiohttp-3.14.4-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:674f53ab9d2794e2dd767619a3384bf1006f8d075e43c19d449a645f8ff641c2"}, - {file = "aiohttp-3.14.4-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:6d243221f73e5ac546c2ed9255100423e4bc092b08b944f23498e8cf3096c26c"}, - {file = "aiohttp-3.14.4-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:0daa016eb74e7888ed5f9ceec6eea3158999c1c4a115ef5cbe88baa8d924f94c"}, - {file = "aiohttp-3.14.4-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:70c031a622aa20add05ebd234b90adaf6bf51c1c88cc305ec760721af83308c3"}, - {file = "aiohttp-3.14.4-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7df363fa7c38945a896e12c69af4a1a56cbd4152791d9e41fd0bac396b72de38"}, - {file = "aiohttp-3.14.4-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:02a508ba5ad91c4d730523584c0adc65882274bba5e37c33bc2f475e37577256"}, - {file = "aiohttp-3.14.4-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0cb3edece6fe6a944eaf97d803b88f606da6bc1600b1894c2969e78ffdc1fc29"}, - {file = "aiohttp-3.14.4-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:21ce1223b461bcc5fb389a7204001578f1c0b85c2da60a84d915ebb021294245"}, - {file = "aiohttp-3.14.4-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:35d5432f0dc1c8b71307e9112461b52f336da225e344283eec4779222c0a1dff"}, - {file = "aiohttp-3.14.4-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:d6ec364493057c118d08292f7cd60865965c209167d8657b45643a26aef77495"}, - {file = "aiohttp-3.14.4-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:70492983b7aed9e61bda82fe1ce80bcba9199610886443133783a288638923c0"}, - {file = "aiohttp-3.14.4-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:a77776673331577147e9d25cd7833a72e8891b47556336cff06ba1569e488b99"}, - {file = "aiohttp-3.14.4-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:73799000dd6fd5247094fd8e6d3e1eb871e41aab5cc35dff9d9f654cd230bc24"}, - {file = "aiohttp-3.14.4-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:27b370fb532e707e8c96d04fa0c96301fb7dba2d50aaca57f6c456cdfffec5bd"}, - {file = "aiohttp-3.14.4-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:884e0d1c707b6217fee3080b9b4029eee7551af788ee761010df19be158414b7"}, - {file = "aiohttp-3.14.4-cp314-cp314t-win32.whl", hash = "sha256:f2e3d34edb151d3e27f93a8338e2da33e2c7261cd4c879ce5f5fe280cc190ea5"}, - {file = "aiohttp-3.14.4-cp314-cp314t-win_amd64.whl", hash = "sha256:88cf889e51092537fe44adfbff96c2a22d6479d6f92b97b3d413fbfd0a4decf4"}, - {file = "aiohttp-3.14.4-cp314-cp314t-win_arm64.whl", hash = "sha256:ca450c6d42fda7c0bfaf0e200f32f77c5f2c960a33be1e14d197c84588b7f5f6"}, - {file = "aiohttp-3.14.4-cp315-cp315-android_24_arm64_v8a.whl", hash = "sha256:3b10799df72f66c30935bc661cb89e5ac2918debfc575e350e226fbaa846cbb7"}, - {file = "aiohttp-3.14.4-cp315-cp315-android_24_x86_64.whl", hash = "sha256:7ffd7f9dd39caccc6b2f68ec0339435ecad2b20f6ea2e2b3de91bbe464ac7137"}, - {file = "aiohttp-3.14.4-cp315-cp315-ios_13_0_arm64_iphoneos.whl", hash = "sha256:a0a7a227353f7693f73878ad14cd2623cafadd656ababcd20e2adfb7225172ea"}, - {file = "aiohttp-3.14.4-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:1c43b6af8e4708e8b3812a9ee4f79895207e12d555b7f6d70deb838e0011e12d"}, - {file = "aiohttp-3.14.4-cp315-cp315-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:97416b2b997e5e9b817e322b2f0a89b76c54cde22471f51ac17ac15e10901ba0"}, - {file = "aiohttp-3.14.4-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:ee2a5aa31e507c17841d592364f2148393b17f83bc2766e9211e1eb31ea72a70"}, - {file = "aiohttp-3.14.4-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:5d5d9843c34866e986dd24eef713452609e304550c471320ce7b54b3cfb1391e"}, - {file = "aiohttp-3.14.4-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:efcbf93e31b52c21665b6ebc489eb6fdb0dfd86b592edc677b5cffdfa7b11677"}, - {file = "aiohttp-3.14.4-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2f1a79977794592dcf6485ed964ec2448db527a1bc0c72ec89663658dad3a739"}, - {file = "aiohttp-3.14.4-cp315-cp315-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:515e7ac6d27509dc3ba2c35fb88970b00b9e7b07ee7cc947c8733dcd54ef5def"}, - {file = "aiohttp-3.14.4-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:185154ffa3b54765b5de96f464f41cfa476f8815a03854ae5e0fe4d48fb06e9c"}, - {file = "aiohttp-3.14.4-cp315-cp315-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6aece59f77959628a22cd2ffe48b102cda9611d680e090f204385b3998a1190f"}, - {file = "aiohttp-3.14.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d7205aa6589f1ad1306c6994ff2e1ab5efabacf938f9ffd7682fb225c197b06a"}, - {file = "aiohttp-3.14.4-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f38c7b3ce60d55ac0f2a9fd2edc194789d043fefea15cfb7dcb40b7d5f561146"}, - {file = "aiohttp-3.14.4-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:b0a1274ee4ee6203c15a341cce87f9f3df8151d5496047b3608bb62bd969cffc"}, - {file = "aiohttp-3.14.4-cp315-cp315-musllinux_1_2_armv7l.whl", hash = "sha256:69ce2407951516f413adf3132b88451eababd710ce631f83c81a9603a3640253"}, - {file = "aiohttp-3.14.4-cp315-cp315-musllinux_1_2_ppc64le.whl", hash = "sha256:b84d3d057c60eb8e0c2b457a1203e868d82709d3f0c272a4975dfd88c2414939"}, - {file = "aiohttp-3.14.4-cp315-cp315-musllinux_1_2_riscv64.whl", hash = "sha256:4ecc84f69c9e217984f6877e832e4786a74567432c0bf2b7512919fbdfe18ade"}, - {file = "aiohttp-3.14.4-cp315-cp315-musllinux_1_2_s390x.whl", hash = "sha256:878f2d7950238b2b0a8cbb88054444a125f0cfbc77f54c811aca0483132a9be3"}, - {file = "aiohttp-3.14.4-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:6ff9d3a0e6935f1cb0a6685f9f4b3f0d3e406456d7a434a03cf309b8cd5d7a2e"}, - {file = "aiohttp-3.14.4-cp315-cp315-win32.whl", hash = "sha256:e07dfd7cd360f20be26dc2487ad4c7f21b0b39fdd593e9ebf37d2424ad52defb"}, - {file = "aiohttp-3.14.4-cp315-cp315-win_amd64.whl", hash = "sha256:921fc4f1ad549091bfc39cb5e93925b04f307f83517756a3111843851130efce"}, - {file = "aiohttp-3.14.4-cp315-cp315-win_arm64.whl", hash = "sha256:5be8af106f96fd625f6c264fa9faaaa9e0104089684d9015d2fa5b6eba6407c7"}, - {file = "aiohttp-3.14.4-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:e69727ec04a4608200ff32ec29478299df7657e2eb78c416ae338d0ca6662596"}, - {file = "aiohttp-3.14.4-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:f8b658dd3ef2ebd7708b311ed96ff7cb5edaca001a30018a091504ef492bcb1c"}, - {file = "aiohttp-3.14.4-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:3749e018123df1205161a73ba96d336e17e9cf6b947295e53a43571de420e7b1"}, - {file = "aiohttp-3.14.4-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8f28a3c4fca436b2e594090e7cd22558f5e93a30ca18516c436de982da6fc25a"}, - {file = "aiohttp-3.14.4-cp315-cp315t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e099aae21246992a1d84303ff262262d054c474e46cace33b0d5a69810c71877"}, - {file = "aiohttp-3.14.4-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:fafb521891e646d9cf5da89f01c75e7159d08be7254a024149630a698be28251"}, - {file = "aiohttp-3.14.4-cp315-cp315t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1d385db2cd154bce0b3dd451cf2a52bec91ebb7be2c3a5d06b14b4391631d807"}, - {file = "aiohttp-3.14.4-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ae8a244889d8a53549851bf595b9f382f64acca57e8762da1ecb26ba786828f7"}, - {file = "aiohttp-3.14.4-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:681dde68ff8d8d5e7d5abcad4feb45bfb457a218310c919825e21fc36cac3d0b"}, - {file = "aiohttp-3.14.4-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:b91a6441fcaed88ca7bca67726b189332df3ceb6ac0dfc98dcb9654bb723288c"}, - {file = "aiohttp-3.14.4-cp315-cp315t-musllinux_1_2_armv7l.whl", hash = "sha256:f15dbbac49bc15eaff95c0b8166525c4050996af578c7be141e145f40ee2cf24"}, - {file = "aiohttp-3.14.4-cp315-cp315t-musllinux_1_2_ppc64le.whl", hash = "sha256:7abae043e87692d1c2adda1fab501bb0612d28c4a23eb082005c1e684f792dac"}, - {file = "aiohttp-3.14.4-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:21f4624fb1051fc1aa10d57a636a80e829f7d0417462d6f1ce380b08fe1a904c"}, - {file = "aiohttp-3.14.4-cp315-cp315t-musllinux_1_2_s390x.whl", hash = "sha256:2e8dc3a0fdaf9d12b954d3d06cc4c355d91b17fb6c671715b593624ca4c379f8"}, - {file = "aiohttp-3.14.4-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:1410b6f6e3d52ea7c02c950496522ce6e85d5543bf154bc80a6141e505251cfa"}, - {file = "aiohttp-3.14.4-cp315-cp315t-win32.whl", hash = "sha256:a65189a89f3e621f7c27a968b5131bbca29126e2b8517dc72b205747a39d4c96"}, - {file = "aiohttp-3.14.4-cp315-cp315t-win_amd64.whl", hash = "sha256:2b2c95f5f769eec92b552969db1f79ea0282058ce5131ed0f2fa540b4af3f14e"}, - {file = "aiohttp-3.14.4-cp315-cp315t-win_arm64.whl", hash = "sha256:54209fff79346ee1ef0d5cbf92fa80a5bb37396406bb4d932e5107f9c29b2d3f"}, - {file = "aiohttp-3.14.4-py3-none-any.whl", hash = "sha256:5c6758ba62aea282c537179cfc8474a90f2b5f7b089cc5ff66d8920d86a9bfdd"}, - {file = "aiohttp-3.14.4.tar.gz", hash = "sha256:831fc5bd39ec2517851e348f613ddb5447a47cf4b71cb09845af7ad7ed45d8f9"}, + {file = "aiohttp-3.14.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ef692a24087a699c0a4a26af45e746e0c1eae2116f6d8a5ff91d8aae2b867b45"}, + {file = "aiohttp-3.14.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1220353657ad49493551f089ce02f1a348fd57ffd585bfec77f2f3c4fe3a7346"}, + {file = "aiohttp-3.14.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:330900acd0dc4cb8b27f9c127fbaad770964845338493e7906ae3822e82dbf8d"}, + {file = "aiohttp-3.14.5-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0684952aeae1f5dbfe02d46039338513b94009baecd15d8e4098a357c4c4a2a6"}, + {file = "aiohttp-3.14.5-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d94e44be379e569758fee8a9a58431cfc3c2598c708b92b1cfe96c66b4c94aef"}, + {file = "aiohttp-3.14.5-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5af42135fdfebdadbc2bcd9c0842a48ccf0d62794c36a260b21dc4b94d1e0119"}, + {file = "aiohttp-3.14.5-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4f07fe3ac408d8b3f768be471dc3f56d43843c47d97c66120534467a15ead197"}, + {file = "aiohttp-3.14.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f375db73a39f5cf83696d500e21a67f418dc9a988955756f254be8f03b7b3651"}, + {file = "aiohttp-3.14.5-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:8df7d481654ac96fe1ba9a02a9f67770fdd367823e0d5ef01b922725c4bd2cfa"}, + {file = "aiohttp-3.14.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e95c8def4b81c5d68d5cf1f54c07acd7c0d2577af244e5b6da802120825737c6"}, + {file = "aiohttp-3.14.5-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:f2ebb54b3f932210503072f09974b4fb574d823e497a944adfdcd140a6a00255"}, + {file = "aiohttp-3.14.5-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:038c2c7e8caa26b6c8423779b5eaf1893904048a512c19b32fe841ffa5592b50"}, + {file = "aiohttp-3.14.5-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:b7806e804889231b0e06469fd4a5c06313d1c0a3377322b6d9237fa5e0fe4167"}, + {file = "aiohttp-3.14.5-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:9bab2045550c4fe0f7baf89574db1b455c195750702ba96fef1f16972b146617"}, + {file = "aiohttp-3.14.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:96a2e584f0b9ed8f1fa33211397dcf67bb7069866402cb405d191c2f0defb9a3"}, + {file = "aiohttp-3.14.5-cp310-cp310-win32.whl", hash = "sha256:602c1e9b718a3275c580149f947e7fac65044c0a20e599553fb12e9700da9eca"}, + {file = "aiohttp-3.14.5-cp310-cp310-win_amd64.whl", hash = "sha256:bea559ad70218d230663e4210875735076a9bfea5994cef34a55a25faeaf2544"}, + {file = "aiohttp-3.14.5-cp310-cp310-win_arm64.whl", hash = "sha256:dca3fa8d8a0a26679862eccb0b1a9151b2b9f1cd2c212e7a6335778faaff5833"}, + {file = "aiohttp-3.14.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d51db97c96384fbfcaf8f4c65922183a68b94f891c3c10c862ef5f6df2adbb1f"}, + {file = "aiohttp-3.14.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ae53924aa853a7a2ca20ed4142c7c6b56338e4d4cd999e2980075b9efc2e257a"}, + {file = "aiohttp-3.14.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a2c473a355f9239efcb72c92d5abfd8fcdb0cc78c8e9af607e72ca12dbb36593"}, + {file = "aiohttp-3.14.5-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:32e8fa6644e541fcd7e02430588c7fc93b602c1778ea0bc345505db76b61cfb4"}, + {file = "aiohttp-3.14.5-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:579f97d5120f2971876d2ddca2968135f6944d00c44c3a6590ad7d86ca9b403f"}, + {file = "aiohttp-3.14.5-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:24409db442e2fb6e766bc7f3943851a8381dec3098140e43bb2e843b79e31b12"}, + {file = "aiohttp-3.14.5-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5e8f97c0488ffda3082766ac0f2c8150a9a58c4d05788330e479cfd449b37939"}, + {file = "aiohttp-3.14.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50a195903119008fe9cc68710535eb37f556ffffd6a7759afe70a2c145587045"}, + {file = "aiohttp-3.14.5-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0133c3c3b54a0bf1e71fa5c1ad95c93f07fd54e24ef1fe182f5122e1573d2bf1"}, + {file = "aiohttp-3.14.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c172db893e516e1358e65a95ee20b7ce7173963eefe318b6ab2a2220688b999e"}, + {file = "aiohttp-3.14.5-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:f2a7966bda23dd85051f1661ce0ace38d6890e05ec6c357ecae9d2479cba377e"}, + {file = "aiohttp-3.14.5-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:4887d130a7bbfed3a85493bb5a25e5b5b558d40c1d986dd16970d2bb26d63793"}, + {file = "aiohttp-3.14.5-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:225c579c23b68b343cccea27a7e06e3bd8ec23a09c30b427eb3f1e4ca6239b20"}, + {file = "aiohttp-3.14.5-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:ab52d8f1fc1b64821c1fbad64a647ed6203627004059a6d1ed4f0858a1499703"}, + {file = "aiohttp-3.14.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:cb131d775a1573c1aee66656bd78b023577bbdb6cb8349a07773bd4f73e68a6e"}, + {file = "aiohttp-3.14.5-cp311-cp311-win32.whl", hash = "sha256:e87046c8ff77a8decdb6a41d8ab25824b47531b2da933aeab0c1e21c7acff329"}, + {file = "aiohttp-3.14.5-cp311-cp311-win_amd64.whl", hash = "sha256:6f275c11d1aa6d4c458e05a68be084efe3c55a113d99e3f46a318098e52948fc"}, + {file = "aiohttp-3.14.5-cp311-cp311-win_arm64.whl", hash = "sha256:b032a0023eb41d768ce77d83210ab2a3c389bc0b09313273c7e1eca48c10a755"}, + {file = "aiohttp-3.14.5-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:df37b620684e19b5e25724412518ccafc3b1a49cdac706fdbd2f983fad943450"}, + {file = "aiohttp-3.14.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ef60869969180ec2464f1349aff07138ae35ca2200f0946cb3552e49e8f301a8"}, + {file = "aiohttp-3.14.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d079c0a0135c36e7beb6f1c88087c8f108dc5891cdd0b5eafa778421bda70ed2"}, + {file = "aiohttp-3.14.5-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:abfda5cb094a829f7bc25216a32f7db2e85cc65bd59910f8e7b40b3d9b224764"}, + {file = "aiohttp-3.14.5-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:9cc882cf8619109583c906b4d4a85d6a111a98afa34b7a450d1e08118d016820"}, + {file = "aiohttp-3.14.5-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7457580535e019e1247ea35d6a02bf081ad30c26d0cbc210c93f6c3ab67a0835"}, + {file = "aiohttp-3.14.5-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c5ed596aedb9c42afd3fe0aae3117725378ac73d2cc5ddc735056fbdb96c5d02"}, + {file = "aiohttp-3.14.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:20f085697d7e911f1f73c43ed03fafbed1e7121797e2eb5428efa80398060584"}, + {file = "aiohttp-3.14.5-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:74b0a9c8270f9b0a11410e124ff8d4f18bfc1f1837440ec84da5ae7b50927b5d"}, + {file = "aiohttp-3.14.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:19e2ba471507c34f8252402ab50f5ab512398b9ea8c8f1cb26beb3f75793ba30"}, + {file = "aiohttp-3.14.5-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:d418ce2af40c6bb685b3f663e9e8de27cb0a22431d8e88a167348d7f01878073"}, + {file = "aiohttp-3.14.5-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:70cb4008ac2ed1e0ca9e824deb4b53d3aa0d939109698ebf1e723a84337bd794"}, + {file = "aiohttp-3.14.5-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:a23fe35d776bc03cb495938b9594450d047e3bc08c5255315a82323e9cb7d2dd"}, + {file = "aiohttp-3.14.5-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3e0eb43bed3c6801a6cee315195377789e90b2a72c2277a475b578535312488d"}, + {file = "aiohttp-3.14.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3be7dd397d64ca3e1869626fa9318aaebb54b7bf93bc72d7a205448d83e4f748"}, + {file = "aiohttp-3.14.5-cp312-cp312-win32.whl", hash = "sha256:eb324e2009fb54db30a071dad7caf6998ee2879c4704007efb244514dad1fec1"}, + {file = "aiohttp-3.14.5-cp312-cp312-win_amd64.whl", hash = "sha256:2cc38a4f2b516bef1714e690df87a0e043faf1a7693c82d860091684453d5111"}, + {file = "aiohttp-3.14.5-cp312-cp312-win_arm64.whl", hash = "sha256:a63afd1f757de949028387e65a7127b61ad0f775432dbb0e62816ae619fe69ac"}, + {file = "aiohttp-3.14.5-cp313-cp313-android_24_arm64_v8a.whl", hash = "sha256:9ad7e6aa38c20da1be697874349c4c273c8a03b7887169665081706398d0439a"}, + {file = "aiohttp-3.14.5-cp313-cp313-android_24_x86_64.whl", hash = "sha256:f59c7673465908cbe506117176156c127f29f917677afceada34957179221d91"}, + {file = "aiohttp-3.14.5-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:1b5416552740edf07234cc9437d0706f2acb67b93c198670b1a68e1b2b587dec"}, + {file = "aiohttp-3.14.5-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:43351bdb5e4c3cb7d1772368e988534e869a74db7778079a83782c11c69535c7"}, + {file = "aiohttp-3.14.5-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:c8c4478bef6d57fcfda15dae461ea3c9f06aa7b257c58df3f2300174ccbb185a"}, + {file = "aiohttp-3.14.5-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:c2c30484dd1417ef98b51021ffa2cc0d7f3c78918adaaaab7e70817335ab3e02"}, + {file = "aiohttp-3.14.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dab9ac5a67c8d1f070c00fa8fccb7cbd1b8dcc1a8d6b42f37540df9b3d4cc603"}, + {file = "aiohttp-3.14.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e1cc2bfaee8c214f06080a7c7d5772419b8a1108e8e5349236189811823fb02a"}, + {file = "aiohttp-3.14.5-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:74efb69332b85675b1eabd760a8cfc2e2cf42c60607c66f88014c1bdfb40942d"}, + {file = "aiohttp-3.14.5-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:42b5e616946dbaf505e2bff18c9af2cd4ef9e7ef300ee58a6e951a5b7cf147ae"}, + {file = "aiohttp-3.14.5-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f9033b43f511f27547c557dcaba0177649e10a3725336ccd2cce0fdc1dc4850d"}, + {file = "aiohttp-3.14.5-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:15a310d3c71398e3d7bfc93a1a73fbe664315cd9e9016b8efc1cff85eeab7155"}, + {file = "aiohttp-3.14.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1ffa3a523a36d8628f98c06492ae16a31a23d14c0b4ec721757b477319f656d6"}, + {file = "aiohttp-3.14.5-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:5fb6a6e919bfb703227bc1ce6579281b84b1a2ba57deb9794dfdbec7dcd1e40c"}, + {file = "aiohttp-3.14.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:43e1b7994a8b038125f722bff07492ef501110722c2727c408995d9fb864c421"}, + {file = "aiohttp-3.14.5-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:5f3e96071686755d9cd3600c3880183eb94b012178e92746d68101800f0ed8a3"}, + {file = "aiohttp-3.14.5-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:cd88b01f3d37b7a2a34f91d98f14720206f1ea3d540843fab2d649dd5fb91fec"}, + {file = "aiohttp-3.14.5-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:f2ed8b64dc0c651c0f5a9c926777719770021251b8f336d97c4b80b660836ce1"}, + {file = "aiohttp-3.14.5-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:a9918e58faf62ba2c7147927d06057aec78f42475aff5048047ec47e7265a600"}, + {file = "aiohttp-3.14.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:42f320d4a5b00b9af0bddcfec5407dc6f2d9816f006b2f79ebbaa31f16895df3"}, + {file = "aiohttp-3.14.5-cp313-cp313-win32.whl", hash = "sha256:3ae800a20947e2c2e53088047d021e6bf7d51560cc49f6a0737a1f79d2e3a13c"}, + {file = "aiohttp-3.14.5-cp313-cp313-win_amd64.whl", hash = "sha256:d05e94cdfe0d15d0206f970722d2554780ce562787b21b218b275447f8751319"}, + {file = "aiohttp-3.14.5-cp313-cp313-win_arm64.whl", hash = "sha256:f001b571ead90ca1770f1e616db255351a1703317f20374c361ef22f12c06d09"}, + {file = "aiohttp-3.14.5-cp314-cp314-android_24_arm64_v8a.whl", hash = "sha256:939042d5cda21d41a6f512e7cc8b8e33a2aebff863352251da495fbd91b673b5"}, + {file = "aiohttp-3.14.5-cp314-cp314-android_24_x86_64.whl", hash = "sha256:6da32b5ff3fd78d244e37300463434c7145162bfd2b6e9e915ab164da37f7343"}, + {file = "aiohttp-3.14.5-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:1b438b73c38111818d0c9d6a5c2bfed8584c8e503a49ef085d70e874ec846738"}, + {file = "aiohttp-3.14.5-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:755933b107ea7a6a9ac916f635a70595a5b1a32fac10a8ff0b9f2ab88555550c"}, + {file = "aiohttp-3.14.5-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:b3cc509327c7b27f6f4727a8830f4004f6df7766e179f2f4b8e54e65c0bec5d3"}, + {file = "aiohttp-3.14.5-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:7bd8ac754ebd6733a3e2a0dd1674c4d8ab086196803fd8dcd776f07b4e2607d9"}, + {file = "aiohttp-3.14.5-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:e724a7b6091f0b1ac064f9d1b15ff9ec52e6033a86cdae649e5f086e32a3c0db"}, + {file = "aiohttp-3.14.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c32e26310cc10e547f53cd13d39a369034f69dcb7d749d5cb0e5f67bc196b6ba"}, + {file = "aiohttp-3.14.5-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1eb8167961ec4dfcc8cb9dd50bd0ee72519f7ef496be95203e49e27b01618382"}, + {file = "aiohttp-3.14.5-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c1d60eafd9c7e8e74abd03a5b00df44e7febfe6d9b89b559c0a6551eef0699d4"}, + {file = "aiohttp-3.14.5-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:137351bf20bbed9a65e839f4a4452ac377389bdb2f2857d2acffef38f5e9f2d1"}, + {file = "aiohttp-3.14.5-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:fba47bc2c3d7303c3d027c6cf4d07626c37b1314ac81f5820c31032e0ca1f677"}, + {file = "aiohttp-3.14.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:94684b879ac1d71e4238850c99b62dc1b28d9086b156a2555f082010b85a865c"}, + {file = "aiohttp-3.14.5-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:56572c42e3ecd636de8d2c3dd54cf5fc939cb5c32eb56297f176a0d366fac622"}, + {file = "aiohttp-3.14.5-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:a95529a92a446db351675f4aab518feaf5e99842f63f5dd17160c2b74f382db3"}, + {file = "aiohttp-3.14.5-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:3edbece0379b8b4aaa67619b8aa2399bb66fce372cd5911098a434ea77220aa0"}, + {file = "aiohttp-3.14.5-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:56d9828f204331a5ca8850fcfe2bcce95a149f1f223f60cc7216e5524978e480"}, + {file = "aiohttp-3.14.5-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:20064a177a070d789ee64a50b01a9161d3468e989baacfc6c714aa685c4b332f"}, + {file = "aiohttp-3.14.5-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:81c2b3dfd56c62bee6108e4852d5970b4cf9086390b6983f52b666e878c1f115"}, + {file = "aiohttp-3.14.5-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:09ec102b4b8c9a920275733bbc11fdbb615efe6f9231a06007c0218d336fb77a"}, + {file = "aiohttp-3.14.5-cp314-cp314-win32.whl", hash = "sha256:9c428eb2bd8817588d16a0ab898aa4eb5d141f896aa2b394cc79a4cf61d9a8e2"}, + {file = "aiohttp-3.14.5-cp314-cp314-win_amd64.whl", hash = "sha256:6f967dde489ca6a8c02d093ab245d2cbf50ccb5c36adf0188b17b0ca39d24b67"}, + {file = "aiohttp-3.14.5-cp314-cp314-win_arm64.whl", hash = "sha256:1d2d981b53dd09a319e3570ef8cc3bbc3ef86f5a7abef0f6b2bff3867db3a9e7"}, + {file = "aiohttp-3.14.5-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:9ce66feae6ac65327379460380549bf1b8df8e17c4e25df2a2bcf168272e3bed"}, + {file = "aiohttp-3.14.5-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:27c2322e03f66101acb09869ce1cf1efc04994ee95e1735b69827bf8c8b9d781"}, + {file = "aiohttp-3.14.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ff75a7537413a86e7cafe98e0e1d6e3dc4b15c6349896e7d5c6b881bfdb6d550"}, + {file = "aiohttp-3.14.5-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9c061aa954daaf57d2a4b8374f9fca621ef0e1b603584431c220c22458c59b6d"}, + {file = "aiohttp-3.14.5-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:1612fa5857b37bf32e5c1eaeefb96e3b01e9c70679eec81f0934e8a600080863"}, + {file = "aiohttp-3.14.5-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:adbeee7d6fd4cf5fe0aece2fb3edc4243615d3180430ba8149d01a90670cac99"}, + {file = "aiohttp-3.14.5-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b2966998927d7bed9db12c0a4647b0c7b179755878fc9c357fe1ffd3e3b0c1a5"}, + {file = "aiohttp-3.14.5-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8e317e0fb6b16212c881d2205a7d87414c29acd69320b3aa6dce9d9c7b86fe4f"}, + {file = "aiohttp-3.14.5-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:50343c1757b4b6f6708eeaf24534b32f19dfb99fb1b762c00420867a62fc81e0"}, + {file = "aiohttp-3.14.5-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:083673c7a94c3ea035caaa5ca04288bdb44887abfe1f5ba23294e6a4b03efd2d"}, + {file = "aiohttp-3.14.5-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:2528cb4c6b92008c76ac9ac6298624069bb2db91ff4929905512d1d84485f658"}, + {file = "aiohttp-3.14.5-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b1b8ece1e71132d2afba4dbc0c3d62c766e25165990b25db1196c04969eb3d84"}, + {file = "aiohttp-3.14.5-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:fce9523df31cea6284f3e2c479876750d7687cf671d7b25d32b19effc0e86441"}, + {file = "aiohttp-3.14.5-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:09e0eb18c7e0c8777e2f9149de63799195b9b3ca1b5c81ba6f32f2c6b8628210"}, + {file = "aiohttp-3.14.5-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6774814fd5c338e72ee0da5cbb9432816df450e69c019f72b5d29bdec2a1792d"}, + {file = "aiohttp-3.14.5-cp314-cp314t-win32.whl", hash = "sha256:33f706574e32c6e694f352a856e05caf18f7f2c871b3e87b41c55ea452b409ab"}, + {file = "aiohttp-3.14.5-cp314-cp314t-win_amd64.whl", hash = "sha256:5ba14a839fbe87cf7c12a6b5661c05f324a296eb8363141edb3944ba63d4c9d3"}, + {file = "aiohttp-3.14.5-cp314-cp314t-win_arm64.whl", hash = "sha256:1061b364556e8172e8d46b0b183adeeb73e8c42d30ebc745591e1bd89acad52e"}, + {file = "aiohttp-3.14.5-cp315-cp315-android_24_arm64_v8a.whl", hash = "sha256:788ecaa9c10533b786ce5ba70c4f2df78ad41819fd00a6c99d92b66f9a32e1da"}, + {file = "aiohttp-3.14.5-cp315-cp315-android_24_x86_64.whl", hash = "sha256:5c76f1802bab718a68ac3cce447160605c734551f95c67ae90fa1132b215cb29"}, + {file = "aiohttp-3.14.5-cp315-cp315-ios_13_0_arm64_iphoneos.whl", hash = "sha256:a6d02b4c38de03d9c7617813433e6a0fb6b522797974177d69d9dad431900833"}, + {file = "aiohttp-3.14.5-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:20726f9782d5c2744c1c66255842d1d163bb3edcf768b8de25216bf47f7b6ccf"}, + {file = "aiohttp-3.14.5-cp315-cp315-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:248d779ad720b49d4fb355720e60c9e5f444f95887bc16974fea48fc56c41789"}, + {file = "aiohttp-3.14.5-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:0a8ea271867e360ac985ae607f4a23ad9a38414b9aca1d49ec98839ae660e49f"}, + {file = "aiohttp-3.14.5-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:823c910f046f23f4c713b8d99a2242dc65f591cb45ee86418fa11762a3c2963c"}, + {file = "aiohttp-3.14.5-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:9b42db919715e91eb76acf3bc492a9a7ccd8bd9adc6745c1412b689735269f14"}, + {file = "aiohttp-3.14.5-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d3112585250b199296c26ca6e0131640b6a8d01bab8b232d2eb3763ed469de11"}, + {file = "aiohttp-3.14.5-cp315-cp315-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c147451b4a58e7050f7f7394e6c467867c84161560001f9ad4fb2d1446743946"}, + {file = "aiohttp-3.14.5-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:bf163cc701f3d4ac43ba7d97771bf5fd955220ef5500ef3ee847bc0ecfbf4ec1"}, + {file = "aiohttp-3.14.5-cp315-cp315-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f8d40ce41991e9d56fab4f5dc4a51fe59bc3b5c77c27f4b148963064d00232e8"}, + {file = "aiohttp-3.14.5-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:276a4fc00b1d9ae492b802763a789c5b86328b989c5ea169f2faa447d6a11c7c"}, + {file = "aiohttp-3.14.5-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:50983e3be33d8c0942ab88cec3905b10602f64c469b20153c48c5d4e558dd016"}, + {file = "aiohttp-3.14.5-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:16c8abd5bca220a47efe667d26f8460124c81810787e79ee87b242677563d9dd"}, + {file = "aiohttp-3.14.5-cp315-cp315-musllinux_1_2_armv7l.whl", hash = "sha256:0790ec66fa4013e83c53b9025a45d454723da1a2fce28b3208c9b32d08af162f"}, + {file = "aiohttp-3.14.5-cp315-cp315-musllinux_1_2_ppc64le.whl", hash = "sha256:cb11a971a3aea10f9b8373be628f1df932964fc6c6b174516d318a48c3ac4412"}, + {file = "aiohttp-3.14.5-cp315-cp315-musllinux_1_2_riscv64.whl", hash = "sha256:932ce7e694bbc29b2bf6f64f2343c27d148d4997c771d01bdade4639b6749ff4"}, + {file = "aiohttp-3.14.5-cp315-cp315-musllinux_1_2_s390x.whl", hash = "sha256:a7d470cf7b206e6359fc77b1b860632fde400d5a2ed59cd0181b93a686bc81ee"}, + {file = "aiohttp-3.14.5-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:6e1d8637cf73eebc92eba2e11d4cfff98a3b562f2505bd75bba766d908926e8d"}, + {file = "aiohttp-3.14.5-cp315-cp315-win32.whl", hash = "sha256:fbdc5ec49f9ca3cd24955cf3520b10a4d4c901ba2572094c84274e9e7eb30534"}, + {file = "aiohttp-3.14.5-cp315-cp315-win_amd64.whl", hash = "sha256:a9d3983bd6ab7aa1cfd573544ae98df9b6cb6912a5185a198263e024a636861d"}, + {file = "aiohttp-3.14.5-cp315-cp315-win_arm64.whl", hash = "sha256:e29347c142cf6e99e0dff5e2995ead1d50fa3b51bf37a7c726a7ccfe5419745a"}, + {file = "aiohttp-3.14.5-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:9bf1d5dcc15204d9ec8b8ea4c18fd66e6b80e5de1f4ecbafb3a2f2740f8039d4"}, + {file = "aiohttp-3.14.5-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:14f04769cfefe4734016a856a83af36133cd17779cef9ae817f812b8ba9d6d51"}, + {file = "aiohttp-3.14.5-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:6e4251c0ba4624a68a2c11471a1ac54c3306876c21f0ae86de085cc9241c8905"}, + {file = "aiohttp-3.14.5-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e4f5cf4dc72a71c4cfa9751b4950be22f733626670230d46e7d606592aa22d59"}, + {file = "aiohttp-3.14.5-cp315-cp315t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:dbf53ae2601b7fd5a93c3944deea3a78d40f495226d582c35ef7a433425ce2b2"}, + {file = "aiohttp-3.14.5-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:657291433bf4dd3142f3abac495764cd47d0c7c92087751e6666c6447e65fcef"}, + {file = "aiohttp-3.14.5-cp315-cp315t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3e51a27980c3788e6e6b3325d694fdd4898087fa8a86b2763af77b39353da41e"}, + {file = "aiohttp-3.14.5-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:82c7583cd3dfdc7dcc927835b4f6c7faae7ecc1ba3ca5879321621ae2e6f8e84"}, + {file = "aiohttp-3.14.5-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6fdcd6af7e2e51d1ba1b4bea16e97b074bcb7b5dd0246a9d8201341bb28085a0"}, + {file = "aiohttp-3.14.5-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:c8859a013ae0de1074660992139a1a440df3e6b219b86cf0d3f11c2692bb4fe3"}, + {file = "aiohttp-3.14.5-cp315-cp315t-musllinux_1_2_armv7l.whl", hash = "sha256:8966ecac808dd5f473c9c4cefd10cd3ffda71c18a4d3493b7c7d2ae1803bf2cc"}, + {file = "aiohttp-3.14.5-cp315-cp315t-musllinux_1_2_ppc64le.whl", hash = "sha256:3093b72c215bda16ce961a6d073f6e71d46e022962a9d5d457c5d4d421c78b57"}, + {file = "aiohttp-3.14.5-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:149fb56caf7acb67073126f675d0958d9c4b3125fcd3f6d4877df98aa8a97ce9"}, + {file = "aiohttp-3.14.5-cp315-cp315t-musllinux_1_2_s390x.whl", hash = "sha256:293d3ae7c6a0ed176a42e59a1b5fde825ead65c835360f734148e96729f928d2"}, + {file = "aiohttp-3.14.5-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:3f2dcc00191fd563e9075181a14ec31d7dd63223ced7582cc70a15a499de0c79"}, + {file = "aiohttp-3.14.5-cp315-cp315t-win32.whl", hash = "sha256:7779cd97e61ebe583ec2f1c5616cdd038aa08a4453b1848c67842176d054948e"}, + {file = "aiohttp-3.14.5-cp315-cp315t-win_amd64.whl", hash = "sha256:0e6f16f5e49c4b8267988c05ab07760d7064cea57d077c3d068d04b0fbb992cb"}, + {file = "aiohttp-3.14.5-cp315-cp315t-win_arm64.whl", hash = "sha256:1aead151c3abbac6b32942e452020cb66d7efc099d253cc6c20f748e926c858b"}, + {file = "aiohttp-3.14.5-py3-none-any.whl", hash = "sha256:efc21a454892828368b11c2c780de0ff8bc991f73f6b99c6b66e56205470929b"}, + {file = "aiohttp-3.14.5.tar.gz", hash = "sha256:5558a7f5a05af9ecf744af91e5baefc436f93c9333e656c27ec253f9a6bbe178"}, ] [package.dependencies] @@ -187,7 +187,7 @@ aiosignal = ">=1.4.0" async-timeout = {version = ">=4.0,<6.0", markers = "python_version < \"3.11\""} attrs = ">=17.3.0" frozenlist = ">=1.1.1" -multidict = ">=4.5,<7.0" +multidict = ">=4.5,<8.0" propcache = ">=0.2.0" typing_extensions = {version = ">=4.4", markers = "python_version < \"3.13\""} yarl = ">=1.25.1,<2.0" @@ -563,182 +563,182 @@ files = [ [[package]] name = "multidict" -version = "6.9.1" +version = "7.1.0" description = "multidict implementation" optional = true python-versions = ">=3.10" files = [ - {file = "multidict-6.9.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:aef74e9beabbd6c4aafc091dabff86d046ccf013ce1e4396c0fbb01b4cad9de8"}, - {file = "multidict-6.9.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1ca5ebe6d454f1e5496cf052386a559f1080bf2de75bf327ebca0a6003b79f19"}, - {file = "multidict-6.9.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:02f6d0c4b70f783305e73f9944d8efe6be1022550f0974ba0ae9d8893c0350fa"}, - {file = "multidict-6.9.1-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:8050e75af7e4c6e2d5260b84eeedb618f3e452e66473432e085b5d1b81429299"}, - {file = "multidict-6.9.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4736d350371337825cac1793c9f7c40701c32a03912548c2a7608e51679cbb96"}, - {file = "multidict-6.9.1-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:02fe09dc197b8ae7e355371e51e5dce2f39060cd5a8badf94904527e23a3f188"}, - {file = "multidict-6.9.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ad4528cdce058b684f75fad1faf4a6a6c992fe2f08376370ca66e4ce5916a84a"}, - {file = "multidict-6.9.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8885e3808aedbd6725b921fb67dacaae0678933561ddd47c2b01315198c70e2e"}, - {file = "multidict-6.9.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d3b6e6840421c83ccb60398e333b44f910b0907bb409597685ab2eedd1e22eab"}, - {file = "multidict-6.9.1-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c9648ed33dc8179e4ec04bbc73bd7f0038e1e81217a69467f61f02a78bf07e88"}, - {file = "multidict-6.9.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d9d6544790ba50438a9c1a903c3c4afb1ec8a7832db5518549275b40ef0dd4b1"}, - {file = "multidict-6.9.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:1c9f3c25df6c9d3bbae4f6fd3f514b1c5c740a2110f56ccf36069c85417e289c"}, - {file = "multidict-6.9.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:cf22b43f35b7dbb9f71e8ee2041b5c00029cdfc28ede3a2f31cf8906f9a6c126"}, - {file = "multidict-6.9.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8ed78ccad4c7b421804f5d524b7740946a7ef75d89dc0dac52e9d7c24c472410"}, - {file = "multidict-6.9.1-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:e3b1aa25f01238886a6baed9e13b9a9240ed344346c79ae280ae65e8603b21d5"}, - {file = "multidict-6.9.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:bc94a68ea5e18f8e85dc6b522bcb53093f692c8eb62b4837ac047da73956cbe4"}, - {file = "multidict-6.9.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:73533644e1f69ea1164d56cc6505f564c6c44072b646b66d67df2d31fed0348c"}, - {file = "multidict-6.9.1-cp310-cp310-win32.whl", hash = "sha256:66987aa68b0f7c2a1cc5f388ca962b8ed92b10f79de38d6d0d8c716154f519d9"}, - {file = "multidict-6.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:a32b78c1e52ebd8e247bb68300b90b233300d8816faa008ed0713bc539fb6af0"}, - {file = "multidict-6.9.1-cp310-cp310-win_arm64.whl", hash = "sha256:ab64ace1a68682d191d9bedd9d4c939406ad86b1d9f628180410644249ad46c2"}, - {file = "multidict-6.9.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:910d4260512660484c0dc1588a316fbb35a40c081c36fc51d1225351af17cfe4"}, - {file = "multidict-6.9.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:33fa55b990f81c2927e01399ace0d18926c69d69baa8cdaa819424132fb97987"}, - {file = "multidict-6.9.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:369b5aa01b241cd3fea6890bdbb11a1425d87bf1515831500d518f4223e9d72c"}, - {file = "multidict-6.9.1-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:803f8b575a71b1b299d677c28db0653459c79b5308874efec813f17b7457c7f1"}, - {file = "multidict-6.9.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b8a65621b98984a62e59403009591b8a5a7736273aefe1cab64cfb85b365cc07"}, - {file = "multidict-6.9.1-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:13849a1d4f54c3809ae721e9e83ab28f5ea602f33660cb84eb6ef261eac706c1"}, - {file = "multidict-6.9.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:dd9a137a4a9becda3094f3831cd026380f75f6855e051eefe4c73ade524f1cc3"}, - {file = "multidict-6.9.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:9ae9614c317c50836689ce2dfde07c05fe0b16378562e2221746c3913ede3c80"}, - {file = "multidict-6.9.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e8f1e362c9352b50ed120f001046fdbb80810c9d56580f4c3fc13bbe30823387"}, - {file = "multidict-6.9.1-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0dd655518f136febd96c05131a76a863e32fc2a1d7acd4e3c959e3ceb77d8345"}, - {file = "multidict-6.9.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2c5d675da8f1cb5650271c8ad5e95c0a3e5a183c105e72d953b12877b1c8d0fd"}, - {file = "multidict-6.9.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:658f90f49cf5af2441cad0a2b801c3ef520471989a1ec55bcb25b255b2ca8d2f"}, - {file = "multidict-6.9.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:43124fe172ada86d03ac3c8dc8179091341f6724d5e5d5b160e1587e4cd3761b"}, - {file = "multidict-6.9.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:b2f0adc22a4eb31e545221d93fc73a0f6a8cc2379d0f4309f71d1d17ba938b82"}, - {file = "multidict-6.9.1-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:7fc59e9ba821b220944ccfe0f89c9dc4745f6d097569992356eb03869f21e953"}, - {file = "multidict-6.9.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:87cc632c88ee5dc80e12681047839304d98ee5c9a708d686505767001c9b8b9a"}, - {file = "multidict-6.9.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b828cf64d62dc09ac183f03c1aeedd164ade96a2ce4934109452edf29de1dd13"}, - {file = "multidict-6.9.1-cp311-cp311-win32.whl", hash = "sha256:2c1aeb92eea59d824f004341b26d5e4b47a8a441cf9726769b9a90abf9d0e08f"}, - {file = "multidict-6.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:5f89dad732280e7a10b74d40b91364f88e13c3f2c08c2ef83a8cd42f7a61af2e"}, - {file = "multidict-6.9.1-cp311-cp311-win_arm64.whl", hash = "sha256:5800368526647146978389dfaa46da3356291e9f0fff9a4ef12e8c2bef964a0d"}, - {file = "multidict-6.9.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:29138fef49828542e859828107e42e50d0e587c513b7eb4b2d92bade2b0860fe"}, - {file = "multidict-6.9.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:19e31815d41cefc365489e591d105d2baceb2f65aa75d29471fbdbda8651e006"}, - {file = "multidict-6.9.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6ed30be8918e18c8bed0a2e8b70639ecf02feb61ed00ca2e41cfcb2a50fa3f42"}, - {file = "multidict-6.9.1-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:637f4ae36264bd7b8d9a60193acddc1d735ad52e8ed53a19931ea6d921fea8e5"}, - {file = "multidict-6.9.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:35fc236507fb1b3138f0af5ecd5f94ed752d4d6d826248eae425f86204013eea"}, - {file = "multidict-6.9.1-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e58952f04772f59f11c6e007471449809a30165188669bca8fdb19dde40a8f24"}, - {file = "multidict-6.9.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d35a4f1c63f07fbb8c8f9946dea98b21eddf6c57421585f71d91864be3ba2a24"}, - {file = "multidict-6.9.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b5f8771aaaed7f80e84a4e471d2f29ab6721e4595075e54d03ae1ed951b2000a"}, - {file = "multidict-6.9.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:976fd7689d69ec78d67d31d38d396d8adb562f7e8368279f76aed4aa451fa06d"}, - {file = "multidict-6.9.1-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:95052e8777a86bae87c0bd0b5ab22d809e3d1d02bf69e3e66ddda5ba75a05805"}, - {file = "multidict-6.9.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1a8adfcaf96f587ab138476eaddef95f29b8a2a8a9afbfea8d2fd62180995d02"}, - {file = "multidict-6.9.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:1a53de2772cfb74559df2eb4456ec4eeb908435ec55a84b69370d9d745d62aa8"}, - {file = "multidict-6.9.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f2ce963299d42fa3f22a90adc0fdf174792ffef5ff4c7ffb68260548fb05580"}, - {file = "multidict-6.9.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5b30ddf7234e611ca877575b62840e6af5977f92f1f9d532eedbb05a44ff8004"}, - {file = "multidict-6.9.1-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:63ada7ee2e9345695f9e9bc4c65d72222253f07b1ac94fd0e37555cc6f3c7f60"}, - {file = "multidict-6.9.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3c95601ed98fad3f6e2f8fe809c3b526b0fab31ef525e00a155e227f3d17f58a"}, - {file = "multidict-6.9.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c148e8b596000dd3e4bfe206e70f3e666be18d72032e0012555f2373c52e35d6"}, - {file = "multidict-6.9.1-cp312-cp312-win32.whl", hash = "sha256:f9dad513626a33670f17cddc6078e30e311f444c957e8dbfc5b2b4603c8b4edb"}, - {file = "multidict-6.9.1-cp312-cp312-win_amd64.whl", hash = "sha256:a16a1dc8529f9e734a41c3b856f3eae7ebacdc061dde3f8a844e0c7889c97203"}, - {file = "multidict-6.9.1-cp312-cp312-win_arm64.whl", hash = "sha256:361f7206cf341ba94fb015688f5c8b480f8e63bd58a4c14a48aeca7851a241cc"}, - {file = "multidict-6.9.1-cp313-cp313-android_24_x86_64.whl", hash = "sha256:d7bf9e43282d69561618e8a0ea33368d532ebef42f15c096f427090521dd74f3"}, - {file = "multidict-6.9.1-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:03d47df72f084f757c1cb771188d5f4e3a805e4abc4d67e32509272343ae9382"}, - {file = "multidict-6.9.1-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:6bc94fe17c3c56e5418f79515b786b101845f70609b0d19d0c1ba13448e5633a"}, - {file = "multidict-6.9.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8f2973bbd2bebd9d2e0cd6394c1292a1a19ccd56bdcbe1e174059f1a39be5b40"}, - {file = "multidict-6.9.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:de7738b8c0bb74c4cc16bbd7fb49fc2bcf6430dba11b3432cd52768ae40933e8"}, - {file = "multidict-6.9.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e5ccad4b7bac125722f48d6f862bed3b514d8526deea06316bb72f152cd30a7c"}, - {file = "multidict-6.9.1-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:a49ff5cdb33654cb7d6a3c377aa2a83ddefaa1db31eb10bcf3c180aa84f9af8a"}, - {file = "multidict-6.9.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b22ff30006a2f28f8bff878fb93413cbe3a4d1fd517c28081d848c90e9cfd2c8"}, - {file = "multidict-6.9.1-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3adf06c66041aa21eeb8a71e82379b74773298c8e6d3d839b151aae441a99b94"}, - {file = "multidict-6.9.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:963a8d8f97057082679523d0fd4c53a38f86bc58cabe4556faef682ae53fa2fa"}, - {file = "multidict-6.9.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b66ccc5c2cdd26e74fa5d4c29ffae424cc6148bf93ce574821783fb3b6d452c5"}, - {file = "multidict-6.9.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7fd79c521f6290c69125fa2b85fa65d9e657e6a8ffaf722dc881b926bef4aa5c"}, - {file = "multidict-6.9.1-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1d804e4caf5d5da37d6dac1325da5629ebef1e27a294c2b568b295814aa36c7b"}, - {file = "multidict-6.9.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bb0d664505f4b112f384cffeee82e91e3f6448d8e574989479db4439b68cba05"}, - {file = "multidict-6.9.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:9e14d17773b1b3c758ff153659a1824608a0cb562c45f484b5ed8a433428444a"}, - {file = "multidict-6.9.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:083735b7f395894e43adb278d5dae901448883a835ff8f1977e285fefdb10418"}, - {file = "multidict-6.9.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b65121091567847a8cb520d364ab22ba90e00d3cc55fa9eb34bb439f0684bcd1"}, - {file = "multidict-6.9.1-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:ea999ae6e80e66ad5eea287860951b033d0104ca34d6d87c7b5125ebe0e12721"}, - {file = "multidict-6.9.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:095d900c242e00fbe5f321ee072e7278b4153e78c5ce9c1efde167d62c1e4771"}, - {file = "multidict-6.9.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6441cc837aea58be7d9baef1b2383eb8311ab9303f500f99ac90b584cd78bb14"}, - {file = "multidict-6.9.1-cp313-cp313-win32.whl", hash = "sha256:9c4880d017555d70dea367dd49271830842d48e3891c2da97da7ce8c4abcee40"}, - {file = "multidict-6.9.1-cp313-cp313-win_amd64.whl", hash = "sha256:ac51cd64bae51c462ea58ad2492c9b8209667a4ef60c45c4a304518b67598d5d"}, - {file = "multidict-6.9.1-cp313-cp313-win_arm64.whl", hash = "sha256:37a9ebe00c698279213d56e6c64e1962ab1e092918270649b397cac3dc196ca4"}, - {file = "multidict-6.9.1-cp314-cp314-android_24_x86_64.whl", hash = "sha256:fc0dcb22fa9aeabfe3fa4e0430099acff985ec5d77a851382f76cc6146e780e5"}, - {file = "multidict-6.9.1-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:024123f0ab402ab33828e24eb80fa8f25167d0d3783ba5f287e39ed741e6abf9"}, - {file = "multidict-6.9.1-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:af1b5a92315048c3e36bbebfa7d4760a9c3e910bc4166f11b20d77d20d6bcfca"}, - {file = "multidict-6.9.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:b2483da477932ad1983d1d33c18bc3771c6fb00cfbaaed70a875fd547ef8e840"}, - {file = "multidict-6.9.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:db4d697b18b6ef5528b1f36bfa25072cd2a421869f5963bc0e92c8a34b9e2800"}, - {file = "multidict-6.9.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:854fd2f1bc6e8a56b89910b5cd7261a8b40f13ebb31572da985ce59c7da0886d"}, - {file = "multidict-6.9.1-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:03731f6fc036180700c9dc2308205a48e5ca6f3ff03087739ab746f294022201"}, - {file = "multidict-6.9.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:989261c5f1735a165f2e4e87cf6d5f17ab734fa18f9ad0383d5adfcdaefce701"}, - {file = "multidict-6.9.1-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b4c9e5d05b126b267ac048a89a0e2d9b48b1b648add62d4872906304a8590610"}, - {file = "multidict-6.9.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9d0a21cf76153de8f2d96a877991d6bc59b9ab5180b949e50db73cc193b4a694"}, - {file = "multidict-6.9.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e7386aa18d98d6b8af44b92173654ec469237fda35f8e8523e43b581a86f476a"}, - {file = "multidict-6.9.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b69651732c64afb691e50cdc3387cae305e0eeff8804fe3e3ce203876494932a"}, - {file = "multidict-6.9.1-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1fee9a16d88a1c4865610de31ef5c666671020d7a81d1f510eaf3c97d00ebeba"}, - {file = "multidict-6.9.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7814bbee202acd3bd240204c17d8b87a4c48c81064fd8674dbe527d94d5a4290"}, - {file = "multidict-6.9.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:95f273bea318a194f656527ee2ed19494327bc500b8e87d9358e3222579aa28d"}, - {file = "multidict-6.9.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:73bcafa21a78d0776b3ee7cd2a63c66f968eb7db8e8d594e32d7329950f6e828"}, - {file = "multidict-6.9.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:1a938761c77e0e6edb0c93d02f4e988d44a69e5195e5a3b893e5553311347132"}, - {file = "multidict-6.9.1-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:37245ca4105386194dd1d292a6f2aae09bfe1bd7ac6f9ec25093e3cf8e9b143b"}, - {file = "multidict-6.9.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:f0700527dd5bfa8b7204b08330542f4f388899d3c14d885d8a368992e0eb562d"}, - {file = "multidict-6.9.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6b7e54fd883671d1a8810704851c044b7173287c552b9f5c3d9e0eb9f00ae194"}, - {file = "multidict-6.9.1-cp314-cp314-win32.whl", hash = "sha256:e81ae656b9935ac4528a71f96bb7a14d949778ed1897c573d3e7ebb9187f8841"}, - {file = "multidict-6.9.1-cp314-cp314-win_amd64.whl", hash = "sha256:acddcac38adc8342ba48aba98896faa7928854bebb62542362138655b5367ee3"}, - {file = "multidict-6.9.1-cp314-cp314-win_arm64.whl", hash = "sha256:32217133dddc58c927805cf6c0731d8144584176b768042ee886d51e71860bc9"}, - {file = "multidict-6.9.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:0b2fb8c349d1103863750b5d8cb5ace766917f4b35f3d883c8f778853eaa9f76"}, - {file = "multidict-6.9.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:56d834b74c993a7d7cb2b8ab33a0d55c3e0d4a3d2f2da2808a4ad3d79189711b"}, - {file = "multidict-6.9.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:783ba7d845d79ce976afd9c1e91a4e5714671defa198ee789e8b23316083a485"}, - {file = "multidict-6.9.1-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:4d718fa1b5f0d0dd75e86fbbc5b0c93ea3a5d65216c85c61cd5d7cdddfe08455"}, - {file = "multidict-6.9.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a313bad717dde740959d50850c315b75fd4eb0c5e6b4dc8535db0f1c369be125"}, - {file = "multidict-6.9.1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:ef01d29fca550ab871fd99154f82c6472aacf8e7def272dfb07b460123850390"}, - {file = "multidict-6.9.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0f3bd290711c6e9486173a6ee7cd4e7f00c3971c7908c1ec1b6e5437c5e4c6f9"}, - {file = "multidict-6.9.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:81cdc537e0a42e3c0170752fcadbe450246d5c3b4b7231d6eb9672456605ac94"}, - {file = "multidict-6.9.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8b193bf7a443c97d81c47052f60c486071a4bdef4a573fa2514f920089414d45"}, - {file = "multidict-6.9.1-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:7a0c98f6a636adf0d7edd60c61589eaf52d149239af754d0bfeb0effedba53a8"}, - {file = "multidict-6.9.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:6e6b7e3a1520c39a2772f414cd9ddf5995f77e4e823dfa1522af383addd465a3"}, - {file = "multidict-6.9.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:ca65cced0d67a9039e93bcd98a369920e499bf98296844ff56ead01c9085321f"}, - {file = "multidict-6.9.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:372c063f37480f62c1ae32dc3a1a0a5942b180c883f99789075a8a8ec3c4e709"}, - {file = "multidict-6.9.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:827c92145b3b976b39430129c89d213b250dacbe5fce678e9a03940e6e848983"}, - {file = "multidict-6.9.1-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:9b0124b9c17e9890f0819b2e7a5f65ec9a2f5aabd6c8e7ad090c1675cf70dee6"}, - {file = "multidict-6.9.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:23136f5a564654eb61061ec6d5620a4c1ea32c8f552b65e9982a12b72bff601b"}, - {file = "multidict-6.9.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f2524ec55b3e65cbe235a8b3c36e2af3b635be02ed05e20c94e70c5c943c009e"}, - {file = "multidict-6.9.1-cp314-cp314t-win32.whl", hash = "sha256:35ba0263bae5dd3ad5aad767cc9afc01a8598c7dae30f1b3b2de98b1b32c28bd"}, - {file = "multidict-6.9.1-cp314-cp314t-win_amd64.whl", hash = "sha256:7c8d5882ba25ac0282258be435d8a05aa0cbcacfce15799154a338f847f159b9"}, - {file = "multidict-6.9.1-cp314-cp314t-win_arm64.whl", hash = "sha256:ac348379cf4de5538a0a213be1532d289aa801ec5d267c5909446b9ea2f8e2c3"}, - {file = "multidict-6.9.1-cp315-cp315-android_24_x86_64.whl", hash = "sha256:f04551dce5a7db8c9659f2e4245494c182d0663b83661803e08d46bfcae5eda1"}, - {file = "multidict-6.9.1-cp315-cp315-ios_13_0_arm64_iphoneos.whl", hash = "sha256:c0c88085affd35c33e124e36930c5ad96aff9294ce195eaa0fd9cec962b64a82"}, - {file = "multidict-6.9.1-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:a8b75dd3d3638d9a19f23e84af4ffab3b8940422c0df2da2a77005ef5aa3d7ea"}, - {file = "multidict-6.9.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:006c4478de0a1876f4834e14255776286f09b9846b505fe63f67f9d173a9487c"}, - {file = "multidict-6.9.1-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:2784090c30a586d5b45197bd9c32f87fb927216cde302f6cfd76d76577e90f08"}, - {file = "multidict-6.9.1-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:7c708566da8014b120a64b1eb6d200c6c0c8cb36296383723cdb6fc82038270b"}, - {file = "multidict-6.9.1-cp315-cp315-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:042fb0196047e786936a730bd302de83143950da45f2c16078da8f35e1cf7919"}, - {file = "multidict-6.9.1-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a2212a0c842c723d919ea4a22a9296cb6b244b386e4e6ea92adfc7fbf3095519"}, - {file = "multidict-6.9.1-cp315-cp315-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:fd882aa29bf402b62bf1fd7c19fd5df4b6528cf468a908864b39368572b662a9"}, - {file = "multidict-6.9.1-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c57541034d12b215ab0a2bfa371d1a8a198da18176d0426c27105b9161a6862d"}, - {file = "multidict-6.9.1-cp315-cp315-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d73fed4e37158ff00cd271871170b79e40138db51e625fd352fa17c6acb34f67"}, - {file = "multidict-6.9.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:79da2491348b30810728050b4a8ec0416f85884125c2fd44655b3d01150d9c3e"}, - {file = "multidict-6.9.1-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b4da208a63434d21a3df64d29758e650fc4aa8cb05848554b76949c296539cca"}, - {file = "multidict-6.9.1-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:877ca17fdcfdf5c397493a71e5ff97a87bb181417fe717fdadc77c08c09301ac"}, - {file = "multidict-6.9.1-cp315-cp315-musllinux_1_2_armv7l.whl", hash = "sha256:40aec5299e1ed71fbb988389059da381c3c1a60e0c649acceb2a35d9b128848e"}, - {file = "multidict-6.9.1-cp315-cp315-musllinux_1_2_i686.whl", hash = "sha256:4a409ccc42aefec904038695d5d7fd6d8f3af2721b7b6401d55135ec7d6d298e"}, - {file = "multidict-6.9.1-cp315-cp315-musllinux_1_2_ppc64le.whl", hash = "sha256:0a5769559e3312dd96731fbe15b4abb6033368ac1cad5a98dadd21946a4c7d6c"}, - {file = "multidict-6.9.1-cp315-cp315-musllinux_1_2_riscv64.whl", hash = "sha256:03fac50ddfd8302175b77863a015eccfae76767cda5506eef86df559ba861e1f"}, - {file = "multidict-6.9.1-cp315-cp315-musllinux_1_2_s390x.whl", hash = "sha256:5ecace251ccfa705bf3d7d35c5032cf750f5c629809740405697bce5c118c4a4"}, - {file = "multidict-6.9.1-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:ecc89dbd4155b2f8a47f4bbd89242a35ed15e8e0ec581cab5ac65fa38407329d"}, - {file = "multidict-6.9.1-cp315-cp315-win32.whl", hash = "sha256:a3ffe881246d28a862f1985824f484cb7361f44d6b99c4c620436ef56462f38d"}, - {file = "multidict-6.9.1-cp315-cp315-win_amd64.whl", hash = "sha256:59c123d0e948d760a5f930f316cfefa07e8d632ab84327c0693ee6a88171154f"}, - {file = "multidict-6.9.1-cp315-cp315-win_arm64.whl", hash = "sha256:31199204b3ced121ff5407a2c342326a5d27e3870abbf94bd80dbd2451b7bc8f"}, - {file = "multidict-6.9.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:8879510a76940670517ea1cb589978da44b86e286ec3e50d664ef330817afce7"}, - {file = "multidict-6.9.1-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:aec65b53a07f580606593f877eefbb29a45939bfc0d3fe6e6d9f42b41b749f68"}, - {file = "multidict-6.9.1-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:14c56f73e78faa1f68bbb826197cd5871994e70e841b8590829c35912ece5c64"}, - {file = "multidict-6.9.1-cp315-cp315t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:38c9986f9ce50c459b10de216a05f4bd7ed5ac63887d56e500a52bb464b861ce"}, - {file = "multidict-6.9.1-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:15db6a102cbaf1949cf028ecf080aac76d20bcd29ad4e092574db6c6b7af78a5"}, - {file = "multidict-6.9.1-cp315-cp315t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:bd82c4977196681a499bb6ca9e462afbc5c91c1c15b6a991dfbd72733fea4dd2"}, - {file = "multidict-6.9.1-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:bb58ba73a3f96f9a3e46b1fab69929d7edbbddb3133ee74b5c3c54074a53c4f1"}, - {file = "multidict-6.9.1-cp315-cp315t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7c6eecfab7ce4cd9487ff8ba936fe38cdfd68c04faf3d5c710363c6a8e695659"}, - {file = "multidict-6.9.1-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9c62e71e6289d78c0108d8aeb495f8bd3cad4bc1632fedddc9297ddf287ecc20"}, - {file = "multidict-6.9.1-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:539c2cd5fed0947c135cd7eabaaac55f48300dfa1de0f3ca4edb5efa6606f471"}, - {file = "multidict-6.9.1-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:3100d169ceb7bc8f05f89a6db11d1b21f119975fc26f29dc45a472e3569f0879"}, - {file = "multidict-6.9.1-cp315-cp315t-musllinux_1_2_armv7l.whl", hash = "sha256:696477ad71385c4795e3b8e4cf10b0d2c28c2a1ca6a955e031cb1e62993e9ee3"}, - {file = "multidict-6.9.1-cp315-cp315t-musllinux_1_2_i686.whl", hash = "sha256:f5844e7befc707367807586f550fa97e23dcfef0728f02b98c7bc498a961a5df"}, - {file = "multidict-6.9.1-cp315-cp315t-musllinux_1_2_ppc64le.whl", hash = "sha256:abc7c2e4b47bfe6a9aea434d3fdebb9597ee636e914e92ba352f2068b9142f4c"}, - {file = "multidict-6.9.1-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:7ab379f95caee071a37cbd8be86d4c65accc651d391f9f97748fef006f38769c"}, - {file = "multidict-6.9.1-cp315-cp315t-musllinux_1_2_s390x.whl", hash = "sha256:557a4e1708df428ebe6c3081c83a273d275dad2446ce0d81fc648ac71afdb18d"}, - {file = "multidict-6.9.1-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:475d04d5192eba487a3e2f935976340baa24529046e9c1c9c7a3b7bf80445ae1"}, - {file = "multidict-6.9.1-cp315-cp315t-win32.whl", hash = "sha256:10083a8a0f4e1b26b599889e90b9802504ce5d3f7722f925bbb7ca47dd22a7c1"}, - {file = "multidict-6.9.1-cp315-cp315t-win_amd64.whl", hash = "sha256:e96ca64383efa107262ee3949f047af5ee4f1845ba09463466c04d35a83bd3ec"}, - {file = "multidict-6.9.1-cp315-cp315t-win_arm64.whl", hash = "sha256:501ed8b02a5990c67a91c732843609d43a6be1f7576fcdfc867331239f37fbd3"}, - {file = "multidict-6.9.1-py3-none-any.whl", hash = "sha256:7bf6478188f4e47bf5686e8a33da4ae28bf43b1b2528d9ee144d28492bfac60b"}, - {file = "multidict-6.9.1.tar.gz", hash = "sha256:0f06e60fa190aa7abd0914c2a766736fdc8e9f34878c4346338534b73d1b20e2"}, + {file = "multidict-7.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:24ad4921135a1410d95b1f1504f4901e1c64cea680014ce2c3c7a825f4f259fc"}, + {file = "multidict-7.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8b8429361241da973e594d15344a0989f44fd288ea58d33a6221fb7cc0daf27e"}, + {file = "multidict-7.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5c6455f2c11daeee40665c67494cedb426f67dba7375710524071c0c56d739a6"}, + {file = "multidict-7.1.0-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:6120aab922bb3e15800b6655558cf8e0a5cc79518e954d457f064e5b3d5e9bf6"}, + {file = "multidict-7.1.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:14b1ce8579a43dfc0e592d93fb1d63dea693e4977980ac4166f26d494cc7a358"}, + {file = "multidict-7.1.0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:71acdc6eded0f4b86b5e16c96314887cf2572a8eb5d8038b78583d0c0eb3aa1c"}, + {file = "multidict-7.1.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6b7cd1cb0b363cd43ebf499beca26d201dd8b89eee49fae60205c82ba13ee03a"}, + {file = "multidict-7.1.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:dd8a6b3e8f9edb07fe671b02d8c3241c8b641fecce7eb1e36432db3e55e243da"}, + {file = "multidict-7.1.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9a8c826caeb7c08264e0a556df1267531c6ed90cc70506e7e5f4119e2d09f3d7"}, + {file = "multidict-7.1.0-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c44ced5e5168cdf677f0ae39900863bf2bda7d14a5e13502014005cfe040b8b4"}, + {file = "multidict-7.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b57d4d7021bfd159db9f8f6f862a85a7a6027934643c512f028d6e5c60c4cbd2"}, + {file = "multidict-7.1.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:7fac4250b37d994e3fe42b46ba3c8bfa1614d1d7d8cf1cf23f303099082a9565"}, + {file = "multidict-7.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:966ae0588ac9959a040220063733b33f321d04eaf4e60349b42cd855d232202f"}, + {file = "multidict-7.1.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:50acd7ee7096949b04482cd7720cb6b85eb9cd9dd5d7ffb6704bfda250261a22"}, + {file = "multidict-7.1.0-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:ed6b7f402f3dabd1d72c798b96cf947005ddd796a5bea7b041bccbd517859a42"}, + {file = "multidict-7.1.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:fadcc96cd6155f35e6d85845fa4fcd37b35885dc8fda77b9f851cdfa538194c1"}, + {file = "multidict-7.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c6b67f08014bfc4aedc22cf6a21010c2530cd5fbeb655730406827fe196296be"}, + {file = "multidict-7.1.0-cp310-cp310-win32.whl", hash = "sha256:0604ff025497a050a2b2dcc4ae0e5cb6477c525e57b89825152c707e88d74d28"}, + {file = "multidict-7.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:36b14886aa3e0b8786ecdaa196374422c7b1c1dcc8764d02b2409f74d47914bc"}, + {file = "multidict-7.1.0-cp310-cp310-win_arm64.whl", hash = "sha256:a2e575129c048bc286d696ed8e49ca148591768b2d77debcc6569f6fb64d0668"}, + {file = "multidict-7.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:41ff3202cc23c800507777df5a4805b402f262b31008c60fdc652aeb6db2f278"}, + {file = "multidict-7.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e50f7775b66c7802f4cb697e986c5acf30ec07301efee95b396c08114e890d67"}, + {file = "multidict-7.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:85cb3ced4fa84949cee12bfe78208b6ece7baf3cbd242b26dcaf773efff8d206"}, + {file = "multidict-7.1.0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:2128f3358335e0c83688ecb40c19d9d6606cd60784dfbf2e24e980ac2ba87b0d"}, + {file = "multidict-7.1.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e2e718fa9d1d900decbc240a533d5d0baf0947ef464c78a8cd4fa32b4e8f590c"}, + {file = "multidict-7.1.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:ecc68f5e47bc6f6f889bbed5bc657b22bb2237ad9ccab8229cb5a0d64f4cb536"}, + {file = "multidict-7.1.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5f21fda91bd6c34455bd5c312e42aa1334da46cdafb4c533ecd01e0f7f19250b"}, + {file = "multidict-7.1.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7a90453a79423cd7145cc08fc92322dcd7aca4862258f533e03f473226d4b835"}, + {file = "multidict-7.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c54ae1b89e582aa25f213cd8b5eac0bda1724e79299f486baeb3f562bbf82ca5"}, + {file = "multidict-7.1.0-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:7ff8dd079e7b5f3438332499233a2a5acfca0741fd0eb3d4ddba0c2d9bc04d19"}, + {file = "multidict-7.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e4ef15d0a29fc2da67fe8ba2301ecabd6f8733696cc2bf0a0cf96a144a20328c"}, + {file = "multidict-7.1.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:5fa296f14068538fced53c6eec86520a2ef3d3d27a0fb134640d03e067986d5f"}, + {file = "multidict-7.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:6ab323f0c5490abaf35a78563e1043c7a772eb86d93f359ecc0fd286d1cd3807"}, + {file = "multidict-7.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:88ec4d16e9f58071c9896ea01c4da97cce9d01418fe844ff06eebb00e0a1386a"}, + {file = "multidict-7.1.0-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:9161eb81b8062da824426d3700d4b0d287f0cb0b05923713adfe3bd25e7937ac"}, + {file = "multidict-7.1.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:c564d0758748f38aec56a6b98c6801a427b3a63f39b7cac538b2b2d18ca32740"}, + {file = "multidict-7.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c5e4a362a95b85301d262ef6bed06cc8e4a144ac7e2be874cb4c3c46ae89d754"}, + {file = "multidict-7.1.0-cp311-cp311-win32.whl", hash = "sha256:5d19bb1ec12e385c09215d5d53a243c060c7e8a0aacdba16d933e22902ee380d"}, + {file = "multidict-7.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:396ba9917fe489ec3a5942ae3e29e91324c8b9956f371f7e124c971c71379e7a"}, + {file = "multidict-7.1.0-cp311-cp311-win_arm64.whl", hash = "sha256:b5ed78742502b8d90ff2816688d407a097c8b5cc6af4343fc5ad7a98df53a7cd"}, + {file = "multidict-7.1.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ccfb950359a80de0fcd2030ad60ac1b1a861462de3e2ef746697c9256659af21"}, + {file = "multidict-7.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:939d8cd2d8c35e3956f6bc858390b6ccb611e6152b4920d64ab5e98f3fcf39e4"}, + {file = "multidict-7.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f8e95c95039eab6a2dad8c83c38ab87fc5431d28849e0c8a7e2a4e70ba38710d"}, + {file = "multidict-7.1.0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:05d12b4bac53abe0c65f3163af2b45894e2e1c0cc55493ac784d52a350047d88"}, + {file = "multidict-7.1.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0e79ed92b1dece6bb57e9b46effd74d7a5d3d00187c85466d880ed184239a698"}, + {file = "multidict-7.1.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:fab380fcff8b3555eb2bd04304fa4330909a771a9a9b0dc07666cfc23148a711"}, + {file = "multidict-7.1.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4b5c41e44da74383c924cc5d75ef0a268f301d69305b3c42bd17af685d55e412"}, + {file = "multidict-7.1.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3dbaa7f7c2f0ca8578895fc61fb8c8e50ebb405dad8982f92f4343285c7a3fda"}, + {file = "multidict-7.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed6b7705d49dd07e5e0dd5f5c873fc44047e92d714299b13245b5fecac49d01"}, + {file = "multidict-7.1.0-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:53daa47dd176db64bb35170e3d5d0ae2388c060121201883696278f055a0e70c"}, + {file = "multidict-7.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:542429c796430de924d03b68a6173bb6d79d5c4967d4e9a18de3e501cad55593"}, + {file = "multidict-7.1.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:c44ca6d3cdf4cfcbcd4f928fdcbe87af5fd7319f6ad4169617b7fd6b4527c33c"}, + {file = "multidict-7.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:eb0228c809b2e7eb47921876050af0bc4214b351bad8d8112f70b6ed4288763c"}, + {file = "multidict-7.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:6ad60de1f4c702448fc8f1449f05e810f6b7957c08a5b3950c8a792dfb13b50a"}, + {file = "multidict-7.1.0-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:f79def86aee67b5ba01b2565f1610f262bf88ae53c379f93e5fa29c50fe793be"}, + {file = "multidict-7.1.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:248dabb89b5aa90b2f7e43e045f048f7e5392ec77b6446d80853ba7117d7bbdf"}, + {file = "multidict-7.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0747a83e7ae617793181a4763ee8b84863cec5c0bbbde70c4394e4c0276c36de"}, + {file = "multidict-7.1.0-cp312-cp312-win32.whl", hash = "sha256:1df055e51fe7491120cc84f3362bd43db186be78d0e4c476acad45e435af9ffb"}, + {file = "multidict-7.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:10202ba98cfb3f7eb60da7ca87a2c458a69b7d0d6e4d4388cd6773ebbce89085"}, + {file = "multidict-7.1.0-cp312-cp312-win_arm64.whl", hash = "sha256:0aa1ba3ff7cdda05a1242490612976b2ae1c90fc6200903ef8f53815dcb35c5d"}, + {file = "multidict-7.1.0-cp313-cp313-android_24_x86_64.whl", hash = "sha256:51d7f33be9a4a1a2801430846d72841deea0894eae8381a07e7d90e0f71b3c4b"}, + {file = "multidict-7.1.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:2a964dfeb2aba3663f0536c809aa1ff385f065e89fae57e883fb7edfb4067c2f"}, + {file = "multidict-7.1.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:d02cd23b5af182a49d635ee72be38053767711987a9fd82625b16b93828a0d8c"}, + {file = "multidict-7.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:0179698c3c913eb64f32397083747fad20ed0f0a2b7469a08cd1a8a95d14d90e"}, + {file = "multidict-7.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ccf98ee859fe29f874ddd8e637f14ba59108a333492b521acb885a9095244a9c"}, + {file = "multidict-7.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5fa1484f74d011addf2e5f5a0378ec41521989839a05d6051d8067d8ce732423"}, + {file = "multidict-7.1.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:1fed3d721f75c25a9fcdd0e362af53f4b20acbcdc63081112f85419ba0ce3444"}, + {file = "multidict-7.1.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:df03e392cae1e05462918abbae06d6100f1e53f67db971ff0ac6c07d9edf7321"}, + {file = "multidict-7.1.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:379f477b98a1e9a77ddc3ccaa8c709d3fb4a288ff54b96e171e637b55b4adbae"}, + {file = "multidict-7.1.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:40f586bc8a084a3671ddcae9e5fbd3228a596bfb63d9f0380f153f9a65b69f08"}, + {file = "multidict-7.1.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6e7f70d912a589e30290ed926f90ddbc3160998359cbad7c9ede1bcee481748c"}, + {file = "multidict-7.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5129cc1f5fec6888e2db0be936dab67242e32c738811c8769aeea93aab4257a8"}, + {file = "multidict-7.1.0-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1401caec21fd7f002e79ab6806bbfd1f54bb3de6d5e12bd91c6685dce16ad2be"}, + {file = "multidict-7.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c81062e947f4b5a624135a843f6ac4b3c7fe6508300c9fb27347f022ba0c513d"}, + {file = "multidict-7.1.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:c53be0dd676484a660acc56e4f1cd0dd74bc1255d12fa285e86a3fa9d5f22bf9"}, + {file = "multidict-7.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:41e0c3350d08994ee8640c39884e16514e282f70ba40f5b2299582509a327774"}, + {file = "multidict-7.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:abeec7a89d698aa1c9b4c36bd5e3c746faef0867076e6a2ca27fa5077c4ece26"}, + {file = "multidict-7.1.0-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:23f6d325241b0db006ca2841309ed17622137e134930a740a8f1331ec4404791"}, + {file = "multidict-7.1.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:034b0dc1b7fb8279599c5d8563f86abb4d2454735b06544ecab23c54572ad2bd"}, + {file = "multidict-7.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5c8074ad4d67067c87bd0663dfda654f786336078c8fd7d2f6c1aa41de8494cc"}, + {file = "multidict-7.1.0-cp313-cp313-win32.whl", hash = "sha256:7b25c335fc53acf29d4d21dbc19fe39d2824201cdda0448623152cc5917bd259"}, + {file = "multidict-7.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:7de54b49e6da811b0321e412d14efdaa1ee0c0b6609296ea5b9022bc5b2bd843"}, + {file = "multidict-7.1.0-cp313-cp313-win_arm64.whl", hash = "sha256:aeba2c750102051aa51e087c2ccbc79f2724a41c94168f8731e36f54c453551a"}, + {file = "multidict-7.1.0-cp314-cp314-android_24_x86_64.whl", hash = "sha256:128ea4142f81a79d430f3d0eb55206093e5eda03a12abbc7b03c34748ff6116b"}, + {file = "multidict-7.1.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:439a19f7fbbff232ce96682c57e27030b8ac3a4b8121484c94f04bf99d08bfff"}, + {file = "multidict-7.1.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:8090c35199d6b7bc6426bb8bdaf341e64f295cc2624a1fda7860c0837f1acc03"}, + {file = "multidict-7.1.0-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:b7cc5333fcbfb27327d12612ed72322f221b61c2b69deb1155078c964f86e1a1"}, + {file = "multidict-7.1.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:b0e0040b0d8dd89bd0af9ab18901981e344ffba68bb30b8eabb4eab6c303279b"}, + {file = "multidict-7.1.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:33376418ab2846b931a72b36cfa16810befc4f49485d0b3f4dc054a4d6d00038"}, + {file = "multidict-7.1.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:1101aea5c3eb1d26e090b931c693488af0db9f3d52e68be8d4cdd807dad9841d"}, + {file = "multidict-7.1.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f996b19ac89e0dae65821ce65f788619e4286f78c62d005ecd3b75b5d9c0892b"}, + {file = "multidict-7.1.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e0d91a4bcb59ac0d7af0d8e0da737332e1b7fe6831e53e47819b1b5349d431b2"}, + {file = "multidict-7.1.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e96d67914ddbf5466e4476a1cd7ff30a332cbab85ed895207acc3e58c979b6a7"}, + {file = "multidict-7.1.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:170ba61761f59ab92afcc86ce5534a3f3d0b07c38b339b950a83213f22dd86ec"}, + {file = "multidict-7.1.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:33389fe084e5426d9fd85d7d9ca91a29cd0d88a83c7c96e411aca49a3f9967bc"}, + {file = "multidict-7.1.0-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:77024596b9046572c4e90b34c1ff212346756dc48933f90c53cf6e233660788d"}, + {file = "multidict-7.1.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ff15531a376dc6f35984443fd1429e4b150c36ce27633e7cc52a9e5318546e20"}, + {file = "multidict-7.1.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:544f2642a456fa264614e975d921540ee8c3b368b04d5aa1ddbec33241b13e08"}, + {file = "multidict-7.1.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:08834fb8b20e1a985c70e8380a10940234b4162de62694458727330376e58b33"}, + {file = "multidict-7.1.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:b4908e17867930b7ac77f89a18dc67308c67c511f037d8580489be86fb585912"}, + {file = "multidict-7.1.0-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:9b24e1f93b9b586ec03bc7bea1bf021ec90bf2528c729195028a3ca1c266b3f9"}, + {file = "multidict-7.1.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:5c93473d0d7cd9bbb370973a9679a62f381c7050d7dff4ad6aaa92e8650f5a79"}, + {file = "multidict-7.1.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:bf14cfcc30b097583d698a6e2b8b68c9bcffab277c485d481881958360c2938d"}, + {file = "multidict-7.1.0-cp314-cp314-win32.whl", hash = "sha256:86bc779a0896e59e4be30a5be5cd6eeffd0b40b6f0e75e730218736b7bfc6f5c"}, + {file = "multidict-7.1.0-cp314-cp314-win_amd64.whl", hash = "sha256:6c9fd50f636a8fa9cb6324cd3eac962fec2bc5bb432452a3b583583a1059acfc"}, + {file = "multidict-7.1.0-cp314-cp314-win_arm64.whl", hash = "sha256:e6906aa4bc62cde2c8aeb8a99a7b4401b241e274ae7b11df67d863d61ab3d5de"}, + {file = "multidict-7.1.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:fabfdd4cf97db033196b51af46b8a681d4785c2a66347f2a5af1b4bbb1182629"}, + {file = "multidict-7.1.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:a177a0ee5cf19931dcaeb3f662bc562754cfa4f4ace2351d9da24a954ef7db94"}, + {file = "multidict-7.1.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:0ae91de396d5c4ac97cb24dbada3d5c91a51454781e0a70476b008f4e879e4f0"}, + {file = "multidict-7.1.0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:160bdb3520fdadcaa21e1b98aab2e011265070814ecab3804eb61674becbd400"}, + {file = "multidict-7.1.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6c2144785e42527404bbd5cfd11981fee4abe59a22aded0e498eb711a831d3f3"}, + {file = "multidict-7.1.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7d0b4fec6a8d02d7e95de5cfa913261820f1ce04bd4c0381924de0da523179b8"}, + {file = "multidict-7.1.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:943a9bce22180ad0f4d32d1b402a0949a4ecfe5a1257b47f54a1b51981d81b86"}, + {file = "multidict-7.1.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f76ceb623f7ff50df46ac57e1587c479d87a5766319c4f43d0c0a5158896afab"}, + {file = "multidict-7.1.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:98beff85392ce435b28a0971ec21cade61ce8be8b632c9d855475a28ef92d31a"}, + {file = "multidict-7.1.0-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:71196ebb8d523148e5975396a444de02367f204b53b14e26794c96b2be0ed742"}, + {file = "multidict-7.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:35534b366410a36bb3d6f788691e37a76e4d1da48326b0ada3e5032580dd76af"}, + {file = "multidict-7.1.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:b4674b12701c3fcbdf7f88b9e4479701c93bec5da9eb576140d5fcc0092990af"}, + {file = "multidict-7.1.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:0ead852a5e906a43fcb6784eeac480f6a67919a51d480c1f80d32ddf9d615475"}, + {file = "multidict-7.1.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:afe36ca503c2ffe30fb6df82b20389fa3c4035b5d65888a61310921cf3ae91c5"}, + {file = "multidict-7.1.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:a5f0bebb10aae010d3c9ee3abaf83ab2069c718457aea09c15532355dd7e061f"}, + {file = "multidict-7.1.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:b9d9b7d72975521434368fe8aed3f6b522060bf271adabaa5ca6c87c0c08e168"}, + {file = "multidict-7.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:274023bf952f849e0d05eba28a4c1f65f9796430d2b09ec16539386c0f76554c"}, + {file = "multidict-7.1.0-cp314-cp314t-win32.whl", hash = "sha256:7e0bfa161df365ba3c88899ee3b7c94755200967284bdedef8c1b8b43e2c0f2b"}, + {file = "multidict-7.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:34a35be8fb82d37087e8176aba907b9459f03d0e293c80f574c6337a436f4eaa"}, + {file = "multidict-7.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:d7dd46a8fcd7653c09ebe67eae9d4cb6636c7a905d9cbaf587dabcbd4eca6013"}, + {file = "multidict-7.1.0-cp315-cp315-android_24_x86_64.whl", hash = "sha256:852c921217f330b3e81a822647ebadeae7e42cf503ec1992d0bfbc90121c09fb"}, + {file = "multidict-7.1.0-cp315-cp315-ios_13_0_arm64_iphoneos.whl", hash = "sha256:cbec738d2ad551c6f70955d7eec95e339380ee1564e2afe86bfee05fed52ceec"}, + {file = "multidict-7.1.0-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:a5f721a2437390ab69c10c6df5c142478d399af8dfb02e6d823cf2358e8a4748"}, + {file = "multidict-7.1.0-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:99cf27791129d37e191ff013bfc29bf6631c29edb21680c00978567b91fc5d6b"}, + {file = "multidict-7.1.0-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:2ba6611fc93c4b169d0e0ea376ebf4b8a529933d1f5f2c2ec7d8f8b93ef58ec2"}, + {file = "multidict-7.1.0-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:c45629c0049fbdef932dbe408ac2b271fdc8c7d9962ca31160f4a0fc3455fe4f"}, + {file = "multidict-7.1.0-cp315-cp315-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:cf606cfe3f67984b4064ac605d71e1eba12515fbabf5bd5a34a8952b8800dc66"}, + {file = "multidict-7.1.0-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:50fdfcb03be719d9573597b095b1175d2e9d0b30d065791dfd9fca727c499442"}, + {file = "multidict-7.1.0-cp315-cp315-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a8bba9d1f6db4ef2a6ebfc937a65d36e80e3aada00b382eaf56fea8f639322d5"}, + {file = "multidict-7.1.0-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:46d4af0afc6eb9867b3ae50605787c80b868e2f52eac3801246034925fe578b8"}, + {file = "multidict-7.1.0-cp315-cp315-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5cc58ebb731200ddb64d55f1b345630fb5f7a8138cdbd242af9dce964a7cb03d"}, + {file = "multidict-7.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4b87ad54e8d4adeb0a1f04889504d6ec7f04fb02609220810f51f1b6c66bc1cc"}, + {file = "multidict-7.1.0-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:44f7e5dd83a615636b80182bdf446ece57ed61d5d51854acc5d9840631136d4e"}, + {file = "multidict-7.1.0-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:9bc5e7f843d14a167cdc26fe2d22f6f3aa2feb57919cf3ff034262a57d8d95d0"}, + {file = "multidict-7.1.0-cp315-cp315-musllinux_1_2_armv7l.whl", hash = "sha256:0631eb5f49f67de10bbdc3f64141326dbc62e8d319900966648381ce0845d8ca"}, + {file = "multidict-7.1.0-cp315-cp315-musllinux_1_2_i686.whl", hash = "sha256:d1b1b32f3c32f734dde8f36ac1df8e275e768a7b333241cd637cb2538628a4b4"}, + {file = "multidict-7.1.0-cp315-cp315-musllinux_1_2_ppc64le.whl", hash = "sha256:159976f9c40f96e3fe0952b708846a43a76bacb114e9cc828816f5080bddd5ec"}, + {file = "multidict-7.1.0-cp315-cp315-musllinux_1_2_riscv64.whl", hash = "sha256:81a0e08c64dfdad27dab687b96f572b23bafa1999a39d1b6f70b3ddbb73e8bd0"}, + {file = "multidict-7.1.0-cp315-cp315-musllinux_1_2_s390x.whl", hash = "sha256:4e11e7299079718c78f8147e7206c22fe35bab4466d38992420795288a0b8096"}, + {file = "multidict-7.1.0-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:34d2ee98e15d5cfe782a431bc913fce3b58cf3fdb34fcb437aeb275cdf9007ab"}, + {file = "multidict-7.1.0-cp315-cp315-win32.whl", hash = "sha256:f376224572d1f5da1c871f969ab04765727f180e70d012d93e07bfc08442c64b"}, + {file = "multidict-7.1.0-cp315-cp315-win_amd64.whl", hash = "sha256:67fcf28db77b385820881521db7435e9f1c607cfaf07db6eb78aa9d1146bde86"}, + {file = "multidict-7.1.0-cp315-cp315-win_arm64.whl", hash = "sha256:c7aafa4dd2f702ee2198005d6cba4309c1e25ed1c201d77beddefa47411bead8"}, + {file = "multidict-7.1.0-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:1348ddc076251cd542f4a99ccda4b7c1f8444e8ab489d3541a978ca5901c7c1f"}, + {file = "multidict-7.1.0-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:9267bf8261a779abb2a6eab5f107f5db85b2d1745f2494081c731aaf28738ce3"}, + {file = "multidict-7.1.0-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:8a844b8b1685f38a2e8b2f3213b286e2a7abfe67508381780a0d4599ac337c1c"}, + {file = "multidict-7.1.0-cp315-cp315t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:18a447d46a3a2f1e61b365cbf5627db7030fdb707dad70c4f2760e5144166ecc"}, + {file = "multidict-7.1.0-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:88811f890db240a1c82bf0bcd52973763707a552c8113ac3fcebca183afb2fa8"}, + {file = "multidict-7.1.0-cp315-cp315t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a60b720c329c0007feae692b7bf91cf17b3f9bd3727be96cc6f9a3336651041b"}, + {file = "multidict-7.1.0-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b117ed1cd1a23df0902461c38093408b95971833dcee629112acda25b603c8d0"}, + {file = "multidict-7.1.0-cp315-cp315t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:bbcae7a54050b7ad7bc7bf425ba63dea7d2cd31a92246ba787a2ce69a9b98dbc"}, + {file = "multidict-7.1.0-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4cba2b0b9235fe10e12301d6b4cfba0f353fa668d635f6e988b03623c2cd42ba"}, + {file = "multidict-7.1.0-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:535173fbcc3933d84f9929d49d7a59a0faec259ee07d07c34c7d2a980b4e3683"}, + {file = "multidict-7.1.0-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:ea027bdeca1d7e498237634ee4e3a852e2723eef39996dec0ff0f77dff8a2336"}, + {file = "multidict-7.1.0-cp315-cp315t-musllinux_1_2_armv7l.whl", hash = "sha256:507151e1e3dee95e9e8159e329aed4f75aa5205ecd6505a4f6be546890eafbe1"}, + {file = "multidict-7.1.0-cp315-cp315t-musllinux_1_2_i686.whl", hash = "sha256:9c10791e9f5ef132effc8fdce2009482c1cfb26618c5fc1b7952a47dd5eb632e"}, + {file = "multidict-7.1.0-cp315-cp315t-musllinux_1_2_ppc64le.whl", hash = "sha256:f16ac8af2804855d3cae5fc3c5ab609c9fd0fc8ecacd92579c05ed3c173396fd"}, + {file = "multidict-7.1.0-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:b78de22bae456a976f33df34d598dfd16edc9a03df8f4cc8b7c17bdba4c97b4a"}, + {file = "multidict-7.1.0-cp315-cp315t-musllinux_1_2_s390x.whl", hash = "sha256:db77888081431aaa69f3fd3480891746ddce6c2a571f6201869a24e2f06cf423"}, + {file = "multidict-7.1.0-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:c39dfcaa0bf23443474c0cb58d8d8aea9529c1841d99654cb38e4dada7b1948a"}, + {file = "multidict-7.1.0-cp315-cp315t-win32.whl", hash = "sha256:16b21164797bde6f417066d02775975cc2e15ab8abf80efa55fe85e0b4894020"}, + {file = "multidict-7.1.0-cp315-cp315t-win_amd64.whl", hash = "sha256:55392202cb374dd1a1f89a8ce1586644870d9e936752059d053e576acc50bc89"}, + {file = "multidict-7.1.0-cp315-cp315t-win_arm64.whl", hash = "sha256:f979a077d1c0a9a36dd4fab0d3a36b8de7b593bf935e13df85a380395b2c11ad"}, + {file = "multidict-7.1.0-py3-none-any.whl", hash = "sha256:d9ef29cfd98e17085b4f91bba8fa1570bec6787d5c52ce653ed33a58785585d0"}, + {file = "multidict-7.1.0.tar.gz", hash = "sha256:61a4e5d81b8d4e4ad61964b230129e7a2b914793d96289029078fc9009f074ec"}, ] [package.dependencies] @@ -821,19 +821,15 @@ files = [ [[package]] name = "pluggy" -version = "1.6.0" +version = "1.7.0" description = "plugin and hook calling mechanisms for python" optional = false -python-versions = ">=3.9" +python-versions = ">=3.10" files = [ - {file = "pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746"}, - {file = "pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3"}, + {file = "pluggy-1.7.0-py3-none-any.whl", hash = "sha256:7dd7b0d8832ba3cb632c306926ded123429211b83641b35dc5c41ad2d34f9bec"}, + {file = "pluggy-1.7.0.tar.gz", hash = "sha256:d1eaa46ebb595891b860ab086b4d09c8588af65ebd4361b8e8f4bb8920b90ba8"}, ] -[package.extras] -dev = ["pre-commit", "tox"] -testing = ["coverage", "pytest", "pytest-benchmark"] - [[package]] name = "propcache" version = "0.5.4" diff --git a/pyproject.toml b/pyproject.toml index 78d5eb139..65676af29 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ dynamic = ["version"] [tool.poetry] name = "vapi_server_sdk" -version = "3.0.0" +version = "0.0.0.dev0" description = "" readme = "README.md" authors = [] @@ -19,6 +19,7 @@ classifiers = [ "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", + "Programming Language :: Python :: 3.15", "Operating System :: OS Independent", "Operating System :: POSIX", "Operating System :: MacOS", diff --git a/reference.md b/reference.md index a3ae052db..746892457 100644 --- a/reference.md +++ b/reference.md @@ -7643,7 +7643,8 @@ The result depends on the schema type: This is the model that will be used to extract the structured output. To provide your own custom system and user prompts for structured output extraction, populate the messages array with your system and user messages. You can specify liquid templating in your system and user messages. -Between the system or user messages, you must reference either 'transcript' or 'messages' with the `{{}}` syntax to access the conversation history. +For text extraction, you must reference 'transcript', 'messages', or 'messagesWithConfidence' with the `{{}}` syntax to access the conversation history. +In structured outputs, `{{messages}}` includes conversation text and tool calls/results but omits caller transcription-confidence fields. Text extraction can use `{{messagesWithConfidence}}` when the output needs the original message history with transcription confidence. These variables also apply in structured-output schema descriptions. Audio-targeted (`messages-with-audio`) extraction ignores custom messages. Stored call artifacts and API messages retain their confidence data. Between the system or user messages, you must reference a variation of the structured output with the `{{}}` syntax to access the structured output definition. i.e.: `{{structuredOutput}}` @@ -9140,6 +9141,14 @@ client.simulation_runs.simulation_run_controller_create(
+**idempotency_key:** `typing.Optional[str]` — Makes the request safe to retry. A retry with the same key and the same body returns the run the first request created, with `reused: true`, instead of starting another. Reusing a key with a different body returns 409. Up to 255 printable ASCII characters, scoped to your organization; a key stays bound to its run while the run exists. + +
+
+ +
+
+ **iterations:** `typing.Optional[float]` — Number of times to run each simulation (default: 1)
diff --git a/src/vapi/__init__.py b/src/vapi/__init__.py index 23c1dd3b1..79e7f9e3e 100644 --- a/src/vapi/__init__.py +++ b/src/vapi/__init__.py @@ -31,6 +31,7 @@ AnthropicBedrockModel, AnthropicBedrockModelFallbackModelsItem, AnthropicBedrockModelModel, + AnthropicBedrockModelReasoningEffort, AnthropicBedrockModelToolsItem, AnthropicBedrockModelToolsItem_ApiRequest, AnthropicBedrockModelToolsItem_Bash, @@ -59,6 +60,7 @@ AnthropicCredentialProvider, AnthropicModel, AnthropicModelModel, + AnthropicModelReasoningEffort, AnthropicModelToolsItem, AnthropicModelToolsItem_ApiRequest, AnthropicModelToolsItem_Bash, @@ -323,6 +325,9 @@ AssistantHookCallEnding, AssistantHookCustomerSpeechInterrupted, AssistantHooksItem, + AssistantManagedConflictResponseDto, + AssistantManagedConflictResponseDtoError, + AssistantManagedVapiAgentsDto, AssistantMessage, AssistantMessageEvaluationContinuePlan, AssistantMessageJudgePlanAi, @@ -500,7 +505,6 @@ AssistantOverridesVoicemailDetectionZero, AssistantPaginatedResponse, AssistantPinnedConflictResponseDto, - AssistantPinnedConflictResponseDtoError, AssistantServerMessagesItem, AssistantSpeechWordAlignmentTiming, AssistantSpeechWordProgressTiming, @@ -2876,6 +2880,7 @@ MistralCredential, MistralCredentialProvider, ModelCost, + ModelCostServiceTierBreakdown, ModelDeprecationNotice, ModelDeprecationNoticeReplacementStatus, Monitor, @@ -3943,7 +3948,6 @@ TrafficAllocationLatestResponseDto, TrafficAllocationPaginatedResponse, TrafficAllocationStaleConflictResponseDto, - TrafficAllocationStaleConflictResponseDtoError, TrafficAllocationTarget, TrafficAllocationVersionConflictResponseDto, TrafficAllocationVersionConflictResponseDtoError, @@ -4731,10 +4735,12 @@ UpdateWorkflowDtoVoicemailDetectionZero, UpdateXAiCredentialDto, UpdateXAiCredentialDtoProvider, - User, UserMessage, UserMessageConfidenceSource, UserMessageMetadata, + UserWithRole, + UserWithRoleRole, + UserWithRoleRoleZero, VapiCost, VapiCostSubType, VapiModel, @@ -5687,6 +5693,7 @@ "AnthropicBedrockModel": ".types", "AnthropicBedrockModelFallbackModelsItem": ".types", "AnthropicBedrockModelModel": ".types", + "AnthropicBedrockModelReasoningEffort": ".types", "AnthropicBedrockModelToolsItem": ".types", "AnthropicBedrockModelToolsItem_ApiRequest": ".types", "AnthropicBedrockModelToolsItem_Bash": ".types", @@ -5715,6 +5722,7 @@ "AnthropicCredentialProvider": ".types", "AnthropicModel": ".types", "AnthropicModelModel": ".types", + "AnthropicModelReasoningEffort": ".types", "AnthropicModelToolsItem": ".types", "AnthropicModelToolsItem_ApiRequest": ".types", "AnthropicModelToolsItem_Bash": ".types", @@ -5979,6 +5987,9 @@ "AssistantHookCallEnding": ".types", "AssistantHookCustomerSpeechInterrupted": ".types", "AssistantHooksItem": ".types", + "AssistantManagedConflictResponseDto": ".types", + "AssistantManagedConflictResponseDtoError": ".types", + "AssistantManagedVapiAgentsDto": ".types", "AssistantMessage": ".types", "AssistantMessageEvaluationContinuePlan": ".types", "AssistantMessageJudgePlanAi": ".types", @@ -6156,7 +6167,6 @@ "AssistantOverridesVoicemailDetectionZero": ".types", "AssistantPaginatedResponse": ".types", "AssistantPinnedConflictResponseDto": ".types", - "AssistantPinnedConflictResponseDtoError": ".types", "AssistantServerMessagesItem": ".types", "AssistantSpeechWordAlignmentTiming": ".types", "AssistantSpeechWordProgressTiming": ".types", @@ -8780,6 +8790,7 @@ "MistralCredential": ".types", "MistralCredentialProvider": ".types", "ModelCost": ".types", + "ModelCostServiceTierBreakdown": ".types", "ModelDeprecationNotice": ".types", "ModelDeprecationNoticeReplacementStatus": ".types", "Monitor": ".types", @@ -9890,7 +9901,6 @@ "TrafficAllocationLatestResponseDto": ".types", "TrafficAllocationPaginatedResponse": ".types", "TrafficAllocationStaleConflictResponseDto": ".types", - "TrafficAllocationStaleConflictResponseDtoError": ".types", "TrafficAllocationTarget": ".types", "TrafficAllocationVersionConflictResponseDto": ".types", "TrafficAllocationVersionConflictResponseDtoError": ".types", @@ -10881,10 +10891,12 @@ "UpdateWorkflowDtoVoicemailDetectionZero": ".types", "UpdateXAiCredentialDto": ".types", "UpdateXAiCredentialDtoProvider": ".types", - "User": ".types", "UserMessage": ".types", "UserMessageConfidenceSource": ".types", "UserMessageMetadata": ".types", + "UserWithRole": ".types", + "UserWithRoleRole": ".types", + "UserWithRoleRoleZero": ".types", "Vapi": ".client", "VapiCost": ".types", "VapiCostSubType": ".types", @@ -11330,6 +11342,7 @@ def __dir__(): "AnthropicBedrockModel", "AnthropicBedrockModelFallbackModelsItem", "AnthropicBedrockModelModel", + "AnthropicBedrockModelReasoningEffort", "AnthropicBedrockModelToolsItem", "AnthropicBedrockModelToolsItem_ApiRequest", "AnthropicBedrockModelToolsItem_Bash", @@ -11358,6 +11371,7 @@ def __dir__(): "AnthropicCredentialProvider", "AnthropicModel", "AnthropicModelModel", + "AnthropicModelReasoningEffort", "AnthropicModelToolsItem", "AnthropicModelToolsItem_ApiRequest", "AnthropicModelToolsItem_Bash", @@ -11622,6 +11636,9 @@ def __dir__(): "AssistantHookCallEnding", "AssistantHookCustomerSpeechInterrupted", "AssistantHooksItem", + "AssistantManagedConflictResponseDto", + "AssistantManagedConflictResponseDtoError", + "AssistantManagedVapiAgentsDto", "AssistantMessage", "AssistantMessageEvaluationContinuePlan", "AssistantMessageJudgePlanAi", @@ -11799,7 +11816,6 @@ def __dir__(): "AssistantOverridesVoicemailDetectionZero", "AssistantPaginatedResponse", "AssistantPinnedConflictResponseDto", - "AssistantPinnedConflictResponseDtoError", "AssistantServerMessagesItem", "AssistantSpeechWordAlignmentTiming", "AssistantSpeechWordProgressTiming", @@ -14423,6 +14439,7 @@ def __dir__(): "MistralCredential", "MistralCredentialProvider", "ModelCost", + "ModelCostServiceTierBreakdown", "ModelDeprecationNotice", "ModelDeprecationNoticeReplacementStatus", "Monitor", @@ -15533,7 +15550,6 @@ def __dir__(): "TrafficAllocationLatestResponseDto", "TrafficAllocationPaginatedResponse", "TrafficAllocationStaleConflictResponseDto", - "TrafficAllocationStaleConflictResponseDtoError", "TrafficAllocationTarget", "TrafficAllocationVersionConflictResponseDto", "TrafficAllocationVersionConflictResponseDtoError", @@ -16524,10 +16540,12 @@ def __dir__(): "UpdateWorkflowDtoVoicemailDetectionZero", "UpdateXAiCredentialDto", "UpdateXAiCredentialDtoProvider", - "User", "UserMessage", "UserMessageConfidenceSource", "UserMessageMetadata", + "UserWithRole", + "UserWithRoleRole", + "UserWithRoleRoleZero", "Vapi", "VapiCost", "VapiCostSubType", diff --git a/src/vapi/assistants/raw_client.py b/src/vapi/assistants/raw_client.py index 84d7ba9d5..118cad072 100644 --- a/src/vapi/assistants/raw_client.py +++ b/src/vapi/assistants/raw_client.py @@ -877,6 +877,17 @@ def update( ), ) return HttpResponse(response=_response, data=_data) + if _response.status_code == 409: + raise ConflictError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) @@ -1715,6 +1726,17 @@ async def update( ), ) return AsyncHttpResponse(response=_response, data=_data) + if _response.status_code == 409: + raise ConflictError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) diff --git a/src/vapi/assistants/types/update_assistant_dto_model.py b/src/vapi/assistants/types/update_assistant_dto_model.py index 59b5f174f..3920bbc2d 100644 --- a/src/vapi/assistants/types/update_assistant_dto_model.py +++ b/src/vapi/assistants/types/update_assistant_dto_model.py @@ -11,7 +11,9 @@ from ...core.unchecked_base_model import UncheckedBaseModel, UnionMetadata from ...types.anthropic_bedrock_model_fallback_models_item import AnthropicBedrockModelFallbackModelsItem from ...types.anthropic_bedrock_model_model import AnthropicBedrockModelModel +from ...types.anthropic_bedrock_model_reasoning_effort import AnthropicBedrockModelReasoningEffort from ...types.anthropic_model_model import AnthropicModelModel +from ...types.anthropic_model_reasoning_effort import AnthropicModelReasoningEffort from ...types.anthropic_thinking_config import AnthropicThinkingConfig from ...types.cerebras_model_model import CerebrasModelModel from ...types.create_custom_knowledge_base_dto import CreateCustomKnowledgeBaseDto @@ -56,6 +58,11 @@ class UpdateAssistantDtoModel_Anthropic(UncheckedBaseModel): pydantic.Field(alias="knowledgeBase"), ] = None model: AnthropicModelModel + reasoning_effort: typing_extensions.Annotated[ + typing.Optional[AnthropicModelReasoningEffort], + FieldMetadata(alias="reasoningEffort"), + pydantic.Field(alias="reasoningEffort"), + ] = None thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ @@ -105,6 +112,11 @@ class UpdateAssistantDtoModel_AnthropicBedrock(UncheckedBaseModel): FieldMetadata(alias="fallbackModels"), pydantic.Field(alias="fallbackModels"), ] = None + reasoning_effort: typing_extensions.Annotated[ + typing.Optional[AnthropicBedrockModelReasoningEffort], + FieldMetadata(alias="reasoningEffort"), + pydantic.Field(alias="reasoningEffort"), + ] = None thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ diff --git a/src/vapi/core/client_wrapper.py b/src/vapi/core/client_wrapper.py index 4c615fcfd..192024f23 100644 --- a/src/vapi/core/client_wrapper.py +++ b/src/vapi/core/client_wrapper.py @@ -27,12 +27,12 @@ def get_headers(self) -> typing.Dict[str, str]: import platform headers: typing.Dict[str, str] = { - "User-Agent": "vapi_server_sdk/3.0.0", + "User-Agent": "vapi_server_sdk/0.0.0-fern-placeholder", "X-Fern-Language": "Python", "X-Fern-Runtime": f"python/{platform.python_version()}", "X-Fern-Platform": f"{platform.system().lower()}/{platform.release()}", "X-Fern-SDK-Name": "vapi_server_sdk", - "X-Fern-SDK-Version": "3.0.0", + "X-Fern-SDK-Version": "0.0.0.dev0", **(self.get_custom_headers() or {}), } headers["Authorization"] = f"Bearer {self._get_token()}" diff --git a/src/vapi/simulation_runs/client.py b/src/vapi/simulation_runs/client.py index 76c69298e..350fc1318 100644 --- a/src/vapi/simulation_runs/client.py +++ b/src/vapi/simulation_runs/client.py @@ -164,6 +164,7 @@ def simulation_run_controller_create( *, simulations: typing.Sequence[CreateSimulationRunDtoSimulationsItem], target: CreateSimulationRunDtoTarget, + idempotency_key: typing.Optional[str] = None, iterations: typing.Optional[float] = OMIT, transport: typing.Optional[SimulationRunTransportConfiguration] = OMIT, request_options: typing.Optional[RequestOptions] = None, @@ -179,6 +180,9 @@ def simulation_run_controller_create( target : CreateSimulationRunDtoTarget Target to test against + idempotency_key : typing.Optional[str] + Makes the request safe to retry. A retry with the same key and the same body returns the run the first request created, with `reused: true`, instead of starting another. Reusing a key with a different body returns 409. Up to 255 printable ASCII characters, scoped to your organization; a key stays bound to its run while the run exists. + iterations : typing.Optional[float] Number of times to run each simulation (default: 1) @@ -212,6 +216,7 @@ def simulation_run_controller_create( _response = self._raw_client.simulation_run_controller_create( simulations=simulations, target=target, + idempotency_key=idempotency_key, iterations=iterations, transport=transport, request_options=request_options, @@ -663,6 +668,7 @@ async def simulation_run_controller_create( *, simulations: typing.Sequence[CreateSimulationRunDtoSimulationsItem], target: CreateSimulationRunDtoTarget, + idempotency_key: typing.Optional[str] = None, iterations: typing.Optional[float] = OMIT, transport: typing.Optional[SimulationRunTransportConfiguration] = OMIT, request_options: typing.Optional[RequestOptions] = None, @@ -678,6 +684,9 @@ async def simulation_run_controller_create( target : CreateSimulationRunDtoTarget Target to test against + idempotency_key : typing.Optional[str] + Makes the request safe to retry. A retry with the same key and the same body returns the run the first request created, with `reused: true`, instead of starting another. Reusing a key with a different body returns 409. Up to 255 printable ASCII characters, scoped to your organization; a key stays bound to its run while the run exists. + iterations : typing.Optional[float] Number of times to run each simulation (default: 1) @@ -719,6 +728,7 @@ async def main() -> None: _response = await self._raw_client.simulation_run_controller_create( simulations=simulations, target=target, + idempotency_key=idempotency_key, iterations=iterations, transport=transport, request_options=request_options, diff --git a/src/vapi/simulation_runs/raw_client.py b/src/vapi/simulation_runs/raw_client.py index 2b653ce04..cbd2de1f1 100644 --- a/src/vapi/simulation_runs/raw_client.py +++ b/src/vapi/simulation_runs/raw_client.py @@ -13,6 +13,7 @@ from ..core.request_options import RequestOptions from ..core.serialization import convert_and_respect_annotation_metadata from ..core.unchecked_base_model import construct_type +from ..errors.conflict_error import ConflictError from ..errors.payment_required_error import PaymentRequiredError from ..types.create_simulation_run_response import CreateSimulationRunResponse from ..types.simulation_run import SimulationRun @@ -175,6 +176,7 @@ def simulation_run_controller_create( *, simulations: typing.Sequence[CreateSimulationRunDtoSimulationsItem], target: CreateSimulationRunDtoTarget, + idempotency_key: typing.Optional[str] = None, iterations: typing.Optional[float] = OMIT, transport: typing.Optional[SimulationRunTransportConfiguration] = OMIT, request_options: typing.Optional[RequestOptions] = None, @@ -190,6 +192,9 @@ def simulation_run_controller_create( target : CreateSimulationRunDtoTarget Target to test against + idempotency_key : typing.Optional[str] + Makes the request safe to retry. A retry with the same key and the same body returns the run the first request created, with `reused: true`, instead of starting another. Reusing a key with a different body returns 409. Up to 255 printable ASCII characters, scoped to your organization; a key stays bound to its run while the run exists. + iterations : typing.Optional[float] Number of times to run each simulation (default: 1) @@ -223,6 +228,7 @@ def simulation_run_controller_create( }, headers={ "content-type": "application/json", + "Idempotency-Key": str(idempotency_key) if idempotency_key is not None else None, }, request_options=request_options, omit=OMIT, @@ -248,6 +254,17 @@ def simulation_run_controller_create( ), ), ) + if _response.status_code == 409: + raise ConflictError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) @@ -745,6 +762,7 @@ async def simulation_run_controller_create( *, simulations: typing.Sequence[CreateSimulationRunDtoSimulationsItem], target: CreateSimulationRunDtoTarget, + idempotency_key: typing.Optional[str] = None, iterations: typing.Optional[float] = OMIT, transport: typing.Optional[SimulationRunTransportConfiguration] = OMIT, request_options: typing.Optional[RequestOptions] = None, @@ -760,6 +778,9 @@ async def simulation_run_controller_create( target : CreateSimulationRunDtoTarget Target to test against + idempotency_key : typing.Optional[str] + Makes the request safe to retry. A retry with the same key and the same body returns the run the first request created, with `reused: true`, instead of starting another. Reusing a key with a different body returns 409. Up to 255 printable ASCII characters, scoped to your organization; a key stays bound to its run while the run exists. + iterations : typing.Optional[float] Number of times to run each simulation (default: 1) @@ -793,6 +814,7 @@ async def simulation_run_controller_create( }, headers={ "content-type": "application/json", + "Idempotency-Key": str(idempotency_key) if idempotency_key is not None else None, }, request_options=request_options, omit=OMIT, @@ -818,6 +840,17 @@ async def simulation_run_controller_create( ), ), ) + if _response.status_code == 409: + raise ConflictError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) diff --git a/src/vapi/structured_outputs/client.py b/src/vapi/structured_outputs/client.py index db6179251..db335d493 100644 --- a/src/vapi/structured_outputs/client.py +++ b/src/vapi/structured_outputs/client.py @@ -211,7 +211,8 @@ def structured_output_controller_create( This is the model that will be used to extract the structured output. To provide your own custom system and user prompts for structured output extraction, populate the messages array with your system and user messages. You can specify liquid templating in your system and user messages. - Between the system or user messages, you must reference either 'transcript' or 'messages' with the `{{}}` syntax to access the conversation history. + For text extraction, you must reference 'transcript', 'messages', or 'messagesWithConfidence' with the `{{}}` syntax to access the conversation history. + In structured outputs, `{{messages}}` includes conversation text and tool calls/results but omits caller transcription-confidence fields. Text extraction can use `{{messagesWithConfidence}}` when the output needs the original message history with transcription confidence. These variables also apply in structured-output schema descriptions. Audio-targeted (`messages-with-audio`) extraction ignores custom messages. Stored call artifacts and API messages retain their confidence data. Between the system or user messages, you must reference a variation of the structured output with the `{{}}` syntax to access the structured output definition. i.e.: `{{structuredOutput}}` @@ -411,7 +412,8 @@ def structured_output_controller_update( This is the model that will be used to extract the structured output. To provide your own custom system and user prompts for structured output extraction, populate the messages array with your system and user messages. You can specify liquid templating in your system and user messages. - Between the system or user messages, you must reference either 'transcript' or 'messages' with the `{{}}` syntax to access the conversation history. + For text extraction, you must reference 'transcript', 'messages', or 'messagesWithConfidence' with the `{{}}` syntax to access the conversation history. + In structured outputs, `{{messages}}` includes conversation text and tool calls/results but omits caller transcription-confidence fields. Text extraction can use `{{messagesWithConfidence}}` when the output needs the original message history with transcription confidence. These variables also apply in structured-output schema descriptions. Audio-targeted (`messages-with-audio`) extraction ignores custom messages. Stored call artifacts and API messages retain their confidence data. Between the system or user messages, you must reference a variation of the structured output with the `{{}}` syntax to access the structured output definition. i.e.: `{{structuredOutput}}` @@ -739,7 +741,8 @@ async def structured_output_controller_create( This is the model that will be used to extract the structured output. To provide your own custom system and user prompts for structured output extraction, populate the messages array with your system and user messages. You can specify liquid templating in your system and user messages. - Between the system or user messages, you must reference either 'transcript' or 'messages' with the `{{}}` syntax to access the conversation history. + For text extraction, you must reference 'transcript', 'messages', or 'messagesWithConfidence' with the `{{}}` syntax to access the conversation history. + In structured outputs, `{{messages}}` includes conversation text and tool calls/results but omits caller transcription-confidence fields. Text extraction can use `{{messagesWithConfidence}}` when the output needs the original message history with transcription confidence. These variables also apply in structured-output schema descriptions. Audio-targeted (`messages-with-audio`) extraction ignores custom messages. Stored call artifacts and API messages retain their confidence data. Between the system or user messages, you must reference a variation of the structured output with the `{{}}` syntax to access the structured output definition. i.e.: `{{structuredOutput}}` @@ -963,7 +966,8 @@ async def structured_output_controller_update( This is the model that will be used to extract the structured output. To provide your own custom system and user prompts for structured output extraction, populate the messages array with your system and user messages. You can specify liquid templating in your system and user messages. - Between the system or user messages, you must reference either 'transcript' or 'messages' with the `{{}}` syntax to access the conversation history. + For text extraction, you must reference 'transcript', 'messages', or 'messagesWithConfidence' with the `{{}}` syntax to access the conversation history. + In structured outputs, `{{messages}}` includes conversation text and tool calls/results but omits caller transcription-confidence fields. Text extraction can use `{{messagesWithConfidence}}` when the output needs the original message history with transcription confidence. These variables also apply in structured-output schema descriptions. Audio-targeted (`messages-with-audio`) extraction ignores custom messages. Stored call artifacts and API messages retain their confidence data. Between the system or user messages, you must reference a variation of the structured output with the `{{}}` syntax to access the structured output definition. i.e.: `{{structuredOutput}}` diff --git a/src/vapi/structured_outputs/raw_client.py b/src/vapi/structured_outputs/raw_client.py index 3bac450f7..b44b46ef8 100644 --- a/src/vapi/structured_outputs/raw_client.py +++ b/src/vapi/structured_outputs/raw_client.py @@ -13,6 +13,7 @@ from ..core.request_options import RequestOptions from ..core.serialization import convert_and_respect_annotation_metadata from ..core.unchecked_base_model import construct_type +from ..errors.conflict_error import ConflictError from ..types.compliance_override import ComplianceOverride from ..types.create_structured_output_dto import CreateStructuredOutputDto from ..types.create_structured_output_dto_conditions_item import CreateStructuredOutputDtoConditionsItem @@ -220,7 +221,8 @@ def structured_output_controller_create( This is the model that will be used to extract the structured output. To provide your own custom system and user prompts for structured output extraction, populate the messages array with your system and user messages. You can specify liquid templating in your system and user messages. - Between the system or user messages, you must reference either 'transcript' or 'messages' with the `{{}}` syntax to access the conversation history. + For text extraction, you must reference 'transcript', 'messages', or 'messagesWithConfidence' with the `{{}}` syntax to access the conversation history. + In structured outputs, `{{messages}}` includes conversation text and tool calls/results but omits caller transcription-confidence fields. Text extraction can use `{{messagesWithConfidence}}` when the output needs the original message history with transcription confidence. These variables also apply in structured-output schema descriptions. Audio-targeted (`messages-with-audio`) extraction ignores custom messages. Stored call artifacts and API messages retain their confidence data. Between the system or user messages, you must reference a variation of the structured output with the `{{}}` syntax to access the structured output definition. i.e.: `{{structuredOutput}}` @@ -298,6 +300,17 @@ def structured_output_controller_create( ), ) return HttpResponse(response=_response, data=_data) + if _response.status_code == 409: + raise ConflictError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) @@ -384,6 +397,17 @@ def structured_output_controller_remove( ), ) return HttpResponse(response=_response, data=_data) + if _response.status_code == 409: + raise ConflictError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) @@ -458,7 +482,8 @@ def structured_output_controller_update( This is the model that will be used to extract the structured output. To provide your own custom system and user prompts for structured output extraction, populate the messages array with your system and user messages. You can specify liquid templating in your system and user messages. - Between the system or user messages, you must reference either 'transcript' or 'messages' with the `{{}}` syntax to access the conversation history. + For text extraction, you must reference 'transcript', 'messages', or 'messagesWithConfidence' with the `{{}}` syntax to access the conversation history. + In structured outputs, `{{messages}}` includes conversation text and tool calls/results but omits caller transcription-confidence fields. Text extraction can use `{{messagesWithConfidence}}` when the output needs the original message history with transcription confidence. These variables also apply in structured-output schema descriptions. Audio-targeted (`messages-with-audio`) extraction ignores custom messages. Stored call artifacts and API messages retain their confidence data. Between the system or user messages, you must reference a variation of the structured output with the `{{}}` syntax to access the structured output definition. i.e.: `{{structuredOutput}}` @@ -550,6 +575,17 @@ def structured_output_controller_update( ), ) return HttpResponse(response=_response, data=_data) + if _response.status_code == 409: + raise ConflictError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) @@ -819,7 +855,8 @@ async def structured_output_controller_create( This is the model that will be used to extract the structured output. To provide your own custom system and user prompts for structured output extraction, populate the messages array with your system and user messages. You can specify liquid templating in your system and user messages. - Between the system or user messages, you must reference either 'transcript' or 'messages' with the `{{}}` syntax to access the conversation history. + For text extraction, you must reference 'transcript', 'messages', or 'messagesWithConfidence' with the `{{}}` syntax to access the conversation history. + In structured outputs, `{{messages}}` includes conversation text and tool calls/results but omits caller transcription-confidence fields. Text extraction can use `{{messagesWithConfidence}}` when the output needs the original message history with transcription confidence. These variables also apply in structured-output schema descriptions. Audio-targeted (`messages-with-audio`) extraction ignores custom messages. Stored call artifacts and API messages retain their confidence data. Between the system or user messages, you must reference a variation of the structured output with the `{{}}` syntax to access the structured output definition. i.e.: `{{structuredOutput}}` @@ -897,6 +934,17 @@ async def structured_output_controller_create( ), ) return AsyncHttpResponse(response=_response, data=_data) + if _response.status_code == 409: + raise ConflictError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) @@ -983,6 +1031,17 @@ async def structured_output_controller_remove( ), ) return AsyncHttpResponse(response=_response, data=_data) + if _response.status_code == 409: + raise ConflictError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) @@ -1057,7 +1116,8 @@ async def structured_output_controller_update( This is the model that will be used to extract the structured output. To provide your own custom system and user prompts for structured output extraction, populate the messages array with your system and user messages. You can specify liquid templating in your system and user messages. - Between the system or user messages, you must reference either 'transcript' or 'messages' with the `{{}}` syntax to access the conversation history. + For text extraction, you must reference 'transcript', 'messages', or 'messagesWithConfidence' with the `{{}}` syntax to access the conversation history. + In structured outputs, `{{messages}}` includes conversation text and tool calls/results but omits caller transcription-confidence fields. Text extraction can use `{{messagesWithConfidence}}` when the output needs the original message history with transcription confidence. These variables also apply in structured-output schema descriptions. Audio-targeted (`messages-with-audio`) extraction ignores custom messages. Stored call artifacts and API messages retain their confidence data. Between the system or user messages, you must reference a variation of the structured output with the `{{}}` syntax to access the structured output definition. i.e.: `{{structuredOutput}}` @@ -1149,6 +1209,17 @@ async def structured_output_controller_update( ), ) return AsyncHttpResponse(response=_response, data=_data) + if _response.status_code == 409: + raise ConflictError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) diff --git a/src/vapi/structured_outputs/types/update_structured_output_dto_model.py b/src/vapi/structured_outputs/types/update_structured_output_dto_model.py index 887bf675b..54ccc50d4 100644 --- a/src/vapi/structured_outputs/types/update_structured_output_dto_model.py +++ b/src/vapi/structured_outputs/types/update_structured_output_dto_model.py @@ -23,7 +23,8 @@ class UpdateStructuredOutputDtoModel_Openai(UncheckedBaseModel): This is the model that will be used to extract the structured output. To provide your own custom system and user prompts for structured output extraction, populate the messages array with your system and user messages. You can specify liquid templating in your system and user messages. - Between the system or user messages, you must reference either 'transcript' or 'messages' with the `{{}}` syntax to access the conversation history. + For text extraction, you must reference 'transcript', 'messages', or 'messagesWithConfidence' with the `{{}}` syntax to access the conversation history. + In structured outputs, `{{messages}}` includes conversation text and tool calls/results but omits caller transcription-confidence fields. Text extraction can use `{{messagesWithConfidence}}` when the output needs the original message history with transcription confidence. These variables also apply in structured-output schema descriptions. Audio-targeted (`messages-with-audio`) extraction ignores custom messages. Stored call artifacts and API messages retain their confidence data. Between the system or user messages, you must reference a variation of the structured output with the `{{}}` syntax to access the structured output definition. i.e.: `{{structuredOutput}}` @@ -58,7 +59,8 @@ class UpdateStructuredOutputDtoModel_Anthropic(UncheckedBaseModel): This is the model that will be used to extract the structured output. To provide your own custom system and user prompts for structured output extraction, populate the messages array with your system and user messages. You can specify liquid templating in your system and user messages. - Between the system or user messages, you must reference either 'transcript' or 'messages' with the `{{}}` syntax to access the conversation history. + For text extraction, you must reference 'transcript', 'messages', or 'messagesWithConfidence' with the `{{}}` syntax to access the conversation history. + In structured outputs, `{{messages}}` includes conversation text and tool calls/results but omits caller transcription-confidence fields. Text extraction can use `{{messagesWithConfidence}}` when the output needs the original message history with transcription confidence. These variables also apply in structured-output schema descriptions. Audio-targeted (`messages-with-audio`) extraction ignores custom messages. Stored call artifacts and API messages retain their confidence data. Between the system or user messages, you must reference a variation of the structured output with the `{{}}` syntax to access the structured output definition. i.e.: `{{structuredOutput}}` @@ -94,7 +96,8 @@ class UpdateStructuredOutputDtoModel_AnthropicBedrock(UncheckedBaseModel): This is the model that will be used to extract the structured output. To provide your own custom system and user prompts for structured output extraction, populate the messages array with your system and user messages. You can specify liquid templating in your system and user messages. - Between the system or user messages, you must reference either 'transcript' or 'messages' with the `{{}}` syntax to access the conversation history. + For text extraction, you must reference 'transcript', 'messages', or 'messagesWithConfidence' with the `{{}}` syntax to access the conversation history. + In structured outputs, `{{messages}}` includes conversation text and tool calls/results but omits caller transcription-confidence fields. Text extraction can use `{{messagesWithConfidence}}` when the output needs the original message history with transcription confidence. These variables also apply in structured-output schema descriptions. Audio-targeted (`messages-with-audio`) extraction ignores custom messages. Stored call artifacts and API messages retain their confidence data. Between the system or user messages, you must reference a variation of the structured output with the `{{}}` syntax to access the structured output definition. i.e.: `{{structuredOutput}}` @@ -130,7 +133,8 @@ class UpdateStructuredOutputDtoModel_Google(UncheckedBaseModel): This is the model that will be used to extract the structured output. To provide your own custom system and user prompts for structured output extraction, populate the messages array with your system and user messages. You can specify liquid templating in your system and user messages. - Between the system or user messages, you must reference either 'transcript' or 'messages' with the `{{}}` syntax to access the conversation history. + For text extraction, you must reference 'transcript', 'messages', or 'messagesWithConfidence' with the `{{}}` syntax to access the conversation history. + In structured outputs, `{{messages}}` includes conversation text and tool calls/results but omits caller transcription-confidence fields. Text extraction can use `{{messagesWithConfidence}}` when the output needs the original message history with transcription confidence. These variables also apply in structured-output schema descriptions. Audio-targeted (`messages-with-audio`) extraction ignores custom messages. Stored call artifacts and API messages retain their confidence data. Between the system or user messages, you must reference a variation of the structured output with the `{{}}` syntax to access the structured output definition. i.e.: `{{structuredOutput}}` @@ -165,7 +169,8 @@ class UpdateStructuredOutputDtoModel_CustomLlm(UncheckedBaseModel): This is the model that will be used to extract the structured output. To provide your own custom system and user prompts for structured output extraction, populate the messages array with your system and user messages. You can specify liquid templating in your system and user messages. - Between the system or user messages, you must reference either 'transcript' or 'messages' with the `{{}}` syntax to access the conversation history. + For text extraction, you must reference 'transcript', 'messages', or 'messagesWithConfidence' with the `{{}}` syntax to access the conversation history. + In structured outputs, `{{messages}}` includes conversation text and tool calls/results but omits caller transcription-confidence fields. Text extraction can use `{{messagesWithConfidence}}` when the output needs the original message history with transcription confidence. These variables also apply in structured-output schema descriptions. Audio-targeted (`messages-with-audio`) extraction ignores custom messages. Stored call artifacts and API messages retain their confidence data. Between the system or user messages, you must reference a variation of the structured output with the `{{}}` syntax to access the structured output definition. i.e.: `{{structuredOutput}}` diff --git a/src/vapi/tools/types/create_tools_response.py b/src/vapi/tools/types/create_tools_response.py index 89ee4876d..2021aa652 100644 --- a/src/vapi/tools/types/create_tools_response.py +++ b/src/vapi/tools/types/create_tools_response.py @@ -71,6 +71,9 @@ class CreateToolsResponse_ApiRequest(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[ApiRequestToolMessagesItem]] = None name: typing.Optional[str] = None method: ApiRequestToolMethod @@ -123,6 +126,9 @@ class CreateToolsResponse_Code(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[CodeToolMessagesItem]] = None async_: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="async"), pydantic.Field(alias="async") @@ -173,6 +179,9 @@ class CreateToolsResponse_Dtmf(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[DtmfToolMessagesItem]] = None sip_info_dtmf_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="sipInfoDtmfEnabled"), pydantic.Field(alias="sipInfoDtmfEnabled") @@ -204,6 +213,9 @@ class CreateToolsResponse_EndCall(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[EndCallToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -232,6 +244,9 @@ class CreateToolsResponse_Function(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[FunctionToolMessagesItem]] = None async_: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="async"), pydantic.Field(alias="async") @@ -271,6 +286,9 @@ class CreateToolsResponse_KnowledgeBase(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[KnowledgeBaseToolMessagesItem]] = None knowledge_base_id: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="knowledgeBaseId"), pydantic.Field(alias="knowledgeBaseId") @@ -303,6 +321,9 @@ class CreateToolsResponse_TransferCall(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[TransferCallToolMessagesItem]] = None destinations: typing.Optional[typing.List[TransferCallToolDestinationsItem]] = None id: str @@ -332,6 +353,9 @@ class CreateToolsResponse_Handoff(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[HandoffToolMessagesItem]] = None default_result: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="defaultResult"), pydantic.Field(alias="defaultResult") @@ -365,6 +389,9 @@ class CreateToolsResponse_Bash(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[BashToolMessagesItem]] = None sub_type: typing_extensions.Annotated[ BashToolSubType, FieldMetadata(alias="subType"), pydantic.Field(alias="subType") @@ -398,6 +425,9 @@ class CreateToolsResponse_Computer(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[ComputerToolMessagesItem]] = None sub_type: typing_extensions.Annotated[ ComputerToolSubType, FieldMetadata(alias="subType"), pydantic.Field(alias="subType") @@ -440,6 +470,9 @@ class CreateToolsResponse_TextEditor(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[TextEditorToolMessagesItem]] = None sub_type: typing_extensions.Annotated[ TextEditorToolSubType, FieldMetadata(alias="subType"), pydantic.Field(alias="subType") @@ -473,6 +506,9 @@ class CreateToolsResponse_Query(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[QueryToolMessagesItem]] = None knowledge_bases: typing_extensions.Annotated[ typing.Optional[typing.List[KnowledgeBase]], @@ -506,6 +542,9 @@ class CreateToolsResponse_GoogleCalendarEventCreate(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoogleCalendarCreateEventToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -534,6 +573,9 @@ class CreateToolsResponse_GoogleSheetsRowAppend(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoogleSheetsRowAppendToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -562,6 +604,9 @@ class CreateToolsResponse_GoogleCalendarAvailabilityCheck(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoogleCalendarCheckAvailabilityToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -590,6 +635,9 @@ class CreateToolsResponse_SlackMessageSend(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[SlackSendMessageToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -618,6 +666,9 @@ class CreateToolsResponse_Sms(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[SmsToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -646,6 +697,9 @@ class CreateToolsResponse_Mcp(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[McpToolMessagesItem]] = None server: typing.Optional[Server] = None tool_messages: typing_extensions.Annotated[ @@ -681,6 +735,9 @@ class CreateToolsResponse_GohighlevelCalendarAvailabilityCheck(UncheckedBaseMode latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelCalendarAvailabilityToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -709,6 +766,9 @@ class CreateToolsResponse_GohighlevelCalendarEventCreate(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelCalendarEventCreateToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -737,6 +797,9 @@ class CreateToolsResponse_GohighlevelContactCreate(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelContactCreateToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -765,6 +828,9 @@ class CreateToolsResponse_GohighlevelContactGet(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelContactGetToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -793,6 +859,9 @@ class CreateToolsResponse_SipRequest(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[SipRequestToolMessagesItem]] = None verb: SipRequestToolVerb headers: typing.Optional["JsonSchema"] = None @@ -824,6 +893,9 @@ class CreateToolsResponse_Voicemail(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[VoicemailToolMessagesItem]] = None beep_detection_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="beepDetectionEnabled"), pydantic.Field(alias="beepDetectionEnabled") @@ -855,6 +927,9 @@ class CreateToolsResponse_Ghl(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GhlToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] diff --git a/src/vapi/tools/types/delete_tools_response.py b/src/vapi/tools/types/delete_tools_response.py index dd44207b4..3583988fd 100644 --- a/src/vapi/tools/types/delete_tools_response.py +++ b/src/vapi/tools/types/delete_tools_response.py @@ -71,6 +71,9 @@ class DeleteToolsResponse_ApiRequest(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[ApiRequestToolMessagesItem]] = None name: typing.Optional[str] = None method: ApiRequestToolMethod @@ -123,6 +126,9 @@ class DeleteToolsResponse_Code(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[CodeToolMessagesItem]] = None async_: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="async"), pydantic.Field(alias="async") @@ -173,6 +179,9 @@ class DeleteToolsResponse_Dtmf(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[DtmfToolMessagesItem]] = None sip_info_dtmf_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="sipInfoDtmfEnabled"), pydantic.Field(alias="sipInfoDtmfEnabled") @@ -204,6 +213,9 @@ class DeleteToolsResponse_EndCall(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[EndCallToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -232,6 +244,9 @@ class DeleteToolsResponse_Function(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[FunctionToolMessagesItem]] = None async_: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="async"), pydantic.Field(alias="async") @@ -271,6 +286,9 @@ class DeleteToolsResponse_KnowledgeBase(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[KnowledgeBaseToolMessagesItem]] = None knowledge_base_id: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="knowledgeBaseId"), pydantic.Field(alias="knowledgeBaseId") @@ -303,6 +321,9 @@ class DeleteToolsResponse_TransferCall(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[TransferCallToolMessagesItem]] = None destinations: typing.Optional[typing.List[TransferCallToolDestinationsItem]] = None id: str @@ -332,6 +353,9 @@ class DeleteToolsResponse_Handoff(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[HandoffToolMessagesItem]] = None default_result: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="defaultResult"), pydantic.Field(alias="defaultResult") @@ -365,6 +389,9 @@ class DeleteToolsResponse_Bash(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[BashToolMessagesItem]] = None sub_type: typing_extensions.Annotated[ BashToolSubType, FieldMetadata(alias="subType"), pydantic.Field(alias="subType") @@ -398,6 +425,9 @@ class DeleteToolsResponse_Computer(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[ComputerToolMessagesItem]] = None sub_type: typing_extensions.Annotated[ ComputerToolSubType, FieldMetadata(alias="subType"), pydantic.Field(alias="subType") @@ -440,6 +470,9 @@ class DeleteToolsResponse_TextEditor(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[TextEditorToolMessagesItem]] = None sub_type: typing_extensions.Annotated[ TextEditorToolSubType, FieldMetadata(alias="subType"), pydantic.Field(alias="subType") @@ -473,6 +506,9 @@ class DeleteToolsResponse_Query(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[QueryToolMessagesItem]] = None knowledge_bases: typing_extensions.Annotated[ typing.Optional[typing.List[KnowledgeBase]], @@ -506,6 +542,9 @@ class DeleteToolsResponse_GoogleCalendarEventCreate(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoogleCalendarCreateEventToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -534,6 +573,9 @@ class DeleteToolsResponse_GoogleSheetsRowAppend(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoogleSheetsRowAppendToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -562,6 +604,9 @@ class DeleteToolsResponse_GoogleCalendarAvailabilityCheck(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoogleCalendarCheckAvailabilityToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -590,6 +635,9 @@ class DeleteToolsResponse_SlackMessageSend(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[SlackSendMessageToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -618,6 +666,9 @@ class DeleteToolsResponse_Sms(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[SmsToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -646,6 +697,9 @@ class DeleteToolsResponse_Mcp(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[McpToolMessagesItem]] = None server: typing.Optional[Server] = None tool_messages: typing_extensions.Annotated[ @@ -681,6 +735,9 @@ class DeleteToolsResponse_GohighlevelCalendarAvailabilityCheck(UncheckedBaseMode latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelCalendarAvailabilityToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -709,6 +766,9 @@ class DeleteToolsResponse_GohighlevelCalendarEventCreate(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelCalendarEventCreateToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -737,6 +797,9 @@ class DeleteToolsResponse_GohighlevelContactCreate(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelContactCreateToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -765,6 +828,9 @@ class DeleteToolsResponse_GohighlevelContactGet(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelContactGetToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -793,6 +859,9 @@ class DeleteToolsResponse_SipRequest(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[SipRequestToolMessagesItem]] = None verb: SipRequestToolVerb headers: typing.Optional["JsonSchema"] = None @@ -824,6 +893,9 @@ class DeleteToolsResponse_Voicemail(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[VoicemailToolMessagesItem]] = None beep_detection_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="beepDetectionEnabled"), pydantic.Field(alias="beepDetectionEnabled") @@ -855,6 +927,9 @@ class DeleteToolsResponse_Ghl(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GhlToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] diff --git a/src/vapi/tools/types/get_tools_response.py b/src/vapi/tools/types/get_tools_response.py index 70d71e214..511fa8a2a 100644 --- a/src/vapi/tools/types/get_tools_response.py +++ b/src/vapi/tools/types/get_tools_response.py @@ -71,6 +71,9 @@ class GetToolsResponse_ApiRequest(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[ApiRequestToolMessagesItem]] = None name: typing.Optional[str] = None method: ApiRequestToolMethod @@ -123,6 +126,9 @@ class GetToolsResponse_Code(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[CodeToolMessagesItem]] = None async_: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="async"), pydantic.Field(alias="async") @@ -173,6 +179,9 @@ class GetToolsResponse_Dtmf(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[DtmfToolMessagesItem]] = None sip_info_dtmf_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="sipInfoDtmfEnabled"), pydantic.Field(alias="sipInfoDtmfEnabled") @@ -204,6 +213,9 @@ class GetToolsResponse_EndCall(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[EndCallToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -232,6 +244,9 @@ class GetToolsResponse_Function(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[FunctionToolMessagesItem]] = None async_: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="async"), pydantic.Field(alias="async") @@ -271,6 +286,9 @@ class GetToolsResponse_KnowledgeBase(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[KnowledgeBaseToolMessagesItem]] = None knowledge_base_id: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="knowledgeBaseId"), pydantic.Field(alias="knowledgeBaseId") @@ -303,6 +321,9 @@ class GetToolsResponse_TransferCall(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[TransferCallToolMessagesItem]] = None destinations: typing.Optional[typing.List[TransferCallToolDestinationsItem]] = None id: str @@ -332,6 +353,9 @@ class GetToolsResponse_Handoff(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[HandoffToolMessagesItem]] = None default_result: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="defaultResult"), pydantic.Field(alias="defaultResult") @@ -365,6 +389,9 @@ class GetToolsResponse_Bash(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[BashToolMessagesItem]] = None sub_type: typing_extensions.Annotated[ BashToolSubType, FieldMetadata(alias="subType"), pydantic.Field(alias="subType") @@ -398,6 +425,9 @@ class GetToolsResponse_Computer(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[ComputerToolMessagesItem]] = None sub_type: typing_extensions.Annotated[ ComputerToolSubType, FieldMetadata(alias="subType"), pydantic.Field(alias="subType") @@ -440,6 +470,9 @@ class GetToolsResponse_TextEditor(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[TextEditorToolMessagesItem]] = None sub_type: typing_extensions.Annotated[ TextEditorToolSubType, FieldMetadata(alias="subType"), pydantic.Field(alias="subType") @@ -473,6 +506,9 @@ class GetToolsResponse_Query(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[QueryToolMessagesItem]] = None knowledge_bases: typing_extensions.Annotated[ typing.Optional[typing.List[KnowledgeBase]], @@ -506,6 +542,9 @@ class GetToolsResponse_GoogleCalendarEventCreate(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoogleCalendarCreateEventToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -534,6 +573,9 @@ class GetToolsResponse_GoogleSheetsRowAppend(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoogleSheetsRowAppendToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -562,6 +604,9 @@ class GetToolsResponse_GoogleCalendarAvailabilityCheck(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoogleCalendarCheckAvailabilityToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -590,6 +635,9 @@ class GetToolsResponse_SlackMessageSend(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[SlackSendMessageToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -618,6 +666,9 @@ class GetToolsResponse_Sms(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[SmsToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -646,6 +697,9 @@ class GetToolsResponse_Mcp(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[McpToolMessagesItem]] = None server: typing.Optional[Server] = None tool_messages: typing_extensions.Annotated[ @@ -681,6 +735,9 @@ class GetToolsResponse_GohighlevelCalendarAvailabilityCheck(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelCalendarAvailabilityToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -709,6 +766,9 @@ class GetToolsResponse_GohighlevelCalendarEventCreate(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelCalendarEventCreateToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -737,6 +797,9 @@ class GetToolsResponse_GohighlevelContactCreate(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelContactCreateToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -765,6 +828,9 @@ class GetToolsResponse_GohighlevelContactGet(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelContactGetToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -793,6 +859,9 @@ class GetToolsResponse_SipRequest(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[SipRequestToolMessagesItem]] = None verb: SipRequestToolVerb headers: typing.Optional["JsonSchema"] = None @@ -824,6 +893,9 @@ class GetToolsResponse_Voicemail(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[VoicemailToolMessagesItem]] = None beep_detection_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="beepDetectionEnabled"), pydantic.Field(alias="beepDetectionEnabled") @@ -855,6 +927,9 @@ class GetToolsResponse_Ghl(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GhlToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] diff --git a/src/vapi/tools/types/list_tools_response_item.py b/src/vapi/tools/types/list_tools_response_item.py index 67399a8e7..1ee44c630 100644 --- a/src/vapi/tools/types/list_tools_response_item.py +++ b/src/vapi/tools/types/list_tools_response_item.py @@ -71,6 +71,9 @@ class ListToolsResponseItem_ApiRequest(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[ApiRequestToolMessagesItem]] = None name: typing.Optional[str] = None method: ApiRequestToolMethod @@ -123,6 +126,9 @@ class ListToolsResponseItem_Code(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[CodeToolMessagesItem]] = None async_: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="async"), pydantic.Field(alias="async") @@ -173,6 +179,9 @@ class ListToolsResponseItem_Dtmf(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[DtmfToolMessagesItem]] = None sip_info_dtmf_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="sipInfoDtmfEnabled"), pydantic.Field(alias="sipInfoDtmfEnabled") @@ -204,6 +213,9 @@ class ListToolsResponseItem_EndCall(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[EndCallToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -232,6 +244,9 @@ class ListToolsResponseItem_Function(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[FunctionToolMessagesItem]] = None async_: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="async"), pydantic.Field(alias="async") @@ -271,6 +286,9 @@ class ListToolsResponseItem_KnowledgeBase(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[KnowledgeBaseToolMessagesItem]] = None knowledge_base_id: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="knowledgeBaseId"), pydantic.Field(alias="knowledgeBaseId") @@ -303,6 +321,9 @@ class ListToolsResponseItem_TransferCall(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[TransferCallToolMessagesItem]] = None destinations: typing.Optional[typing.List[TransferCallToolDestinationsItem]] = None id: str @@ -332,6 +353,9 @@ class ListToolsResponseItem_Handoff(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[HandoffToolMessagesItem]] = None default_result: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="defaultResult"), pydantic.Field(alias="defaultResult") @@ -365,6 +389,9 @@ class ListToolsResponseItem_Bash(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[BashToolMessagesItem]] = None sub_type: typing_extensions.Annotated[ BashToolSubType, FieldMetadata(alias="subType"), pydantic.Field(alias="subType") @@ -398,6 +425,9 @@ class ListToolsResponseItem_Computer(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[ComputerToolMessagesItem]] = None sub_type: typing_extensions.Annotated[ ComputerToolSubType, FieldMetadata(alias="subType"), pydantic.Field(alias="subType") @@ -440,6 +470,9 @@ class ListToolsResponseItem_TextEditor(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[TextEditorToolMessagesItem]] = None sub_type: typing_extensions.Annotated[ TextEditorToolSubType, FieldMetadata(alias="subType"), pydantic.Field(alias="subType") @@ -473,6 +506,9 @@ class ListToolsResponseItem_Query(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[QueryToolMessagesItem]] = None knowledge_bases: typing_extensions.Annotated[ typing.Optional[typing.List[KnowledgeBase]], @@ -506,6 +542,9 @@ class ListToolsResponseItem_GoogleCalendarEventCreate(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoogleCalendarCreateEventToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -534,6 +573,9 @@ class ListToolsResponseItem_GoogleSheetsRowAppend(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoogleSheetsRowAppendToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -562,6 +604,9 @@ class ListToolsResponseItem_GoogleCalendarAvailabilityCheck(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoogleCalendarCheckAvailabilityToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -590,6 +635,9 @@ class ListToolsResponseItem_SlackMessageSend(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[SlackSendMessageToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -618,6 +666,9 @@ class ListToolsResponseItem_Sms(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[SmsToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -646,6 +697,9 @@ class ListToolsResponseItem_Mcp(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[McpToolMessagesItem]] = None server: typing.Optional[Server] = None tool_messages: typing_extensions.Annotated[ @@ -681,6 +735,9 @@ class ListToolsResponseItem_GohighlevelCalendarAvailabilityCheck(UncheckedBaseMo latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelCalendarAvailabilityToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -709,6 +766,9 @@ class ListToolsResponseItem_GohighlevelCalendarEventCreate(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelCalendarEventCreateToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -737,6 +797,9 @@ class ListToolsResponseItem_GohighlevelContactCreate(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelContactCreateToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -765,6 +828,9 @@ class ListToolsResponseItem_GohighlevelContactGet(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelContactGetToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -793,6 +859,9 @@ class ListToolsResponseItem_SipRequest(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[SipRequestToolMessagesItem]] = None verb: SipRequestToolVerb headers: typing.Optional["JsonSchema"] = None @@ -824,6 +893,9 @@ class ListToolsResponseItem_Voicemail(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[VoicemailToolMessagesItem]] = None beep_detection_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="beepDetectionEnabled"), pydantic.Field(alias="beepDetectionEnabled") @@ -855,6 +927,9 @@ class ListToolsResponseItem_Ghl(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GhlToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] diff --git a/src/vapi/tools/types/update_tools_response.py b/src/vapi/tools/types/update_tools_response.py index bf12fd88e..55a298373 100644 --- a/src/vapi/tools/types/update_tools_response.py +++ b/src/vapi/tools/types/update_tools_response.py @@ -71,6 +71,9 @@ class UpdateToolsResponse_ApiRequest(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[ApiRequestToolMessagesItem]] = None name: typing.Optional[str] = None method: ApiRequestToolMethod @@ -123,6 +126,9 @@ class UpdateToolsResponse_Code(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[CodeToolMessagesItem]] = None async_: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="async"), pydantic.Field(alias="async") @@ -173,6 +179,9 @@ class UpdateToolsResponse_Dtmf(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[DtmfToolMessagesItem]] = None sip_info_dtmf_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="sipInfoDtmfEnabled"), pydantic.Field(alias="sipInfoDtmfEnabled") @@ -204,6 +213,9 @@ class UpdateToolsResponse_EndCall(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[EndCallToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -232,6 +244,9 @@ class UpdateToolsResponse_Function(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[FunctionToolMessagesItem]] = None async_: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="async"), pydantic.Field(alias="async") @@ -271,6 +286,9 @@ class UpdateToolsResponse_KnowledgeBase(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[KnowledgeBaseToolMessagesItem]] = None knowledge_base_id: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="knowledgeBaseId"), pydantic.Field(alias="knowledgeBaseId") @@ -303,6 +321,9 @@ class UpdateToolsResponse_TransferCall(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[TransferCallToolMessagesItem]] = None destinations: typing.Optional[typing.List[TransferCallToolDestinationsItem]] = None id: str @@ -332,6 +353,9 @@ class UpdateToolsResponse_Handoff(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[HandoffToolMessagesItem]] = None default_result: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="defaultResult"), pydantic.Field(alias="defaultResult") @@ -365,6 +389,9 @@ class UpdateToolsResponse_Bash(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[BashToolMessagesItem]] = None sub_type: typing_extensions.Annotated[ BashToolSubType, FieldMetadata(alias="subType"), pydantic.Field(alias="subType") @@ -398,6 +425,9 @@ class UpdateToolsResponse_Computer(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[ComputerToolMessagesItem]] = None sub_type: typing_extensions.Annotated[ ComputerToolSubType, FieldMetadata(alias="subType"), pydantic.Field(alias="subType") @@ -440,6 +470,9 @@ class UpdateToolsResponse_TextEditor(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[TextEditorToolMessagesItem]] = None sub_type: typing_extensions.Annotated[ TextEditorToolSubType, FieldMetadata(alias="subType"), pydantic.Field(alias="subType") @@ -473,6 +506,9 @@ class UpdateToolsResponse_Query(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[QueryToolMessagesItem]] = None knowledge_bases: typing_extensions.Annotated[ typing.Optional[typing.List[KnowledgeBase]], @@ -506,6 +542,9 @@ class UpdateToolsResponse_GoogleCalendarEventCreate(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoogleCalendarCreateEventToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -534,6 +573,9 @@ class UpdateToolsResponse_GoogleSheetsRowAppend(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoogleSheetsRowAppendToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -562,6 +604,9 @@ class UpdateToolsResponse_GoogleCalendarAvailabilityCheck(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoogleCalendarCheckAvailabilityToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -590,6 +635,9 @@ class UpdateToolsResponse_SlackMessageSend(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[SlackSendMessageToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -618,6 +666,9 @@ class UpdateToolsResponse_Sms(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[SmsToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -646,6 +697,9 @@ class UpdateToolsResponse_Mcp(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[McpToolMessagesItem]] = None server: typing.Optional[Server] = None tool_messages: typing_extensions.Annotated[ @@ -681,6 +735,9 @@ class UpdateToolsResponse_GohighlevelCalendarAvailabilityCheck(UncheckedBaseMode latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelCalendarAvailabilityToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -709,6 +766,9 @@ class UpdateToolsResponse_GohighlevelCalendarEventCreate(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelCalendarEventCreateToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -737,6 +797,9 @@ class UpdateToolsResponse_GohighlevelContactCreate(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelContactCreateToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -765,6 +828,9 @@ class UpdateToolsResponse_GohighlevelContactGet(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelContactGetToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -793,6 +859,9 @@ class UpdateToolsResponse_SipRequest(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[SipRequestToolMessagesItem]] = None verb: SipRequestToolVerb headers: typing.Optional["JsonSchema"] = None @@ -824,6 +893,9 @@ class UpdateToolsResponse_Voicemail(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[VoicemailToolMessagesItem]] = None beep_detection_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="beepDetectionEnabled"), pydantic.Field(alias="beepDetectionEnabled") @@ -855,6 +927,9 @@ class UpdateToolsResponse_Ghl(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="baselineVersion"), pydantic.Field(alias="baselineVersion") + ] = None messages: typing.Optional[typing.List[GhlToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] diff --git a/src/vapi/types/__init__.py b/src/vapi/types/__init__.py index 2054e5086..658ef1828 100644 --- a/src/vapi/types/__init__.py +++ b/src/vapi/types/__init__.py @@ -32,6 +32,7 @@ from .anthropic_bedrock_model import AnthropicBedrockModel from .anthropic_bedrock_model_fallback_models_item import AnthropicBedrockModelFallbackModelsItem from .anthropic_bedrock_model_model import AnthropicBedrockModelModel + from .anthropic_bedrock_model_reasoning_effort import AnthropicBedrockModelReasoningEffort from .anthropic_bedrock_model_tools_item import ( AnthropicBedrockModelToolsItem, AnthropicBedrockModelToolsItem_ApiRequest, @@ -62,6 +63,7 @@ from .anthropic_credential_provider import AnthropicCredentialProvider from .anthropic_model import AnthropicModel from .anthropic_model_model import AnthropicModelModel + from .anthropic_model_reasoning_effort import AnthropicModelReasoningEffort from .anthropic_model_tools_item import ( AnthropicModelToolsItem, AnthropicModelToolsItem_ApiRequest, @@ -342,6 +344,9 @@ from .assistant_hook_call_ending import AssistantHookCallEnding from .assistant_hook_customer_speech_interrupted import AssistantHookCustomerSpeechInterrupted from .assistant_hooks_item import AssistantHooksItem + from .assistant_managed_conflict_response_dto import AssistantManagedConflictResponseDto + from .assistant_managed_conflict_response_dto_error import AssistantManagedConflictResponseDtoError + from .assistant_managed_vapi_agents_dto import AssistantManagedVapiAgentsDto from .assistant_message import AssistantMessage from .assistant_message_evaluation_continue_plan import AssistantMessageEvaluationContinuePlan from .assistant_message_judge_plan_ai import AssistantMessageJudgePlanAi @@ -533,7 +538,6 @@ from .assistant_overrides_voicemail_detection_zero import AssistantOverridesVoicemailDetectionZero from .assistant_paginated_response import AssistantPaginatedResponse from .assistant_pinned_conflict_response_dto import AssistantPinnedConflictResponseDto - from .assistant_pinned_conflict_response_dto_error import AssistantPinnedConflictResponseDtoError from .assistant_server_messages_item import AssistantServerMessagesItem from .assistant_speech_word_alignment_timing import AssistantSpeechWordAlignmentTiming from .assistant_speech_word_progress_timing import AssistantSpeechWordProgressTiming @@ -3283,6 +3287,7 @@ from .mistral_credential import MistralCredential from .mistral_credential_provider import MistralCredentialProvider from .model_cost import ModelCost + from .model_cost_service_tier_breakdown import ModelCostServiceTierBreakdown from .model_deprecation_notice import ModelDeprecationNotice from .model_deprecation_notice_replacement_status import ModelDeprecationNoticeReplacementStatus from .monitor import Monitor @@ -4504,7 +4509,6 @@ from .traffic_allocation_latest_response_dto import TrafficAllocationLatestResponseDto from .traffic_allocation_paginated_response import TrafficAllocationPaginatedResponse from .traffic_allocation_stale_conflict_response_dto import TrafficAllocationStaleConflictResponseDto - from .traffic_allocation_stale_conflict_response_dto_error import TrafficAllocationStaleConflictResponseDtoError from .traffic_allocation_target import TrafficAllocationTarget from .traffic_allocation_version_conflict_response_dto import TrafficAllocationVersionConflictResponseDto from .traffic_allocation_version_conflict_response_dto_error import TrafficAllocationVersionConflictResponseDtoError @@ -5444,10 +5448,12 @@ from .update_workflow_dto_voicemail_detection_zero import UpdateWorkflowDtoVoicemailDetectionZero from .update_x_ai_credential_dto import UpdateXAiCredentialDto from .update_x_ai_credential_dto_provider import UpdateXAiCredentialDtoProvider - from .user import User from .user_message import UserMessage from .user_message_confidence_source import UserMessageConfidenceSource from .user_message_metadata import UserMessageMetadata + from .user_with_role import UserWithRole + from .user_with_role_role import UserWithRoleRole + from .user_with_role_role_zero import UserWithRoleRoleZero from .vapi_cost import VapiCost from .vapi_cost_sub_type import VapiCostSubType from .vapi_model import VapiModel @@ -5875,6 +5881,7 @@ "AnthropicBedrockModel": ".anthropic_bedrock_model", "AnthropicBedrockModelFallbackModelsItem": ".anthropic_bedrock_model_fallback_models_item", "AnthropicBedrockModelModel": ".anthropic_bedrock_model_model", + "AnthropicBedrockModelReasoningEffort": ".anthropic_bedrock_model_reasoning_effort", "AnthropicBedrockModelToolsItem": ".anthropic_bedrock_model_tools_item", "AnthropicBedrockModelToolsItem_ApiRequest": ".anthropic_bedrock_model_tools_item", "AnthropicBedrockModelToolsItem_Bash": ".anthropic_bedrock_model_tools_item", @@ -5903,6 +5910,7 @@ "AnthropicCredentialProvider": ".anthropic_credential_provider", "AnthropicModel": ".anthropic_model", "AnthropicModelModel": ".anthropic_model_model", + "AnthropicModelReasoningEffort": ".anthropic_model_reasoning_effort", "AnthropicModelToolsItem": ".anthropic_model_tools_item", "AnthropicModelToolsItem_ApiRequest": ".anthropic_model_tools_item", "AnthropicModelToolsItem_Bash": ".anthropic_model_tools_item", @@ -6167,6 +6175,9 @@ "AssistantHookCallEnding": ".assistant_hook_call_ending", "AssistantHookCustomerSpeechInterrupted": ".assistant_hook_customer_speech_interrupted", "AssistantHooksItem": ".assistant_hooks_item", + "AssistantManagedConflictResponseDto": ".assistant_managed_conflict_response_dto", + "AssistantManagedConflictResponseDtoError": ".assistant_managed_conflict_response_dto_error", + "AssistantManagedVapiAgentsDto": ".assistant_managed_vapi_agents_dto", "AssistantMessage": ".assistant_message", "AssistantMessageEvaluationContinuePlan": ".assistant_message_evaluation_continue_plan", "AssistantMessageJudgePlanAi": ".assistant_message_judge_plan_ai", @@ -6344,7 +6355,6 @@ "AssistantOverridesVoicemailDetectionZero": ".assistant_overrides_voicemail_detection_zero", "AssistantPaginatedResponse": ".assistant_paginated_response", "AssistantPinnedConflictResponseDto": ".assistant_pinned_conflict_response_dto", - "AssistantPinnedConflictResponseDtoError": ".assistant_pinned_conflict_response_dto_error", "AssistantServerMessagesItem": ".assistant_server_messages_item", "AssistantSpeechWordAlignmentTiming": ".assistant_speech_word_alignment_timing", "AssistantSpeechWordProgressTiming": ".assistant_speech_word_progress_timing", @@ -8720,6 +8730,7 @@ "MistralCredential": ".mistral_credential", "MistralCredentialProvider": ".mistral_credential_provider", "ModelCost": ".model_cost", + "ModelCostServiceTierBreakdown": ".model_cost_service_tier_breakdown", "ModelDeprecationNotice": ".model_deprecation_notice", "ModelDeprecationNoticeReplacementStatus": ".model_deprecation_notice_replacement_status", "Monitor": ".monitor", @@ -9787,7 +9798,6 @@ "TrafficAllocationLatestResponseDto": ".traffic_allocation_latest_response_dto", "TrafficAllocationPaginatedResponse": ".traffic_allocation_paginated_response", "TrafficAllocationStaleConflictResponseDto": ".traffic_allocation_stale_conflict_response_dto", - "TrafficAllocationStaleConflictResponseDtoError": ".traffic_allocation_stale_conflict_response_dto_error", "TrafficAllocationTarget": ".traffic_allocation_target", "TrafficAllocationVersionConflictResponseDto": ".traffic_allocation_version_conflict_response_dto", "TrafficAllocationVersionConflictResponseDtoError": ".traffic_allocation_version_conflict_response_dto_error", @@ -10575,10 +10585,12 @@ "UpdateWorkflowDtoVoicemailDetectionZero": ".update_workflow_dto_voicemail_detection_zero", "UpdateXAiCredentialDto": ".update_x_ai_credential_dto", "UpdateXAiCredentialDtoProvider": ".update_x_ai_credential_dto_provider", - "User": ".user", "UserMessage": ".user_message", "UserMessageConfidenceSource": ".user_message_confidence_source", "UserMessageMetadata": ".user_message_metadata", + "UserWithRole": ".user_with_role", + "UserWithRoleRole": ".user_with_role_role", + "UserWithRoleRoleZero": ".user_with_role_role_zero", "VapiCost": ".vapi_cost", "VapiCostSubType": ".vapi_cost_sub_type", "VapiModel": ".vapi_model", @@ -10998,6 +11010,7 @@ def __dir__(): "AnthropicBedrockModel", "AnthropicBedrockModelFallbackModelsItem", "AnthropicBedrockModelModel", + "AnthropicBedrockModelReasoningEffort", "AnthropicBedrockModelToolsItem", "AnthropicBedrockModelToolsItem_ApiRequest", "AnthropicBedrockModelToolsItem_Bash", @@ -11026,6 +11039,7 @@ def __dir__(): "AnthropicCredentialProvider", "AnthropicModel", "AnthropicModelModel", + "AnthropicModelReasoningEffort", "AnthropicModelToolsItem", "AnthropicModelToolsItem_ApiRequest", "AnthropicModelToolsItem_Bash", @@ -11290,6 +11304,9 @@ def __dir__(): "AssistantHookCallEnding", "AssistantHookCustomerSpeechInterrupted", "AssistantHooksItem", + "AssistantManagedConflictResponseDto", + "AssistantManagedConflictResponseDtoError", + "AssistantManagedVapiAgentsDto", "AssistantMessage", "AssistantMessageEvaluationContinuePlan", "AssistantMessageJudgePlanAi", @@ -11467,7 +11484,6 @@ def __dir__(): "AssistantOverridesVoicemailDetectionZero", "AssistantPaginatedResponse", "AssistantPinnedConflictResponseDto", - "AssistantPinnedConflictResponseDtoError", "AssistantServerMessagesItem", "AssistantSpeechWordAlignmentTiming", "AssistantSpeechWordProgressTiming", @@ -13843,6 +13859,7 @@ def __dir__(): "MistralCredential", "MistralCredentialProvider", "ModelCost", + "ModelCostServiceTierBreakdown", "ModelDeprecationNotice", "ModelDeprecationNoticeReplacementStatus", "Monitor", @@ -14910,7 +14927,6 @@ def __dir__(): "TrafficAllocationLatestResponseDto", "TrafficAllocationPaginatedResponse", "TrafficAllocationStaleConflictResponseDto", - "TrafficAllocationStaleConflictResponseDtoError", "TrafficAllocationTarget", "TrafficAllocationVersionConflictResponseDto", "TrafficAllocationVersionConflictResponseDtoError", @@ -15698,10 +15714,12 @@ def __dir__(): "UpdateWorkflowDtoVoicemailDetectionZero", "UpdateXAiCredentialDto", "UpdateXAiCredentialDtoProvider", - "User", "UserMessage", "UserMessageConfidenceSource", "UserMessageMetadata", + "UserWithRole", + "UserWithRoleRole", + "UserWithRoleRoleZero", "VapiCost", "VapiCostSubType", "VapiModel", diff --git a/src/vapi/types/anthropic_bedrock_model.py b/src/vapi/types/anthropic_bedrock_model.py index dd280bbf2..e681be4ce 100644 --- a/src/vapi/types/anthropic_bedrock_model.py +++ b/src/vapi/types/anthropic_bedrock_model.py @@ -11,6 +11,7 @@ from ..core.unchecked_base_model import UncheckedBaseModel from .anthropic_bedrock_model_fallback_models_item import AnthropicBedrockModelFallbackModelsItem from .anthropic_bedrock_model_model import AnthropicBedrockModelModel +from .anthropic_bedrock_model_reasoning_effort import AnthropicBedrockModelReasoningEffort from .anthropic_thinking_config import AnthropicThinkingConfig from .create_custom_knowledge_base_dto import CreateCustomKnowledgeBaseDto from .open_ai_message import OpenAiMessage @@ -68,6 +69,14 @@ class AnthropicBedrockModel(UncheckedBaseModel): description="At most one same-provider Bedrock fallback model, tried if the primary fails. Cannot be combined with thinking in this release. Resolution uses the call's Bedrock credential region (or ANTHROPIC_BEDROCK_AWS_REGION). Names with no inference profile in that region are skipped and warned, never remapped to US or global. On Vapi EU, fallback names without an EU inference profile are rejected at write time.", ), ] = None + reasoning_effort: typing_extensions.Annotated[ + typing.Optional[AnthropicBedrockModelReasoningEffort], + FieldMetadata(alias="reasoningEffort"), + pydantic.Field( + alias="reasoningEffort", + description="Reasoning effort for claude-haiku-5-5. `none` turns thinking off. `low` to `max`\nuse adaptive thinking at that effort; higher effort can add latency before the\nmodel speaks. Unset means `none`. Rejected for every other model.", + ), + ] = None thinking: typing.Optional[AnthropicThinkingConfig] = pydantic.Field(default=None) """ Optional configuration for Anthropic's thinking feature. @@ -85,7 +94,7 @@ class AnthropicBedrockModel(UncheckedBaseModel): FieldMetadata(alias="maxTokens"), pydantic.Field( alias="maxTokens", - description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna no cap is applied unless you set one, because reasoning uses output tokens and a small cap can leave the reply empty.", + description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna and claude-haiku-5-5 no cap is applied unless you set one (claude-haiku-5-5 sends its 128,000-token maximum), because reasoning uses output tokens and a small cap can leave the reply empty.", ), ] = None emotion_recognition_enabled: typing_extensions.Annotated[ diff --git a/src/vapi/types/anthropic_bedrock_model_fallback_models_item.py b/src/vapi/types/anthropic_bedrock_model_fallback_models_item.py index 337266ef2..2cf741bf6 100644 --- a/src/vapi/types/anthropic_bedrock_model_fallback_models_item.py +++ b/src/vapi/types/anthropic_bedrock_model_fallback_models_item.py @@ -18,6 +18,7 @@ "claude-sonnet-4-5-20250929", "claude-sonnet-4-6", "claude-haiku-4-5-20251001", + "claude-haiku-5-5", "global.anthropic.claude-haiku-4-5-20251001-v1:0", ], typing.Any, diff --git a/src/vapi/types/anthropic_bedrock_model_model.py b/src/vapi/types/anthropic_bedrock_model_model.py index 5065b3c39..c8629e24a 100644 --- a/src/vapi/types/anthropic_bedrock_model_model.py +++ b/src/vapi/types/anthropic_bedrock_model_model.py @@ -18,6 +18,7 @@ "claude-sonnet-4-5-20250929", "claude-sonnet-4-6", "claude-haiku-4-5-20251001", + "claude-haiku-5-5", "global.anthropic.claude-haiku-4-5-20251001-v1:0", ], typing.Any, diff --git a/src/vapi/types/anthropic_bedrock_model_reasoning_effort.py b/src/vapi/types/anthropic_bedrock_model_reasoning_effort.py new file mode 100644 index 000000000..89b9df7a2 --- /dev/null +++ b/src/vapi/types/anthropic_bedrock_model_reasoning_effort.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +AnthropicBedrockModelReasoningEffort = typing.Union[ + typing.Literal["none", "low", "medium", "high", "xhigh", "max"], typing.Any +] diff --git a/src/vapi/types/anthropic_model.py b/src/vapi/types/anthropic_model.py index f16f10669..3f3f20eef 100644 --- a/src/vapi/types/anthropic_model.py +++ b/src/vapi/types/anthropic_model.py @@ -10,6 +10,7 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel from .anthropic_model_model import AnthropicModelModel +from .anthropic_model_reasoning_effort import AnthropicModelReasoningEffort from .anthropic_thinking_config import AnthropicThinkingConfig from .create_custom_knowledge_base_dto import CreateCustomKnowledgeBaseDto from .open_ai_message import OpenAiMessage @@ -59,6 +60,14 @@ class AnthropicModel(UncheckedBaseModel): The specific Anthropic/Claude model that will be used. """ + reasoning_effort: typing_extensions.Annotated[ + typing.Optional[AnthropicModelReasoningEffort], + FieldMetadata(alias="reasoningEffort"), + pydantic.Field( + alias="reasoningEffort", + description="Reasoning effort for claude-haiku-5-5. `none` turns thinking off. `low` to `max`\nuse adaptive thinking at that effort; higher effort can add latency before the\nmodel speaks. Unset means `none`. Rejected for every other model.", + ), + ] = None thinking: typing.Optional[AnthropicThinkingConfig] = pydantic.Field(default=None) """ Optional configuration for Anthropic's thinking feature. @@ -76,7 +85,7 @@ class AnthropicModel(UncheckedBaseModel): FieldMetadata(alias="maxTokens"), pydantic.Field( alias="maxTokens", - description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna no cap is applied unless you set one, because reasoning uses output tokens and a small cap can leave the reply empty.", + description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna and claude-haiku-5-5 no cap is applied unless you set one (claude-haiku-5-5 sends its 128,000-token maximum), because reasoning uses output tokens and a small cap can leave the reply empty.", ), ] = None emotion_recognition_enabled: typing_extensions.Annotated[ diff --git a/src/vapi/types/anthropic_model_model.py b/src/vapi/types/anthropic_model_model.py index 2321763ce..a66d6d2d2 100644 --- a/src/vapi/types/anthropic_model_model.py +++ b/src/vapi/types/anthropic_model_model.py @@ -19,6 +19,7 @@ "claude-sonnet-4-6", "claude-sonnet-5", "claude-haiku-4-5-20251001", + "claude-haiku-5-5", ], typing.Any, ] diff --git a/src/vapi/types/anthropic_model_reasoning_effort.py b/src/vapi/types/anthropic_model_reasoning_effort.py new file mode 100644 index 000000000..75e07f099 --- /dev/null +++ b/src/vapi/types/anthropic_model_reasoning_effort.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +AnthropicModelReasoningEffort = typing.Union[ + typing.Literal["none", "low", "medium", "high", "xhigh", "max"], typing.Any +] diff --git a/src/vapi/types/anyscale_model.py b/src/vapi/types/anyscale_model.py index 0417e340d..33b1871d5 100644 --- a/src/vapi/types/anyscale_model.py +++ b/src/vapi/types/anyscale_model.py @@ -67,7 +67,7 @@ class AnyscaleModel(UncheckedBaseModel): FieldMetadata(alias="maxTokens"), pydantic.Field( alias="maxTokens", - description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna no cap is applied unless you set one, because reasoning uses output tokens and a small cap can leave the reply empty.", + description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna and claude-haiku-5-5 no cap is applied unless you set one (claude-haiku-5-5 sends its 128,000-token maximum), because reasoning uses output tokens and a small cap can leave the reply empty.", ), ] = None emotion_recognition_enabled: typing_extensions.Annotated[ diff --git a/src/vapi/types/api_request_tool.py b/src/vapi/types/api_request_tool.py index 2b844b69b..8f241f70e 100644 --- a/src/vapi/types/api_request_tool.py +++ b/src/vapi/types/api_request_tool.py @@ -26,6 +26,14 @@ class ApiRequestTool(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="baselineVersion"), + pydantic.Field( + alias="baselineVersion", + description="Display-only baseline label returned by the tool list before a version is stored. Fetch version history to initialize it before using it as a pin.", + ), + ] = None messages: typing.Optional[typing.List[ApiRequestToolMessagesItem]] = pydantic.Field(default=None) """ Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. diff --git a/src/vapi/types/assistant_draft_model.py b/src/vapi/types/assistant_draft_model.py index 292044248..a61ffa4bf 100644 --- a/src/vapi/types/assistant_draft_model.py +++ b/src/vapi/types/assistant_draft_model.py @@ -11,7 +11,9 @@ from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata from .anthropic_bedrock_model_fallback_models_item import AnthropicBedrockModelFallbackModelsItem from .anthropic_bedrock_model_model import AnthropicBedrockModelModel +from .anthropic_bedrock_model_reasoning_effort import AnthropicBedrockModelReasoningEffort from .anthropic_model_model import AnthropicModelModel +from .anthropic_model_reasoning_effort import AnthropicModelReasoningEffort from .anthropic_thinking_config import AnthropicThinkingConfig from .cerebras_model_model import CerebrasModelModel from .create_custom_knowledge_base_dto import CreateCustomKnowledgeBaseDto @@ -56,6 +58,11 @@ class AssistantDraftModel_Anthropic(UncheckedBaseModel): pydantic.Field(alias="knowledgeBase"), ] = None model: AnthropicModelModel + reasoning_effort: typing_extensions.Annotated[ + typing.Optional[AnthropicModelReasoningEffort], + FieldMetadata(alias="reasoningEffort"), + pydantic.Field(alias="reasoningEffort"), + ] = None thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ @@ -105,6 +112,11 @@ class AssistantDraftModel_AnthropicBedrock(UncheckedBaseModel): FieldMetadata(alias="fallbackModels"), pydantic.Field(alias="fallbackModels"), ] = None + reasoning_effort: typing_extensions.Annotated[ + typing.Optional[AnthropicBedrockModelReasoningEffort], + FieldMetadata(alias="reasoningEffort"), + pydantic.Field(alias="reasoningEffort"), + ] = None thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ diff --git a/src/vapi/types/assistant_managed_conflict_response_dto.py b/src/vapi/types/assistant_managed_conflict_response_dto.py new file mode 100644 index 000000000..20179b6a3 --- /dev/null +++ b/src/vapi/types/assistant_managed_conflict_response_dto.py @@ -0,0 +1,36 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .assistant_managed_conflict_response_dto_error import AssistantManagedConflictResponseDtoError +from .assistant_managed_vapi_agents_dto import AssistantManagedVapiAgentsDto + + +class AssistantManagedConflictResponseDto(UncheckedBaseModel): + error: AssistantManagedConflictResponseDtoError = pydantic.Field() + """ + Vapi Agents manages the assistant. The lock refuses writes to the assistant itself (update, replace, delete, restore, version delete, traffic splits) and to outcomes, monitors and structured outputs that link or unlink it. It doesn't cover what changes a call without writing the assistant: call-level assistantOverrides or assistantVersion, squad member pins and overrides, which phone number points at it, edits to the tools or knowledge bases it references, or Vapi's own model-retirement sweep. + """ + + message: str = pydantic.Field() + """ + Why the write was rejected and how to make the change in Vapi Agents instead: the agent link, the Vapi Agents MCP URL with the steps to connect it, and which of its tools to call. + """ + + vapi_agents: typing_extensions.Annotated[ + AssistantManagedVapiAgentsDto, FieldMetadata(alias="vapiAgents"), pydantic.Field(alias="vapiAgents") + ] + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/assistant_managed_conflict_response_dto_error.py b/src/vapi/types/assistant_managed_conflict_response_dto_error.py new file mode 100644 index 000000000..4c4cd0a80 --- /dev/null +++ b/src/vapi/types/assistant_managed_conflict_response_dto_error.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +AssistantManagedConflictResponseDtoError = typing.Union[typing.Literal["assistant_managed_by_vapi_agents"], typing.Any] diff --git a/src/vapi/types/assistant_managed_vapi_agents_dto.py b/src/vapi/types/assistant_managed_vapi_agents_dto.py new file mode 100644 index 000000000..54234a900 --- /dev/null +++ b/src/vapi/types/assistant_managed_vapi_agents_dto.py @@ -0,0 +1,38 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel + + +class AssistantManagedVapiAgentsDto(UncheckedBaseModel): + agent_id: typing_extensions.Annotated[ + str, + FieldMetadata(alias="agentId"), + pydantic.Field(alias="agentId", description="The Vapi Agents agent that manages the assistant."), + ] + agent_url: typing_extensions.Annotated[ + str, + FieldMetadata(alias="agentUrl"), + pydantic.Field(alias="agentUrl", description="The agent's page in Vapi Agents."), + ] + mcp_url: typing_extensions.Annotated[ + str, + FieldMetadata(alias="mcpUrl"), + pydantic.Field( + alias="mcpUrl", description="The Vapi Agents MCP server, where an AI client makes the change instead." + ), + ] + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/assistant_model.py b/src/vapi/types/assistant_model.py index bd789c590..e5aa2a8e3 100644 --- a/src/vapi/types/assistant_model.py +++ b/src/vapi/types/assistant_model.py @@ -11,7 +11,9 @@ from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata from .anthropic_bedrock_model_fallback_models_item import AnthropicBedrockModelFallbackModelsItem from .anthropic_bedrock_model_model import AnthropicBedrockModelModel +from .anthropic_bedrock_model_reasoning_effort import AnthropicBedrockModelReasoningEffort from .anthropic_model_model import AnthropicModelModel +from .anthropic_model_reasoning_effort import AnthropicModelReasoningEffort from .anthropic_thinking_config import AnthropicThinkingConfig from .cerebras_model_model import CerebrasModelModel from .create_custom_knowledge_base_dto import CreateCustomKnowledgeBaseDto @@ -56,6 +58,11 @@ class AssistantModel_Anthropic(UncheckedBaseModel): pydantic.Field(alias="knowledgeBase"), ] = None model: AnthropicModelModel + reasoning_effort: typing_extensions.Annotated[ + typing.Optional[AnthropicModelReasoningEffort], + FieldMetadata(alias="reasoningEffort"), + pydantic.Field(alias="reasoningEffort"), + ] = None thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ @@ -105,6 +112,11 @@ class AssistantModel_AnthropicBedrock(UncheckedBaseModel): FieldMetadata(alias="fallbackModels"), pydantic.Field(alias="fallbackModels"), ] = None + reasoning_effort: typing_extensions.Annotated[ + typing.Optional[AnthropicBedrockModelReasoningEffort], + FieldMetadata(alias="reasoningEffort"), + pydantic.Field(alias="reasoningEffort"), + ] = None thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ diff --git a/src/vapi/types/assistant_overrides_model.py b/src/vapi/types/assistant_overrides_model.py index d5598880e..15bb15ddc 100644 --- a/src/vapi/types/assistant_overrides_model.py +++ b/src/vapi/types/assistant_overrides_model.py @@ -11,7 +11,9 @@ from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata from .anthropic_bedrock_model_fallback_models_item import AnthropicBedrockModelFallbackModelsItem from .anthropic_bedrock_model_model import AnthropicBedrockModelModel +from .anthropic_bedrock_model_reasoning_effort import AnthropicBedrockModelReasoningEffort from .anthropic_model_model import AnthropicModelModel +from .anthropic_model_reasoning_effort import AnthropicModelReasoningEffort from .anthropic_thinking_config import AnthropicThinkingConfig from .cerebras_model_model import CerebrasModelModel from .create_custom_knowledge_base_dto import CreateCustomKnowledgeBaseDto @@ -56,6 +58,11 @@ class AssistantOverridesModel_Anthropic(UncheckedBaseModel): pydantic.Field(alias="knowledgeBase"), ] = None model: AnthropicModelModel + reasoning_effort: typing_extensions.Annotated[ + typing.Optional[AnthropicModelReasoningEffort], + FieldMetadata(alias="reasoningEffort"), + pydantic.Field(alias="reasoningEffort"), + ] = None thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ @@ -105,6 +112,11 @@ class AssistantOverridesModel_AnthropicBedrock(UncheckedBaseModel): FieldMetadata(alias="fallbackModels"), pydantic.Field(alias="fallbackModels"), ] = None + reasoning_effort: typing_extensions.Annotated[ + typing.Optional[AnthropicBedrockModelReasoningEffort], + FieldMetadata(alias="reasoningEffort"), + pydantic.Field(alias="reasoningEffort"), + ] = None thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ diff --git a/src/vapi/types/assistant_pinned_conflict_response_dto.py b/src/vapi/types/assistant_pinned_conflict_response_dto.py index 5585a63fb..e544763e1 100644 --- a/src/vapi/types/assistant_pinned_conflict_response_dto.py +++ b/src/vapi/types/assistant_pinned_conflict_response_dto.py @@ -5,11 +5,9 @@ import pydantic from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.unchecked_base_model import UncheckedBaseModel -from .assistant_pinned_conflict_response_dto_error import AssistantPinnedConflictResponseDtoError class AssistantPinnedConflictResponseDto(UncheckedBaseModel): - error: AssistantPinnedConflictResponseDtoError message: str = pydantic.Field() """ Human-readable reason the parent-assistant delete was rejected. diff --git a/src/vapi/types/assistant_pinned_conflict_response_dto_error.py b/src/vapi/types/assistant_pinned_conflict_response_dto_error.py deleted file mode 100644 index 6737e7bd8..000000000 --- a/src/vapi/types/assistant_pinned_conflict_response_dto_error.py +++ /dev/null @@ -1,5 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -import typing - -AssistantPinnedConflictResponseDtoError = typing.Union[typing.Literal["assistant_pinned"], typing.Any] diff --git a/src/vapi/types/assistant_version_model.py b/src/vapi/types/assistant_version_model.py index 5a5e0f16b..cb809c843 100644 --- a/src/vapi/types/assistant_version_model.py +++ b/src/vapi/types/assistant_version_model.py @@ -11,7 +11,9 @@ from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata from .anthropic_bedrock_model_fallback_models_item import AnthropicBedrockModelFallbackModelsItem from .anthropic_bedrock_model_model import AnthropicBedrockModelModel +from .anthropic_bedrock_model_reasoning_effort import AnthropicBedrockModelReasoningEffort from .anthropic_model_model import AnthropicModelModel +from .anthropic_model_reasoning_effort import AnthropicModelReasoningEffort from .anthropic_thinking_config import AnthropicThinkingConfig from .cerebras_model_model import CerebrasModelModel from .create_custom_knowledge_base_dto import CreateCustomKnowledgeBaseDto @@ -56,6 +58,11 @@ class AssistantVersionModel_Anthropic(UncheckedBaseModel): pydantic.Field(alias="knowledgeBase"), ] = None model: AnthropicModelModel + reasoning_effort: typing_extensions.Annotated[ + typing.Optional[AnthropicModelReasoningEffort], + FieldMetadata(alias="reasoningEffort"), + pydantic.Field(alias="reasoningEffort"), + ] = None thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ @@ -105,6 +112,11 @@ class AssistantVersionModel_AnthropicBedrock(UncheckedBaseModel): FieldMetadata(alias="fallbackModels"), pydantic.Field(alias="fallbackModels"), ] = None + reasoning_effort: typing_extensions.Annotated[ + typing.Optional[AnthropicBedrockModelReasoningEffort], + FieldMetadata(alias="reasoningEffort"), + pydantic.Field(alias="reasoningEffort"), + ] = None thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ diff --git a/src/vapi/types/bash_tool.py b/src/vapi/types/bash_tool.py index 61a55d17e..851cd63c8 100644 --- a/src/vapi/types/bash_tool.py +++ b/src/vapi/types/bash_tool.py @@ -25,6 +25,14 @@ class BashTool(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="baselineVersion"), + pydantic.Field( + alias="baselineVersion", + description="Display-only baseline label returned by the tool list before a version is stored. Fetch version history to initialize it before using it as a pin.", + ), + ] = None messages: typing.Optional[typing.List[BashToolMessagesItem]] = pydantic.Field(default=None) """ Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. diff --git a/src/vapi/types/call_costs_item.py b/src/vapi/types/call_costs_item.py index fd61d0606..11b86392e 100644 --- a/src/vapi/types/call_costs_item.py +++ b/src/vapi/types/call_costs_item.py @@ -10,6 +10,7 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata from .analysis_cost_analysis_type import AnalysisCostAnalysisType +from .model_cost_service_tier_breakdown import ModelCostServiceTierBreakdown from .structured_output_cost_breakdown import StructuredOutputCostBreakdown from .transport_cost_provider import TransportCostProvider from .vapi_cost_sub_type import VapiCostSubType @@ -67,6 +68,11 @@ class CallCostsItem_Model(UncheckedBaseModel): reasoning_tokens: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="reasoningTokens"), pydantic.Field(alias="reasoningTokens") ] = None + service_tier_breakdown: typing_extensions.Annotated[ + typing.Optional[typing.List[ModelCostServiceTierBreakdown]], + FieldMetadata(alias="serviceTierBreakdown"), + pydantic.Field(alias="serviceTierBreakdown"), + ] = None cost: float if IS_PYDANTIC_V2: diff --git a/src/vapi/types/cartesia_voice_language.py b/src/vapi/types/cartesia_voice_language.py index a72c35b40..3d83ab4bc 100644 --- a/src/vapi/types/cartesia_voice_language.py +++ b/src/vapi/types/cartesia_voice_language.py @@ -31,6 +31,7 @@ "ms", "nl", "no", + "or", "pa", "pl", "pt", @@ -44,6 +45,7 @@ "tl", "tr", "uk", + "ur", "vi", "zh", ], diff --git a/src/vapi/types/cartesia_voice_model.py b/src/vapi/types/cartesia_voice_model.py index cffdb756b..f21bf2c9c 100644 --- a/src/vapi/types/cartesia_voice_model.py +++ b/src/vapi/types/cartesia_voice_model.py @@ -6,6 +6,8 @@ typing.Literal[ "sonic-3.5", "sonic-3.5-2026-05-04", + "sonic-3.6", + "sonic-3.6-2026-08-27", "sonic-3", "sonic-3-2026-01-12", "sonic-3-2025-10-27", diff --git a/src/vapi/types/cerebras_model.py b/src/vapi/types/cerebras_model.py index 4b5503adc..38680b69b 100644 --- a/src/vapi/types/cerebras_model.py +++ b/src/vapi/types/cerebras_model.py @@ -68,7 +68,7 @@ class CerebrasModel(UncheckedBaseModel): FieldMetadata(alias="maxTokens"), pydantic.Field( alias="maxTokens", - description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna no cap is applied unless you set one, because reasoning uses output tokens and a small cap can leave the reply empty.", + description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna and claude-haiku-5-5 no cap is applied unless you set one (claude-haiku-5-5 sends its 128,000-token maximum), because reasoning uses output tokens and a small cap can leave the reply empty.", ), ] = None emotion_recognition_enabled: typing_extensions.Annotated[ diff --git a/src/vapi/types/chat_costs_item.py b/src/vapi/types/chat_costs_item.py index 7eda774a2..f0dad030b 100644 --- a/src/vapi/types/chat_costs_item.py +++ b/src/vapi/types/chat_costs_item.py @@ -9,6 +9,7 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata +from .model_cost_service_tier_breakdown import ModelCostServiceTierBreakdown class ChatCostsItem_Model(UncheckedBaseModel): @@ -30,6 +31,11 @@ class ChatCostsItem_Model(UncheckedBaseModel): reasoning_tokens: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="reasoningTokens"), pydantic.Field(alias="reasoningTokens") ] = None + service_tier_breakdown: typing_extensions.Annotated[ + typing.Optional[typing.List[ModelCostServiceTierBreakdown]], + FieldMetadata(alias="serviceTierBreakdown"), + pydantic.Field(alias="serviceTierBreakdown"), + ] = None cost: float if IS_PYDANTIC_V2: diff --git a/src/vapi/types/code_tool.py b/src/vapi/types/code_tool.py index f741d8335..96d037045 100644 --- a/src/vapi/types/code_tool.py +++ b/src/vapi/types/code_tool.py @@ -26,6 +26,14 @@ class CodeTool(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="baselineVersion"), + pydantic.Field( + alias="baselineVersion", + description="Display-only baseline label returned by the tool list before a version is stored. Fetch version history to initialize it before using it as a pin.", + ), + ] = None messages: typing.Optional[typing.List[CodeToolMessagesItem]] = pydantic.Field(default=None) """ Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. diff --git a/src/vapi/types/computer_tool.py b/src/vapi/types/computer_tool.py index b5ce1b585..92487cae0 100644 --- a/src/vapi/types/computer_tool.py +++ b/src/vapi/types/computer_tool.py @@ -25,6 +25,14 @@ class ComputerTool(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="baselineVersion"), + pydantic.Field( + alias="baselineVersion", + description="Display-only baseline label returned by the tool list before a version is stored. Fetch version history to initialize it before using it as a pin.", + ), + ] = None messages: typing.Optional[typing.List[ComputerToolMessagesItem]] = pydantic.Field(default=None) """ Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. diff --git a/src/vapi/types/create_assistant_draft_dto_model.py b/src/vapi/types/create_assistant_draft_dto_model.py index 5d68d388d..430a1ae7c 100644 --- a/src/vapi/types/create_assistant_draft_dto_model.py +++ b/src/vapi/types/create_assistant_draft_dto_model.py @@ -11,7 +11,9 @@ from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata from .anthropic_bedrock_model_fallback_models_item import AnthropicBedrockModelFallbackModelsItem from .anthropic_bedrock_model_model import AnthropicBedrockModelModel +from .anthropic_bedrock_model_reasoning_effort import AnthropicBedrockModelReasoningEffort from .anthropic_model_model import AnthropicModelModel +from .anthropic_model_reasoning_effort import AnthropicModelReasoningEffort from .anthropic_thinking_config import AnthropicThinkingConfig from .cerebras_model_model import CerebrasModelModel from .create_custom_knowledge_base_dto import CreateCustomKnowledgeBaseDto @@ -56,6 +58,11 @@ class CreateAssistantDraftDtoModel_Anthropic(UncheckedBaseModel): pydantic.Field(alias="knowledgeBase"), ] = None model: AnthropicModelModel + reasoning_effort: typing_extensions.Annotated[ + typing.Optional[AnthropicModelReasoningEffort], + FieldMetadata(alias="reasoningEffort"), + pydantic.Field(alias="reasoningEffort"), + ] = None thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ @@ -105,6 +112,11 @@ class CreateAssistantDraftDtoModel_AnthropicBedrock(UncheckedBaseModel): FieldMetadata(alias="fallbackModels"), pydantic.Field(alias="fallbackModels"), ] = None + reasoning_effort: typing_extensions.Annotated[ + typing.Optional[AnthropicBedrockModelReasoningEffort], + FieldMetadata(alias="reasoningEffort"), + pydantic.Field(alias="reasoningEffort"), + ] = None thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ diff --git a/src/vapi/types/create_assistant_dto_model.py b/src/vapi/types/create_assistant_dto_model.py index 5ccc302b4..ac16c1679 100644 --- a/src/vapi/types/create_assistant_dto_model.py +++ b/src/vapi/types/create_assistant_dto_model.py @@ -11,7 +11,9 @@ from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata from .anthropic_bedrock_model_fallback_models_item import AnthropicBedrockModelFallbackModelsItem from .anthropic_bedrock_model_model import AnthropicBedrockModelModel +from .anthropic_bedrock_model_reasoning_effort import AnthropicBedrockModelReasoningEffort from .anthropic_model_model import AnthropicModelModel +from .anthropic_model_reasoning_effort import AnthropicModelReasoningEffort from .anthropic_thinking_config import AnthropicThinkingConfig from .cerebras_model_model import CerebrasModelModel from .create_custom_knowledge_base_dto import CreateCustomKnowledgeBaseDto @@ -56,6 +58,11 @@ class CreateAssistantDtoModel_Anthropic(UncheckedBaseModel): pydantic.Field(alias="knowledgeBase"), ] = None model: AnthropicModelModel + reasoning_effort: typing_extensions.Annotated[ + typing.Optional[AnthropicModelReasoningEffort], + FieldMetadata(alias="reasoningEffort"), + pydantic.Field(alias="reasoningEffort"), + ] = None thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ @@ -105,6 +112,11 @@ class CreateAssistantDtoModel_AnthropicBedrock(UncheckedBaseModel): FieldMetadata(alias="fallbackModels"), pydantic.Field(alias="fallbackModels"), ] = None + reasoning_effort: typing_extensions.Annotated[ + typing.Optional[AnthropicBedrockModelReasoningEffort], + FieldMetadata(alias="reasoningEffort"), + pydantic.Field(alias="reasoningEffort"), + ] = None thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ diff --git a/src/vapi/types/create_simulation_run_response.py b/src/vapi/types/create_simulation_run_response.py index db4808056..fc74e6efc 100644 --- a/src/vapi/types/create_simulation_run_response.py +++ b/src/vapi/types/create_simulation_run_response.py @@ -103,6 +103,11 @@ class CreateSimulationRunResponse(UncheckedBaseModel): Dashboard URL for viewing the simulation run. When acting on behalf of a user, present this URL to them. """ + reused: typing.Optional[bool] = pydantic.Field(default=None) + """ + True when the request carried an `Idempotency-Key` that an earlier request already used with the same body: this is the run that request created, and no new run was started. False or absent when this request created the run. + """ + if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 else: diff --git a/src/vapi/types/create_structured_output_dto.py b/src/vapi/types/create_structured_output_dto.py index 8afd53ff1..e95a9401d 100644 --- a/src/vapi/types/create_structured_output_dto.py +++ b/src/vapi/types/create_structured_output_dto.py @@ -58,7 +58,8 @@ class CreateStructuredOutputDto(UncheckedBaseModel): This is the model that will be used to extract the structured output. To provide your own custom system and user prompts for structured output extraction, populate the messages array with your system and user messages. You can specify liquid templating in your system and user messages. - Between the system or user messages, you must reference either 'transcript' or 'messages' with the `{{}}` syntax to access the conversation history. + For text extraction, you must reference 'transcript', 'messages', or 'messagesWithConfidence' with the `{{}}` syntax to access the conversation history. + In structured outputs, `{{messages}}` includes conversation text and tool calls/results but omits caller transcription-confidence fields. Text extraction can use `{{messagesWithConfidence}}` when the output needs the original message history with transcription confidence. These variables also apply in structured-output schema descriptions. Audio-targeted (`messages-with-audio`) extraction ignores custom messages. Stored call artifacts and API messages retain their confidence data. Between the system or user messages, you must reference a variation of the structured output with the `{{}}` syntax to access the structured output definition. i.e.: `{{structuredOutput}}` diff --git a/src/vapi/types/create_structured_output_dto_model.py b/src/vapi/types/create_structured_output_dto_model.py index 21b65ae65..a9f330deb 100644 --- a/src/vapi/types/create_structured_output_dto_model.py +++ b/src/vapi/types/create_structured_output_dto_model.py @@ -23,7 +23,8 @@ class CreateStructuredOutputDtoModel_Openai(UncheckedBaseModel): This is the model that will be used to extract the structured output. To provide your own custom system and user prompts for structured output extraction, populate the messages array with your system and user messages. You can specify liquid templating in your system and user messages. - Between the system or user messages, you must reference either 'transcript' or 'messages' with the `{{}}` syntax to access the conversation history. + For text extraction, you must reference 'transcript', 'messages', or 'messagesWithConfidence' with the `{{}}` syntax to access the conversation history. + In structured outputs, `{{messages}}` includes conversation text and tool calls/results but omits caller transcription-confidence fields. Text extraction can use `{{messagesWithConfidence}}` when the output needs the original message history with transcription confidence. These variables also apply in structured-output schema descriptions. Audio-targeted (`messages-with-audio`) extraction ignores custom messages. Stored call artifacts and API messages retain their confidence data. Between the system or user messages, you must reference a variation of the structured output with the `{{}}` syntax to access the structured output definition. i.e.: `{{structuredOutput}}` @@ -58,7 +59,8 @@ class CreateStructuredOutputDtoModel_Anthropic(UncheckedBaseModel): This is the model that will be used to extract the structured output. To provide your own custom system and user prompts for structured output extraction, populate the messages array with your system and user messages. You can specify liquid templating in your system and user messages. - Between the system or user messages, you must reference either 'transcript' or 'messages' with the `{{}}` syntax to access the conversation history. + For text extraction, you must reference 'transcript', 'messages', or 'messagesWithConfidence' with the `{{}}` syntax to access the conversation history. + In structured outputs, `{{messages}}` includes conversation text and tool calls/results but omits caller transcription-confidence fields. Text extraction can use `{{messagesWithConfidence}}` when the output needs the original message history with transcription confidence. These variables also apply in structured-output schema descriptions. Audio-targeted (`messages-with-audio`) extraction ignores custom messages. Stored call artifacts and API messages retain their confidence data. Between the system or user messages, you must reference a variation of the structured output with the `{{}}` syntax to access the structured output definition. i.e.: `{{structuredOutput}}` @@ -94,7 +96,8 @@ class CreateStructuredOutputDtoModel_AnthropicBedrock(UncheckedBaseModel): This is the model that will be used to extract the structured output. To provide your own custom system and user prompts for structured output extraction, populate the messages array with your system and user messages. You can specify liquid templating in your system and user messages. - Between the system or user messages, you must reference either 'transcript' or 'messages' with the `{{}}` syntax to access the conversation history. + For text extraction, you must reference 'transcript', 'messages', or 'messagesWithConfidence' with the `{{}}` syntax to access the conversation history. + In structured outputs, `{{messages}}` includes conversation text and tool calls/results but omits caller transcription-confidence fields. Text extraction can use `{{messagesWithConfidence}}` when the output needs the original message history with transcription confidence. These variables also apply in structured-output schema descriptions. Audio-targeted (`messages-with-audio`) extraction ignores custom messages. Stored call artifacts and API messages retain their confidence data. Between the system or user messages, you must reference a variation of the structured output with the `{{}}` syntax to access the structured output definition. i.e.: `{{structuredOutput}}` @@ -130,7 +133,8 @@ class CreateStructuredOutputDtoModel_Google(UncheckedBaseModel): This is the model that will be used to extract the structured output. To provide your own custom system and user prompts for structured output extraction, populate the messages array with your system and user messages. You can specify liquid templating in your system and user messages. - Between the system or user messages, you must reference either 'transcript' or 'messages' with the `{{}}` syntax to access the conversation history. + For text extraction, you must reference 'transcript', 'messages', or 'messagesWithConfidence' with the `{{}}` syntax to access the conversation history. + In structured outputs, `{{messages}}` includes conversation text and tool calls/results but omits caller transcription-confidence fields. Text extraction can use `{{messagesWithConfidence}}` when the output needs the original message history with transcription confidence. These variables also apply in structured-output schema descriptions. Audio-targeted (`messages-with-audio`) extraction ignores custom messages. Stored call artifacts and API messages retain their confidence data. Between the system or user messages, you must reference a variation of the structured output with the `{{}}` syntax to access the structured output definition. i.e.: `{{structuredOutput}}` @@ -165,7 +169,8 @@ class CreateStructuredOutputDtoModel_CustomLlm(UncheckedBaseModel): This is the model that will be used to extract the structured output. To provide your own custom system and user prompts for structured output extraction, populate the messages array with your system and user messages. You can specify liquid templating in your system and user messages. - Between the system or user messages, you must reference either 'transcript' or 'messages' with the `{{}}` syntax to access the conversation history. + For text extraction, you must reference 'transcript', 'messages', or 'messagesWithConfidence' with the `{{}}` syntax to access the conversation history. + In structured outputs, `{{messages}}` includes conversation text and tool calls/results but omits caller transcription-confidence fields. Text extraction can use `{{messagesWithConfidence}}` when the output needs the original message history with transcription confidence. These variables also apply in structured-output schema descriptions. Audio-targeted (`messages-with-audio`) extraction ignores custom messages. Stored call artifacts and API messages retain their confidence data. Between the system or user messages, you must reference a variation of the structured output with the `{{}}` syntax to access the structured output definition. i.e.: `{{structuredOutput}}` diff --git a/src/vapi/types/custom_llm_model.py b/src/vapi/types/custom_llm_model.py index 9671919ed..1535ca1dd 100644 --- a/src/vapi/types/custom_llm_model.py +++ b/src/vapi/types/custom_llm_model.py @@ -102,7 +102,7 @@ class CustomLlmModel(UncheckedBaseModel): FieldMetadata(alias="maxTokens"), pydantic.Field( alias="maxTokens", - description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna no cap is applied unless you set one, because reasoning uses output tokens and a small cap can leave the reply empty.", + description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna and claude-haiku-5-5 no cap is applied unless you set one (claude-haiku-5-5 sends its 128,000-token maximum), because reasoning uses output tokens and a small cap can leave the reply empty.", ), ] = None emotion_recognition_enabled: typing_extensions.Annotated[ diff --git a/src/vapi/types/deep_infra_model.py b/src/vapi/types/deep_infra_model.py index 2bd1ac1bc..4b8191dc4 100644 --- a/src/vapi/types/deep_infra_model.py +++ b/src/vapi/types/deep_infra_model.py @@ -67,7 +67,7 @@ class DeepInfraModel(UncheckedBaseModel): FieldMetadata(alias="maxTokens"), pydantic.Field( alias="maxTokens", - description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna no cap is applied unless you set one, because reasoning uses output tokens and a small cap can leave the reply empty.", + description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna and claude-haiku-5-5 no cap is applied unless you set one (claude-haiku-5-5 sends its 128,000-token maximum), because reasoning uses output tokens and a small cap can leave the reply empty.", ), ] = None emotion_recognition_enabled: typing_extensions.Annotated[ diff --git a/src/vapi/types/deep_seek_model.py b/src/vapi/types/deep_seek_model.py index e968fecff..7015cbe6d 100644 --- a/src/vapi/types/deep_seek_model.py +++ b/src/vapi/types/deep_seek_model.py @@ -68,7 +68,7 @@ class DeepSeekModel(UncheckedBaseModel): FieldMetadata(alias="maxTokens"), pydantic.Field( alias="maxTokens", - description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna no cap is applied unless you set one, because reasoning uses output tokens and a small cap can leave the reply empty.", + description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna and claude-haiku-5-5 no cap is applied unless you set one (claude-haiku-5-5 sends its 128,000-token maximum), because reasoning uses output tokens and a small cap can leave the reply empty.", ), ] = None emotion_recognition_enabled: typing_extensions.Annotated[ diff --git a/src/vapi/types/dtmf_tool.py b/src/vapi/types/dtmf_tool.py index 843748f82..00d96bcda 100644 --- a/src/vapi/types/dtmf_tool.py +++ b/src/vapi/types/dtmf_tool.py @@ -22,6 +22,14 @@ class DtmfTool(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="baselineVersion"), + pydantic.Field( + alias="baselineVersion", + description="Display-only baseline label returned by the tool list before a version is stored. Fetch version history to initialize it before using it as a pin.", + ), + ] = None messages: typing.Optional[typing.List[DtmfToolMessagesItem]] = pydantic.Field(default=None) """ Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. diff --git a/src/vapi/types/end_call_tool.py b/src/vapi/types/end_call_tool.py index 2a710faff..67a6ea2dc 100644 --- a/src/vapi/types/end_call_tool.py +++ b/src/vapi/types/end_call_tool.py @@ -22,6 +22,14 @@ class EndCallTool(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="baselineVersion"), + pydantic.Field( + alias="baselineVersion", + description="Display-only baseline label returned by the tool list before a version is stored. Fetch version history to initialize it before using it as a pin.", + ), + ] = None messages: typing.Optional[typing.List[EndCallToolMessagesItem]] = pydantic.Field(default=None) """ Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. diff --git a/src/vapi/types/eval_anthropic_model_model.py b/src/vapi/types/eval_anthropic_model_model.py index 41efcce3e..2ceaec110 100644 --- a/src/vapi/types/eval_anthropic_model_model.py +++ b/src/vapi/types/eval_anthropic_model_model.py @@ -19,6 +19,7 @@ "claude-sonnet-4-6", "claude-sonnet-5", "claude-haiku-4-5-20251001", + "claude-haiku-5-5", ], typing.Any, ] diff --git a/src/vapi/types/eval_google_model_model.py b/src/vapi/types/eval_google_model_model.py index ebda27f22..841cf63ad 100644 --- a/src/vapi/types/eval_google_model_model.py +++ b/src/vapi/types/eval_google_model_model.py @@ -4,6 +4,7 @@ EvalGoogleModelModel = typing.Union[ typing.Literal[ + "gemini-3.8-flash", "gemini-3.5-flash", "gemini-3.1-flash-lite", "gemini-3-flash-preview", diff --git a/src/vapi/types/fallback_cartesia_voice_language.py b/src/vapi/types/fallback_cartesia_voice_language.py index 4b3df8c7d..4e24d872d 100644 --- a/src/vapi/types/fallback_cartesia_voice_language.py +++ b/src/vapi/types/fallback_cartesia_voice_language.py @@ -31,6 +31,7 @@ "ms", "nl", "no", + "or", "pa", "pl", "pt", @@ -44,6 +45,7 @@ "tl", "tr", "uk", + "ur", "vi", "zh", ], diff --git a/src/vapi/types/fallback_cartesia_voice_model.py b/src/vapi/types/fallback_cartesia_voice_model.py index d577a73d5..ac0cdab88 100644 --- a/src/vapi/types/fallback_cartesia_voice_model.py +++ b/src/vapi/types/fallback_cartesia_voice_model.py @@ -6,6 +6,8 @@ typing.Literal[ "sonic-3.5", "sonic-3.5-2026-05-04", + "sonic-3.6", + "sonic-3.6-2026-08-27", "sonic-3", "sonic-3-2026-01-12", "sonic-3-2025-10-27", diff --git a/src/vapi/types/fallback_google_transcriber_model.py b/src/vapi/types/fallback_google_transcriber_model.py index 17632e971..1e868c254 100644 --- a/src/vapi/types/fallback_google_transcriber_model.py +++ b/src/vapi/types/fallback_google_transcriber_model.py @@ -4,6 +4,7 @@ FallbackGoogleTranscriberModel = typing.Union[ typing.Literal[ + "gemini-3.8-flash", "gemini-3.5-flash", "gemini-3.1-flash-lite", "gemini-3-flash-preview", diff --git a/src/vapi/types/function_tool.py b/src/vapi/types/function_tool.py index f48da7824..0f85a7d26 100644 --- a/src/vapi/types/function_tool.py +++ b/src/vapi/types/function_tool.py @@ -26,6 +26,14 @@ class FunctionTool(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="baselineVersion"), + pydantic.Field( + alias="baselineVersion", + description="Display-only baseline label returned by the tool list before a version is stored. Fetch version history to initialize it before using it as a pin.", + ), + ] = None messages: typing.Optional[typing.List[FunctionToolMessagesItem]] = pydantic.Field(default=None) """ Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. diff --git a/src/vapi/types/ghl_tool.py b/src/vapi/types/ghl_tool.py index 938a49430..4bffa0630 100644 --- a/src/vapi/types/ghl_tool.py +++ b/src/vapi/types/ghl_tool.py @@ -19,6 +19,14 @@ class GhlTool(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="baselineVersion"), + pydantic.Field( + alias="baselineVersion", + description="Display-only baseline label returned by the tool list before a version is stored. Fetch version history to initialize it before using it as a pin.", + ), + ] = None messages: typing.Optional[typing.List[GhlToolMessagesItem]] = pydantic.Field(default=None) """ Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. diff --git a/src/vapi/types/go_high_level_calendar_availability_tool.py b/src/vapi/types/go_high_level_calendar_availability_tool.py index 0cb91e9ee..086a99b39 100644 --- a/src/vapi/types/go_high_level_calendar_availability_tool.py +++ b/src/vapi/types/go_high_level_calendar_availability_tool.py @@ -22,6 +22,14 @@ class GoHighLevelCalendarAvailabilityTool(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="baselineVersion"), + pydantic.Field( + alias="baselineVersion", + description="Display-only baseline label returned by the tool list before a version is stored. Fetch version history to initialize it before using it as a pin.", + ), + ] = None messages: typing.Optional[typing.List[GoHighLevelCalendarAvailabilityToolMessagesItem]] = pydantic.Field( default=None ) diff --git a/src/vapi/types/go_high_level_calendar_event_create_tool.py b/src/vapi/types/go_high_level_calendar_event_create_tool.py index 72e96957e..e1d26f0c2 100644 --- a/src/vapi/types/go_high_level_calendar_event_create_tool.py +++ b/src/vapi/types/go_high_level_calendar_event_create_tool.py @@ -22,6 +22,14 @@ class GoHighLevelCalendarEventCreateTool(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="baselineVersion"), + pydantic.Field( + alias="baselineVersion", + description="Display-only baseline label returned by the tool list before a version is stored. Fetch version history to initialize it before using it as a pin.", + ), + ] = None messages: typing.Optional[typing.List[GoHighLevelCalendarEventCreateToolMessagesItem]] = pydantic.Field( default=None ) diff --git a/src/vapi/types/go_high_level_contact_create_tool.py b/src/vapi/types/go_high_level_contact_create_tool.py index 2c823419a..69c37736f 100644 --- a/src/vapi/types/go_high_level_contact_create_tool.py +++ b/src/vapi/types/go_high_level_contact_create_tool.py @@ -22,6 +22,14 @@ class GoHighLevelContactCreateTool(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="baselineVersion"), + pydantic.Field( + alias="baselineVersion", + description="Display-only baseline label returned by the tool list before a version is stored. Fetch version history to initialize it before using it as a pin.", + ), + ] = None messages: typing.Optional[typing.List[GoHighLevelContactCreateToolMessagesItem]] = pydantic.Field(default=None) """ Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. diff --git a/src/vapi/types/go_high_level_contact_get_tool.py b/src/vapi/types/go_high_level_contact_get_tool.py index 6246813e8..8f64b046d 100644 --- a/src/vapi/types/go_high_level_contact_get_tool.py +++ b/src/vapi/types/go_high_level_contact_get_tool.py @@ -22,6 +22,14 @@ class GoHighLevelContactGetTool(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="baselineVersion"), + pydantic.Field( + alias="baselineVersion", + description="Display-only baseline label returned by the tool list before a version is stored. Fetch version history to initialize it before using it as a pin.", + ), + ] = None messages: typing.Optional[typing.List[GoHighLevelContactGetToolMessagesItem]] = pydantic.Field(default=None) """ Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. diff --git a/src/vapi/types/google_calendar_check_availability_tool.py b/src/vapi/types/google_calendar_check_availability_tool.py index 3d53653dc..ce009273b 100644 --- a/src/vapi/types/google_calendar_check_availability_tool.py +++ b/src/vapi/types/google_calendar_check_availability_tool.py @@ -22,6 +22,14 @@ class GoogleCalendarCheckAvailabilityTool(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="baselineVersion"), + pydantic.Field( + alias="baselineVersion", + description="Display-only baseline label returned by the tool list before a version is stored. Fetch version history to initialize it before using it as a pin.", + ), + ] = None messages: typing.Optional[typing.List[GoogleCalendarCheckAvailabilityToolMessagesItem]] = pydantic.Field( default=None ) diff --git a/src/vapi/types/google_calendar_create_event_tool.py b/src/vapi/types/google_calendar_create_event_tool.py index 827d15c50..1ecb8b4d6 100644 --- a/src/vapi/types/google_calendar_create_event_tool.py +++ b/src/vapi/types/google_calendar_create_event_tool.py @@ -22,6 +22,14 @@ class GoogleCalendarCreateEventTool(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="baselineVersion"), + pydantic.Field( + alias="baselineVersion", + description="Display-only baseline label returned by the tool list before a version is stored. Fetch version history to initialize it before using it as a pin.", + ), + ] = None messages: typing.Optional[typing.List[GoogleCalendarCreateEventToolMessagesItem]] = pydantic.Field(default=None) """ Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. diff --git a/src/vapi/types/google_model.py b/src/vapi/types/google_model.py index 2e2071b9e..5c7c3f99b 100644 --- a/src/vapi/types/google_model.py +++ b/src/vapi/types/google_model.py @@ -77,7 +77,7 @@ class GoogleModel(UncheckedBaseModel): FieldMetadata(alias="maxTokens"), pydantic.Field( alias="maxTokens", - description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna no cap is applied unless you set one, because reasoning uses output tokens and a small cap can leave the reply empty.", + description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna and claude-haiku-5-5 no cap is applied unless you set one (claude-haiku-5-5 sends its 128,000-token maximum), because reasoning uses output tokens and a small cap can leave the reply empty.", ), ] = None emotion_recognition_enabled: typing_extensions.Annotated[ diff --git a/src/vapi/types/google_model_model.py b/src/vapi/types/google_model_model.py index ca510fea9..718f53965 100644 --- a/src/vapi/types/google_model_model.py +++ b/src/vapi/types/google_model_model.py @@ -4,6 +4,7 @@ GoogleModelModel = typing.Union[ typing.Literal[ + "gemini-3.8-flash", "gemini-3.5-flash", "gemini-3.1-flash-lite", "gemini-3-flash-preview", diff --git a/src/vapi/types/google_sheets_row_append_tool.py b/src/vapi/types/google_sheets_row_append_tool.py index 216b68e4e..03533bf23 100644 --- a/src/vapi/types/google_sheets_row_append_tool.py +++ b/src/vapi/types/google_sheets_row_append_tool.py @@ -22,6 +22,14 @@ class GoogleSheetsRowAppendTool(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="baselineVersion"), + pydantic.Field( + alias="baselineVersion", + description="Display-only baseline label returned by the tool list before a version is stored. Fetch version history to initialize it before using it as a pin.", + ), + ] = None messages: typing.Optional[typing.List[GoogleSheetsRowAppendToolMessagesItem]] = pydantic.Field(default=None) """ Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. diff --git a/src/vapi/types/google_transcriber_model.py b/src/vapi/types/google_transcriber_model.py index d406d174f..64b35f739 100644 --- a/src/vapi/types/google_transcriber_model.py +++ b/src/vapi/types/google_transcriber_model.py @@ -4,6 +4,7 @@ GoogleTranscriberModel = typing.Union[ typing.Literal[ + "gemini-3.8-flash", "gemini-3.5-flash", "gemini-3.1-flash-lite", "gemini-3-flash-preview", diff --git a/src/vapi/types/groq_model.py b/src/vapi/types/groq_model.py index cae41f3c3..4f3f21556 100644 --- a/src/vapi/types/groq_model.py +++ b/src/vapi/types/groq_model.py @@ -68,7 +68,7 @@ class GroqModel(UncheckedBaseModel): FieldMetadata(alias="maxTokens"), pydantic.Field( alias="maxTokens", - description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna no cap is applied unless you set one, because reasoning uses output tokens and a small cap can leave the reply empty.", + description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna and claude-haiku-5-5 no cap is applied unless you set one (claude-haiku-5-5 sends its 128,000-token maximum), because reasoning uses output tokens and a small cap can leave the reply empty.", ), ] = None emotion_recognition_enabled: typing_extensions.Annotated[ diff --git a/src/vapi/types/handoff_tool.py b/src/vapi/types/handoff_tool.py index 57a7582d8..ddb34ea20 100644 --- a/src/vapi/types/handoff_tool.py +++ b/src/vapi/types/handoff_tool.py @@ -24,6 +24,14 @@ class HandoffTool(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="baselineVersion"), + pydantic.Field( + alias="baselineVersion", + description="Display-only baseline label returned by the tool list before a version is stored. Fetch version history to initialize it before using it as a pin.", + ), + ] = None messages: typing.Optional[typing.List[HandoffToolMessagesItem]] = pydantic.Field(default=None) """ Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. diff --git a/src/vapi/types/inflection_ai_model.py b/src/vapi/types/inflection_ai_model.py index e13a790ed..e359ee8e7 100644 --- a/src/vapi/types/inflection_ai_model.py +++ b/src/vapi/types/inflection_ai_model.py @@ -68,7 +68,7 @@ class InflectionAiModel(UncheckedBaseModel): FieldMetadata(alias="maxTokens"), pydantic.Field( alias="maxTokens", - description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna no cap is applied unless you set one, because reasoning uses output tokens and a small cap can leave the reply empty.", + description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna and claude-haiku-5-5 no cap is applied unless you set one (claude-haiku-5-5 sends its 128,000-token maximum), because reasoning uses output tokens and a small cap can leave the reply empty.", ), ] = None emotion_recognition_enabled: typing_extensions.Annotated[ diff --git a/src/vapi/types/json_query_on_events_table_on.py b/src/vapi/types/json_query_on_events_table_on.py index 27a73e1d1..4ce492efb 100644 --- a/src/vapi/types/json_query_on_events_table_on.py +++ b/src/vapi/types/json_query_on_events_table_on.py @@ -35,6 +35,8 @@ "call.hookTriggered", "call.hookSucceeded", "call.hookFailed", + "serverMessage.requestSucceeded", + "serverMessage.requestFailed", "call.statusReceived", "call.silenceTimeout", "call.microphoneTimeout", @@ -104,6 +106,7 @@ "pipeline.endpointingTriggered", "pipeline.firstMessageStarted", "pipeline.firstMessageCompleted", + "pipeline.denoiserFailed", ], typing.Any, ] diff --git a/src/vapi/types/knowledge_base_model.py b/src/vapi/types/knowledge_base_model.py index ab42fc6ea..cb333b5a3 100644 --- a/src/vapi/types/knowledge_base_model.py +++ b/src/vapi/types/knowledge_base_model.py @@ -4,6 +4,7 @@ KnowledgeBaseModel = typing.Union[ typing.Literal[ + "gemini-3.8-flash", "gemini-3.5-flash", "gemini-3.1-flash-lite", "gemini-3-flash-preview", diff --git a/src/vapi/types/knowledge_base_tool.py b/src/vapi/types/knowledge_base_tool.py index 5a7c32754..130e9fa1b 100644 --- a/src/vapi/types/knowledge_base_tool.py +++ b/src/vapi/types/knowledge_base_tool.py @@ -19,6 +19,14 @@ class KnowledgeBaseTool(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="baselineVersion"), + pydantic.Field( + alias="baselineVersion", + description="Display-only baseline label returned by the tool list before a version is stored. Fetch version history to initialize it before using it as a pin.", + ), + ] = None messages: typing.Optional[typing.List[KnowledgeBaseToolMessagesItem]] = pydantic.Field(default=None) """ Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. diff --git a/src/vapi/types/make_tool.py b/src/vapi/types/make_tool.py index ff4753bad..7134f9dbc 100644 --- a/src/vapi/types/make_tool.py +++ b/src/vapi/types/make_tool.py @@ -20,6 +20,14 @@ class MakeTool(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="baselineVersion"), + pydantic.Field( + alias="baselineVersion", + description="Display-only baseline label returned by the tool list before a version is stored. Fetch version history to initialize it before using it as a pin.", + ), + ] = None messages: typing.Optional[typing.List[MakeToolMessagesItem]] = pydantic.Field(default=None) """ Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. diff --git a/src/vapi/types/mcp_tool.py b/src/vapi/types/mcp_tool.py index 0e76da18b..0e17ebb2f 100644 --- a/src/vapi/types/mcp_tool.py +++ b/src/vapi/types/mcp_tool.py @@ -25,6 +25,14 @@ class McpTool(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="baselineVersion"), + pydantic.Field( + alias="baselineVersion", + description="Display-only baseline label returned by the tool list before a version is stored. Fetch version history to initialize it before using it as a pin.", + ), + ] = None messages: typing.Optional[typing.List[McpToolMessagesItem]] = pydantic.Field(default=None) """ Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. diff --git a/src/vapi/types/minimax_llm_model.py b/src/vapi/types/minimax_llm_model.py index d7c550822..690e7a2ec 100644 --- a/src/vapi/types/minimax_llm_model.py +++ b/src/vapi/types/minimax_llm_model.py @@ -68,7 +68,7 @@ class MinimaxLlmModel(UncheckedBaseModel): FieldMetadata(alias="maxTokens"), pydantic.Field( alias="maxTokens", - description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna no cap is applied unless you set one, because reasoning uses output tokens and a small cap can leave the reply empty.", + description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna and claude-haiku-5-5 no cap is applied unless you set one (claude-haiku-5-5 sends its 128,000-token maximum), because reasoning uses output tokens and a small cap can leave the reply empty.", ), ] = None emotion_recognition_enabled: typing_extensions.Annotated[ diff --git a/src/vapi/types/model_cost.py b/src/vapi/types/model_cost.py index 5eac12beb..cb5433210 100644 --- a/src/vapi/types/model_cost.py +++ b/src/vapi/types/model_cost.py @@ -7,6 +7,7 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .model_cost_service_tier_breakdown import ModelCostServiceTierBreakdown class ModelCost(UncheckedBaseModel): @@ -72,6 +73,14 @@ class ModelCost(UncheckedBaseModel): description="This is the number of reasoning tokens generated in the call. This is only applicable to reasoning models (e.g., OpenAI o-series, GPT-5) on providers that report them.\n\nThis is a **subset of `completionTokens`**, not an addition to it: reasoning tokens are already counted in `completionTokens` and are already billed at the output-token rate. It is reported separately for visibility only and does not affect `cost`.", ), ] = None + service_tier_breakdown: typing_extensions.Annotated[ + typing.Optional[typing.List[ModelCostServiceTierBreakdown]], + FieldMetadata(alias="serviceTierBreakdown"), + pydantic.Field( + alias="serviceTierBreakdown", + description="This is the cost split by OpenAI service tier. It is only set on call costs, and only when OpenAI reported the tier it served for a request that asked for Fast mode.\n\nThere is one row per reported tier, plus one row without `serviceTier` for usage with no reported tier. The rows add up to the token counts above, and to `cost` within rounding.", + ), + ] = None cost: float = pydantic.Field() """ This is the cost of the component in USD. diff --git a/src/vapi/types/model_cost_service_tier_breakdown.py b/src/vapi/types/model_cost_service_tier_breakdown.py new file mode 100644 index 000000000..32660eba6 --- /dev/null +++ b/src/vapi/types/model_cost_service_tier_breakdown.py @@ -0,0 +1,62 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel + + +class ModelCostServiceTierBreakdown(UncheckedBaseModel): + service_tier: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="serviceTier"), + pydantic.Field( + alias="serviceTier", + description="This is the service tier OpenAI reported serving a request that asked for Fast mode, in Vapi's names: `fast` when Fast mode was served, otherwise the tier served, such as `default`. It is absent on the row for usage with no reported tier: requests that did not ask for Fast mode, requests that ended before OpenAI reported a tier, and other providers.", + ), + ] = None + cost: float = pydantic.Field() + """ + This is the cost in USD of the usage at this tier, rounded to 8 decimal places. + """ + + prompt_tokens: typing_extensions.Annotated[ + float, + FieldMetadata(alias="promptTokens"), + pydantic.Field(alias="promptTokens", description="This is the number of prompt tokens used at this tier."), + ] + completion_tokens: typing_extensions.Annotated[ + float, + FieldMetadata(alias="completionTokens"), + pydantic.Field( + alias="completionTokens", description="This is the number of completion tokens generated at this tier." + ), + ] + cached_prompt_tokens: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="cachedPromptTokens"), + pydantic.Field( + alias="cachedPromptTokens", + description="This is the number of cached prompt tokens used at this tier. This is a subset of `promptTokens`, not an addition to it.", + ), + ] = None + reasoning_tokens: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="reasoningTokens"), + pydantic.Field( + alias="reasoningTokens", + description="This is the number of reasoning tokens generated at this tier. This is a subset of `completionTokens`, not an addition to it.", + ), + ] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/open_ai_model.py b/src/vapi/types/open_ai_model.py index 03d5b52ea..96f77af10 100644 --- a/src/vapi/types/open_ai_model.py +++ b/src/vapi/types/open_ai_model.py @@ -118,7 +118,7 @@ class OpenAiModel(UncheckedBaseModel): FieldMetadata(alias="serviceTier"), pydantic.Field( alias="serviceTier", - description="This is the OpenAI service tier used for chat completions requests.\n\n- `fast`: OpenAI's fast processing tier (renamed from `priority` on 2026-07-30; both values are accepted and billed identically) — up to ~2.5x faster inference at 2x the standard token rates. OpenAI may silently downgrade a fast request to standard processing under ramp limits; when that happens the response reports the served tier and the request is billed at standard rates.\n- `auto`: uses the service tier configured for the OpenAI project.\n- `default`: standard processing and billing.\n\nOnly applies to models that support fast processing: gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna, gpt-5.5. Ignored for other models.\n\n@default undefined (uses the service tier configured for the OpenAI project)", + description="This is the OpenAI service tier to request.\n\n- `fast`: requests Fast mode, which gives faster responses at a higher per-token rate. How much faster depends on the model.\n- `priority`: the old name for `fast`, accepted and billed the same.\n- `default`: standard processing.\n- `auto`: the default when unset. On Vapi's OpenAI keys this is standard processing; on your own OpenAI key, OpenAI applies your project's default tier.\n\nOpenAI sets Fast mode rates per model, and they are not a fixed multiple of the standard rates. Vapi bills them only when OpenAI reports that it served the request in Fast mode. Otherwise the request is billed at standard rates, for example when Fast mode isn't available for the model on Vapi, OpenAI downgrades the request, or the request runs on Azure OpenAI.\n\nSupported models and their Fast mode rates: https://docs.vapi.ai/providers/model/openai", ), ] = None reasoning_effort: typing_extensions.Annotated[ @@ -139,7 +139,7 @@ class OpenAiModel(UncheckedBaseModel): FieldMetadata(alias="maxTokens"), pydantic.Field( alias="maxTokens", - description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna no cap is applied unless you set one, because reasoning uses output tokens and a small cap can leave the reply empty.", + description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna and claude-haiku-5-5 no cap is applied unless you set one (claude-haiku-5-5 sends its 128,000-token maximum), because reasoning uses output tokens and a small cap can leave the reply empty.", ), ] = None emotion_recognition_enabled: typing_extensions.Annotated[ diff --git a/src/vapi/types/open_router_model.py b/src/vapi/types/open_router_model.py index e456811ce..49da0462e 100644 --- a/src/vapi/types/open_router_model.py +++ b/src/vapi/types/open_router_model.py @@ -67,7 +67,7 @@ class OpenRouterModel(UncheckedBaseModel): FieldMetadata(alias="maxTokens"), pydantic.Field( alias="maxTokens", - description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna no cap is applied unless you set one, because reasoning uses output tokens and a small cap can leave the reply empty.", + description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna and claude-haiku-5-5 no cap is applied unless you set one (claude-haiku-5-5 sends its 128,000-token maximum), because reasoning uses output tokens and a small cap can leave the reply empty.", ), ] = None emotion_recognition_enabled: typing_extensions.Annotated[ diff --git a/src/vapi/types/output_tool.py b/src/vapi/types/output_tool.py index a1a1e2a2d..beb6d6b7f 100644 --- a/src/vapi/types/output_tool.py +++ b/src/vapi/types/output_tool.py @@ -19,6 +19,14 @@ class OutputTool(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="baselineVersion"), + pydantic.Field( + alias="baselineVersion", + description="Display-only baseline label returned by the tool list before a version is stored. Fetch version history to initialize it before using it as a pin.", + ), + ] = None messages: typing.Optional[typing.List[OutputToolMessagesItem]] = pydantic.Field(default=None) """ Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. diff --git a/src/vapi/types/perplexity_ai_model.py b/src/vapi/types/perplexity_ai_model.py index 17f237231..e46056d87 100644 --- a/src/vapi/types/perplexity_ai_model.py +++ b/src/vapi/types/perplexity_ai_model.py @@ -67,7 +67,7 @@ class PerplexityAiModel(UncheckedBaseModel): FieldMetadata(alias="maxTokens"), pydantic.Field( alias="maxTokens", - description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna no cap is applied unless you set one, because reasoning uses output tokens and a small cap can leave the reply empty.", + description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna and claude-haiku-5-5 no cap is applied unless you set one (claude-haiku-5-5 sends its 128,000-token maximum), because reasoning uses output tokens and a small cap can leave the reply empty.", ), ] = None emotion_recognition_enabled: typing_extensions.Annotated[ diff --git a/src/vapi/types/query_tool.py b/src/vapi/types/query_tool.py index 207ffe854..e8443096b 100644 --- a/src/vapi/types/query_tool.py +++ b/src/vapi/types/query_tool.py @@ -23,6 +23,14 @@ class QueryTool(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="baselineVersion"), + pydantic.Field( + alias="baselineVersion", + description="Display-only baseline label returned by the tool list before a version is stored. Fetch version history to initialize it before using it as a pin.", + ), + ] = None messages: typing.Optional[typing.List[QueryToolMessagesItem]] = pydantic.Field(default=None) """ Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. diff --git a/src/vapi/types/server_message_end_of_call_report_costs_item.py b/src/vapi/types/server_message_end_of_call_report_costs_item.py index a24b985df..6bd9526c1 100644 --- a/src/vapi/types/server_message_end_of_call_report_costs_item.py +++ b/src/vapi/types/server_message_end_of_call_report_costs_item.py @@ -10,6 +10,7 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata from .analysis_cost_analysis_type import AnalysisCostAnalysisType +from .model_cost_service_tier_breakdown import ModelCostServiceTierBreakdown from .structured_output_cost_breakdown import StructuredOutputCostBreakdown from .transport_cost_provider import TransportCostProvider from .vapi_cost_sub_type import VapiCostSubType @@ -67,6 +68,11 @@ class ServerMessageEndOfCallReportCostsItem_Model(UncheckedBaseModel): reasoning_tokens: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="reasoningTokens"), pydantic.Field(alias="reasoningTokens") ] = None + service_tier_breakdown: typing_extensions.Annotated[ + typing.Optional[typing.List[ModelCostServiceTierBreakdown]], + FieldMetadata(alias="serviceTierBreakdown"), + pydantic.Field(alias="serviceTierBreakdown"), + ] = None cost: float if IS_PYDANTIC_V2: diff --git a/src/vapi/types/session_costs_item.py b/src/vapi/types/session_costs_item.py index 76e464a28..f2431bd19 100644 --- a/src/vapi/types/session_costs_item.py +++ b/src/vapi/types/session_costs_item.py @@ -10,6 +10,7 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata from .analysis_cost_analysis_type import AnalysisCostAnalysisType +from .model_cost_service_tier_breakdown import ModelCostServiceTierBreakdown from .structured_output_cost_breakdown import StructuredOutputCostBreakdown @@ -32,6 +33,11 @@ class SessionCostsItem_Model(UncheckedBaseModel): reasoning_tokens: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="reasoningTokens"), pydantic.Field(alias="reasoningTokens") ] = None + service_tier_breakdown: typing_extensions.Annotated[ + typing.Optional[typing.List[ModelCostServiceTierBreakdown]], + FieldMetadata(alias="serviceTierBreakdown"), + pydantic.Field(alias="serviceTierBreakdown"), + ] = None cost: float if IS_PYDANTIC_V2: diff --git a/src/vapi/types/sip_request_tool.py b/src/vapi/types/sip_request_tool.py index 9d5a87907..c12ceed27 100644 --- a/src/vapi/types/sip_request_tool.py +++ b/src/vapi/types/sip_request_tool.py @@ -24,6 +24,14 @@ class SipRequestTool(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="baselineVersion"), + pydantic.Field( + alias="baselineVersion", + description="Display-only baseline label returned by the tool list before a version is stored. Fetch version history to initialize it before using it as a pin.", + ), + ] = None messages: typing.Optional[typing.List[SipRequestToolMessagesItem]] = pydantic.Field(default=None) """ Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. diff --git a/src/vapi/types/slack_send_message_tool.py b/src/vapi/types/slack_send_message_tool.py index 2d3f96488..ff78a6497 100644 --- a/src/vapi/types/slack_send_message_tool.py +++ b/src/vapi/types/slack_send_message_tool.py @@ -22,6 +22,14 @@ class SlackSendMessageTool(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="baselineVersion"), + pydantic.Field( + alias="baselineVersion", + description="Display-only baseline label returned by the tool list before a version is stored. Fetch version history to initialize it before using it as a pin.", + ), + ] = None messages: typing.Optional[typing.List[SlackSendMessageToolMessagesItem]] = pydantic.Field(default=None) """ Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. diff --git a/src/vapi/types/sms_tool.py b/src/vapi/types/sms_tool.py index d48cd4b0c..5bc780e33 100644 --- a/src/vapi/types/sms_tool.py +++ b/src/vapi/types/sms_tool.py @@ -22,6 +22,14 @@ class SmsTool(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="baselineVersion"), + pydantic.Field( + alias="baselineVersion", + description="Display-only baseline label returned by the tool list before a version is stored. Fetch version history to initialize it before using it as a pin.", + ), + ] = None messages: typing.Optional[typing.List[SmsToolMessagesItem]] = pydantic.Field(default=None) """ Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. diff --git a/src/vapi/types/structured_output.py b/src/vapi/types/structured_output.py index 1c1c6e594..7402bc0f8 100644 --- a/src/vapi/types/structured_output.py +++ b/src/vapi/types/structured_output.py @@ -57,7 +57,8 @@ class StructuredOutput(UncheckedBaseModel): This is the model that will be used to extract the structured output. To provide your own custom system and user prompts for structured output extraction, populate the messages array with your system and user messages. You can specify liquid templating in your system and user messages. - Between the system or user messages, you must reference either 'transcript' or 'messages' with the `{{}}` syntax to access the conversation history. + For text extraction, you must reference 'transcript', 'messages', or 'messagesWithConfidence' with the `{{}}` syntax to access the conversation history. + In structured outputs, `{{messages}}` includes conversation text and tool calls/results but omits caller transcription-confidence fields. Text extraction can use `{{messagesWithConfidence}}` when the output needs the original message history with transcription confidence. These variables also apply in structured-output schema descriptions. Audio-targeted (`messages-with-audio`) extraction ignores custom messages. Stored call artifacts and API messages retain their confidence data. Between the system or user messages, you must reference a variation of the structured output with the `{{}}` syntax to access the structured output definition. i.e.: `{{structuredOutput}}` diff --git a/src/vapi/types/structured_output_model.py b/src/vapi/types/structured_output_model.py index 55c1ca504..e70c467f5 100644 --- a/src/vapi/types/structured_output_model.py +++ b/src/vapi/types/structured_output_model.py @@ -23,7 +23,8 @@ class StructuredOutputModel_Openai(UncheckedBaseModel): This is the model that will be used to extract the structured output. To provide your own custom system and user prompts for structured output extraction, populate the messages array with your system and user messages. You can specify liquid templating in your system and user messages. - Between the system or user messages, you must reference either 'transcript' or 'messages' with the `{{}}` syntax to access the conversation history. + For text extraction, you must reference 'transcript', 'messages', or 'messagesWithConfidence' with the `{{}}` syntax to access the conversation history. + In structured outputs, `{{messages}}` includes conversation text and tool calls/results but omits caller transcription-confidence fields. Text extraction can use `{{messagesWithConfidence}}` when the output needs the original message history with transcription confidence. These variables also apply in structured-output schema descriptions. Audio-targeted (`messages-with-audio`) extraction ignores custom messages. Stored call artifacts and API messages retain their confidence data. Between the system or user messages, you must reference a variation of the structured output with the `{{}}` syntax to access the structured output definition. i.e.: `{{structuredOutput}}` @@ -58,7 +59,8 @@ class StructuredOutputModel_Anthropic(UncheckedBaseModel): This is the model that will be used to extract the structured output. To provide your own custom system and user prompts for structured output extraction, populate the messages array with your system and user messages. You can specify liquid templating in your system and user messages. - Between the system or user messages, you must reference either 'transcript' or 'messages' with the `{{}}` syntax to access the conversation history. + For text extraction, you must reference 'transcript', 'messages', or 'messagesWithConfidence' with the `{{}}` syntax to access the conversation history. + In structured outputs, `{{messages}}` includes conversation text and tool calls/results but omits caller transcription-confidence fields. Text extraction can use `{{messagesWithConfidence}}` when the output needs the original message history with transcription confidence. These variables also apply in structured-output schema descriptions. Audio-targeted (`messages-with-audio`) extraction ignores custom messages. Stored call artifacts and API messages retain their confidence data. Between the system or user messages, you must reference a variation of the structured output with the `{{}}` syntax to access the structured output definition. i.e.: `{{structuredOutput}}` @@ -94,7 +96,8 @@ class StructuredOutputModel_AnthropicBedrock(UncheckedBaseModel): This is the model that will be used to extract the structured output. To provide your own custom system and user prompts for structured output extraction, populate the messages array with your system and user messages. You can specify liquid templating in your system and user messages. - Between the system or user messages, you must reference either 'transcript' or 'messages' with the `{{}}` syntax to access the conversation history. + For text extraction, you must reference 'transcript', 'messages', or 'messagesWithConfidence' with the `{{}}` syntax to access the conversation history. + In structured outputs, `{{messages}}` includes conversation text and tool calls/results but omits caller transcription-confidence fields. Text extraction can use `{{messagesWithConfidence}}` when the output needs the original message history with transcription confidence. These variables also apply in structured-output schema descriptions. Audio-targeted (`messages-with-audio`) extraction ignores custom messages. Stored call artifacts and API messages retain their confidence data. Between the system or user messages, you must reference a variation of the structured output with the `{{}}` syntax to access the structured output definition. i.e.: `{{structuredOutput}}` @@ -130,7 +133,8 @@ class StructuredOutputModel_Google(UncheckedBaseModel): This is the model that will be used to extract the structured output. To provide your own custom system and user prompts for structured output extraction, populate the messages array with your system and user messages. You can specify liquid templating in your system and user messages. - Between the system or user messages, you must reference either 'transcript' or 'messages' with the `{{}}` syntax to access the conversation history. + For text extraction, you must reference 'transcript', 'messages', or 'messagesWithConfidence' with the `{{}}` syntax to access the conversation history. + In structured outputs, `{{messages}}` includes conversation text and tool calls/results but omits caller transcription-confidence fields. Text extraction can use `{{messagesWithConfidence}}` when the output needs the original message history with transcription confidence. These variables also apply in structured-output schema descriptions. Audio-targeted (`messages-with-audio`) extraction ignores custom messages. Stored call artifacts and API messages retain their confidence data. Between the system or user messages, you must reference a variation of the structured output with the `{{}}` syntax to access the structured output definition. i.e.: `{{structuredOutput}}` @@ -165,7 +169,8 @@ class StructuredOutputModel_CustomLlm(UncheckedBaseModel): This is the model that will be used to extract the structured output. To provide your own custom system and user prompts for structured output extraction, populate the messages array with your system and user messages. You can specify liquid templating in your system and user messages. - Between the system or user messages, you must reference either 'transcript' or 'messages' with the `{{}}` syntax to access the conversation history. + For text extraction, you must reference 'transcript', 'messages', or 'messagesWithConfidence' with the `{{}}` syntax to access the conversation history. + In structured outputs, `{{messages}}` includes conversation text and tool calls/results but omits caller transcription-confidence fields. Text extraction can use `{{messagesWithConfidence}}` when the output needs the original message history with transcription confidence. These variables also apply in structured-output schema descriptions. Audio-targeted (`messages-with-audio`) extraction ignores custom messages. Stored call artifacts and API messages retain their confidence data. Between the system or user messages, you must reference a variation of the structured output with the `{{}}` syntax to access the structured output definition. i.e.: `{{structuredOutput}}` diff --git a/src/vapi/types/text_editor_tool.py b/src/vapi/types/text_editor_tool.py index ac3fdc7ba..17fe020af 100644 --- a/src/vapi/types/text_editor_tool.py +++ b/src/vapi/types/text_editor_tool.py @@ -25,6 +25,14 @@ class TextEditorTool(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="baselineVersion"), + pydantic.Field( + alias="baselineVersion", + description="Display-only baseline label returned by the tool list before a version is stored. Fetch version history to initialize it before using it as a pin.", + ), + ] = None messages: typing.Optional[typing.List[TextEditorToolMessagesItem]] = pydantic.Field(default=None) """ Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. diff --git a/src/vapi/types/together_ai_model.py b/src/vapi/types/together_ai_model.py index 712cdea9f..4e412f364 100644 --- a/src/vapi/types/together_ai_model.py +++ b/src/vapi/types/together_ai_model.py @@ -67,7 +67,7 @@ class TogetherAiModel(UncheckedBaseModel): FieldMetadata(alias="maxTokens"), pydantic.Field( alias="maxTokens", - description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna no cap is applied unless you set one, because reasoning uses output tokens and a small cap can leave the reply empty.", + description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna and claude-haiku-5-5 no cap is applied unless you set one (claude-haiku-5-5 sends its 128,000-token maximum), because reasoning uses output tokens and a small cap can leave the reply empty.", ), ] = None emotion_recognition_enabled: typing_extensions.Annotated[ diff --git a/src/vapi/types/traffic_allocation_stale_conflict_response_dto.py b/src/vapi/types/traffic_allocation_stale_conflict_response_dto.py index 2a773ef9a..9fd873e7a 100644 --- a/src/vapi/types/traffic_allocation_stale_conflict_response_dto.py +++ b/src/vapi/types/traffic_allocation_stale_conflict_response_dto.py @@ -7,11 +7,9 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel -from .traffic_allocation_stale_conflict_response_dto_error import TrafficAllocationStaleConflictResponseDtoError class TrafficAllocationStaleConflictResponseDto(UncheckedBaseModel): - error: TrafficAllocationStaleConflictResponseDtoError message: str = pydantic.Field() """ Human-readable reason the create was rejected. diff --git a/src/vapi/types/traffic_allocation_stale_conflict_response_dto_error.py b/src/vapi/types/traffic_allocation_stale_conflict_response_dto_error.py deleted file mode 100644 index 521c9bdd9..000000000 --- a/src/vapi/types/traffic_allocation_stale_conflict_response_dto_error.py +++ /dev/null @@ -1,5 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -import typing - -TrafficAllocationStaleConflictResponseDtoError = typing.Union[typing.Literal["stale_allocation"], typing.Any] diff --git a/src/vapi/types/transfer_call_tool.py b/src/vapi/types/transfer_call_tool.py index 80ad8e966..2ce795c1e 100644 --- a/src/vapi/types/transfer_call_tool.py +++ b/src/vapi/types/transfer_call_tool.py @@ -23,6 +23,14 @@ class TransferCallTool(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="baselineVersion"), + pydantic.Field( + alias="baselineVersion", + description="Display-only baseline label returned by the tool list before a version is stored. Fetch version history to initialize it before using it as a pin.", + ), + ] = None messages: typing.Optional[typing.List[TransferCallToolMessagesItem]] = pydantic.Field(default=None) """ Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. diff --git a/src/vapi/types/update_assistant_draft_dto_model.py b/src/vapi/types/update_assistant_draft_dto_model.py index 314c666b4..cd6759297 100644 --- a/src/vapi/types/update_assistant_draft_dto_model.py +++ b/src/vapi/types/update_assistant_draft_dto_model.py @@ -11,7 +11,9 @@ from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata from .anthropic_bedrock_model_fallback_models_item import AnthropicBedrockModelFallbackModelsItem from .anthropic_bedrock_model_model import AnthropicBedrockModelModel +from .anthropic_bedrock_model_reasoning_effort import AnthropicBedrockModelReasoningEffort from .anthropic_model_model import AnthropicModelModel +from .anthropic_model_reasoning_effort import AnthropicModelReasoningEffort from .anthropic_thinking_config import AnthropicThinkingConfig from .cerebras_model_model import CerebrasModelModel from .create_custom_knowledge_base_dto import CreateCustomKnowledgeBaseDto @@ -56,6 +58,11 @@ class UpdateAssistantDraftDtoModel_Anthropic(UncheckedBaseModel): pydantic.Field(alias="knowledgeBase"), ] = None model: AnthropicModelModel + reasoning_effort: typing_extensions.Annotated[ + typing.Optional[AnthropicModelReasoningEffort], + FieldMetadata(alias="reasoningEffort"), + pydantic.Field(alias="reasoningEffort"), + ] = None thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ @@ -105,6 +112,11 @@ class UpdateAssistantDraftDtoModel_AnthropicBedrock(UncheckedBaseModel): FieldMetadata(alias="fallbackModels"), pydantic.Field(alias="fallbackModels"), ] = None + reasoning_effort: typing_extensions.Annotated[ + typing.Optional[AnthropicBedrockModelReasoningEffort], + FieldMetadata(alias="reasoningEffort"), + pydantic.Field(alias="reasoningEffort"), + ] = None thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ diff --git a/src/vapi/types/user.py b/src/vapi/types/user_with_role.py similarity index 65% rename from src/vapi/types/user.py rename to src/vapi/types/user_with_role.py index 26d8f8c40..539d259b3 100644 --- a/src/vapi/types/user.py +++ b/src/vapi/types/user_with_role.py @@ -8,9 +8,23 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .user_with_role_role import UserWithRoleRole -class User(UncheckedBaseModel): +class UserWithRole(UncheckedBaseModel): + role: UserWithRoleRole = pydantic.Field() + """ + This is the user's role in the org: a built-in role, the HIPAA special role, or a custom WorkOS role slug prefixed with `org-`. + """ + + last_active_at: typing_extensions.Annotated[ + typing.Optional[dt.datetime], + FieldMetadata(alias="lastActiveAt"), + pydantic.Field( + alias="lastActiveAt", + description="This is the ISO 8601 date-time string of the user's most recent sign-in to the org's identity provider (WorkOS). It is a property of the user, not of this org membership, so a sign-in to another WorkOS org counts. Only returned to org admins; absent when the requester is not an admin, no sign-in has been recorded, or the org is not linked to WorkOS.", + ), + ] = None id: str = pydantic.Field() """ This is the unique identifier for the profile or user. diff --git a/src/vapi/types/user_with_role_role.py b/src/vapi/types/user_with_role_role.py new file mode 100644 index 000000000..23a7cd090 --- /dev/null +++ b/src/vapi/types/user_with_role_role.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from .user_with_role_role_zero import UserWithRoleRoleZero + +UserWithRoleRole = typing.Union[UserWithRoleRoleZero, str] diff --git a/src/vapi/types/user_with_role_role_zero.py b/src/vapi/types/user_with_role_role_zero.py new file mode 100644 index 000000000..0594e80d8 --- /dev/null +++ b/src/vapi/types/user_with_role_role_zero.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UserWithRoleRoleZero = typing.Union[typing.Literal["admin", "editor", "viewer", "hipaa-special"], typing.Any] diff --git a/src/vapi/types/voicemail_tool.py b/src/vapi/types/voicemail_tool.py index 228a66b9c..6e84fa5f6 100644 --- a/src/vapi/types/voicemail_tool.py +++ b/src/vapi/types/voicemail_tool.py @@ -22,6 +22,14 @@ class VoicemailTool(UncheckedBaseModel): latest_version: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") ] = None + baseline_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="baselineVersion"), + pydantic.Field( + alias="baselineVersion", + description="Display-only baseline label returned by the tool list before a version is stored. Fetch version history to initialize it before using it as a pin.", + ), + ] = None messages: typing.Optional[typing.List[VoicemailToolMessagesItem]] = pydantic.Field(default=None) """ Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. diff --git a/src/vapi/types/workflow_anthropic_bedrock_model.py b/src/vapi/types/workflow_anthropic_bedrock_model.py index 29b00d08b..b904a7ece 100644 --- a/src/vapi/types/workflow_anthropic_bedrock_model.py +++ b/src/vapi/types/workflow_anthropic_bedrock_model.py @@ -21,12 +21,12 @@ class WorkflowAnthropicBedrockModel(UncheckedBaseModel): """ These are the messages used to customize the prompt used for structured output extraction. - When provided, these messages replace the default prompts. Message contents support LiquidJS templating with the following variables: - - `{{transcript}}` or `{{messages}}` to reference the conversation (one is required) + When provided, these messages replace the default prompts. For text extraction, message contents support LiquidJS templating with the following variables: + - `{{transcript}}`, `{{messages}}`, or `{{messagesWithConfidence}}` to reference the conversation (one is required) - `{{structuredOutput.name}}`, `{{structuredOutput.description}}`, or `{{structuredOutput.schema}}` to reference the structured output definition (one is required) - `{{systemPrompt}}`, `{{callEndedReason}}`, `{{duration}}`, `{{startedAt}}`, `{{endedAt}}`, and any `assistantOverrides.variableValues` - `{{messages}}` is the full message history including tool calls; `{{transcript}}` is the spoken text only, which uses significantly fewer tokens. + In structured outputs, `{{messages}}` includes conversation text and tool calls/results, but omits caller transcription-confidence fields. For text extraction, `{{messagesWithConfidence}}` includes the original message history with transcription confidence for outputs that explicitly need it. These variables also apply in structured-output schema descriptions. Audio-targeted (`messages-with-audio`) extraction ignores custom messages. Stored call artifacts and API messages retain their confidence data. `{{transcript}}` is the spoken text only, which uses significantly fewer tokens. If not provided, default system and user prompts are used. """ diff --git a/src/vapi/types/workflow_anthropic_bedrock_model_model.py b/src/vapi/types/workflow_anthropic_bedrock_model_model.py index de14e4474..8a43e6f96 100644 --- a/src/vapi/types/workflow_anthropic_bedrock_model_model.py +++ b/src/vapi/types/workflow_anthropic_bedrock_model_model.py @@ -18,6 +18,7 @@ "claude-sonnet-4-5-20250929", "claude-sonnet-4-6", "claude-haiku-4-5-20251001", + "claude-haiku-5-5", "global.anthropic.claude-haiku-4-5-20251001-v1:0", ], typing.Any, diff --git a/src/vapi/types/workflow_anthropic_model.py b/src/vapi/types/workflow_anthropic_model.py index bc678c4a1..c388fe958 100644 --- a/src/vapi/types/workflow_anthropic_model.py +++ b/src/vapi/types/workflow_anthropic_model.py @@ -21,12 +21,12 @@ class WorkflowAnthropicModel(UncheckedBaseModel): """ These are the messages used to customize the prompt used for structured output extraction. - When provided, these messages replace the default prompts. Message contents support LiquidJS templating with the following variables: - - `{{transcript}}` or `{{messages}}` to reference the conversation (one is required) + When provided, these messages replace the default prompts. For text extraction, message contents support LiquidJS templating with the following variables: + - `{{transcript}}`, `{{messages}}`, or `{{messagesWithConfidence}}` to reference the conversation (one is required) - `{{structuredOutput.name}}`, `{{structuredOutput.description}}`, or `{{structuredOutput.schema}}` to reference the structured output definition (one is required) - `{{systemPrompt}}`, `{{callEndedReason}}`, `{{duration}}`, `{{startedAt}}`, `{{endedAt}}`, and any `assistantOverrides.variableValues` - `{{messages}}` is the full message history including tool calls; `{{transcript}}` is the spoken text only, which uses significantly fewer tokens. + In structured outputs, `{{messages}}` includes conversation text and tool calls/results, but omits caller transcription-confidence fields. For text extraction, `{{messagesWithConfidence}}` includes the original message history with transcription confidence for outputs that explicitly need it. These variables also apply in structured-output schema descriptions. Audio-targeted (`messages-with-audio`) extraction ignores custom messages. Stored call artifacts and API messages retain their confidence data. `{{transcript}}` is the spoken text only, which uses significantly fewer tokens. If not provided, default system and user prompts are used. """ diff --git a/src/vapi/types/workflow_anthropic_model_model.py b/src/vapi/types/workflow_anthropic_model_model.py index 406265c48..7b0d90346 100644 --- a/src/vapi/types/workflow_anthropic_model_model.py +++ b/src/vapi/types/workflow_anthropic_model_model.py @@ -19,6 +19,7 @@ "claude-sonnet-4-6", "claude-sonnet-5", "claude-haiku-4-5-20251001", + "claude-haiku-5-5", ], typing.Any, ] diff --git a/src/vapi/types/workflow_custom_model.py b/src/vapi/types/workflow_custom_model.py index 77fd390fe..753483199 100644 --- a/src/vapi/types/workflow_custom_model.py +++ b/src/vapi/types/workflow_custom_model.py @@ -20,12 +20,12 @@ class WorkflowCustomModel(UncheckedBaseModel): """ These are the messages used to customize the prompt used for structured output extraction. - When provided, these messages replace the default prompts. Message contents support LiquidJS templating with the following variables: - - `{{transcript}}` or `{{messages}}` to reference the conversation (one is required) + When provided, these messages replace the default prompts. For text extraction, message contents support LiquidJS templating with the following variables: + - `{{transcript}}`, `{{messages}}`, or `{{messagesWithConfidence}}` to reference the conversation (one is required) - `{{structuredOutput.name}}`, `{{structuredOutput.description}}`, or `{{structuredOutput.schema}}` to reference the structured output definition (one is required) - `{{systemPrompt}}`, `{{callEndedReason}}`, `{{duration}}`, `{{startedAt}}`, `{{endedAt}}`, and any `assistantOverrides.variableValues` - `{{messages}}` is the full message history including tool calls; `{{transcript}}` is the spoken text only, which uses significantly fewer tokens. + In structured outputs, `{{messages}}` includes conversation text and tool calls/results, but omits caller transcription-confidence fields. For text extraction, `{{messagesWithConfidence}}` includes the original message history with transcription confidence for outputs that explicitly need it. These variables also apply in structured-output schema descriptions. Audio-targeted (`messages-with-audio`) extraction ignores custom messages. Stored call artifacts and API messages retain their confidence data. `{{transcript}}` is the spoken text only, which uses significantly fewer tokens. If not provided, default system and user prompts are used. """ diff --git a/src/vapi/types/workflow_google_model.py b/src/vapi/types/workflow_google_model.py index 45ab29118..151fc3b48 100644 --- a/src/vapi/types/workflow_google_model.py +++ b/src/vapi/types/workflow_google_model.py @@ -20,12 +20,12 @@ class WorkflowGoogleModel(UncheckedBaseModel): """ These are the messages used to customize the prompt used for structured output extraction. - When provided, these messages replace the default prompts. Message contents support LiquidJS templating with the following variables: - - `{{transcript}}` or `{{messages}}` to reference the conversation (one is required) + When provided, these messages replace the default prompts. For text extraction, message contents support LiquidJS templating with the following variables: + - `{{transcript}}`, `{{messages}}`, or `{{messagesWithConfidence}}` to reference the conversation (one is required) - `{{structuredOutput.name}}`, `{{structuredOutput.description}}`, or `{{structuredOutput.schema}}` to reference the structured output definition (one is required) - `{{systemPrompt}}`, `{{callEndedReason}}`, `{{duration}}`, `{{startedAt}}`, `{{endedAt}}`, and any `assistantOverrides.variableValues` - `{{messages}}` is the full message history including tool calls; `{{transcript}}` is the spoken text only, which uses significantly fewer tokens. + In structured outputs, `{{messages}}` includes conversation text and tool calls/results, but omits caller transcription-confidence fields. For text extraction, `{{messagesWithConfidence}}` includes the original message history with transcription confidence for outputs that explicitly need it. These variables also apply in structured-output schema descriptions. Audio-targeted (`messages-with-audio`) extraction ignores custom messages. Stored call artifacts and API messages retain their confidence data. `{{transcript}}` is the spoken text only, which uses significantly fewer tokens. If not provided, default system and user prompts are used. """ diff --git a/src/vapi/types/workflow_google_model_model.py b/src/vapi/types/workflow_google_model_model.py index 602f92171..f49f6808c 100644 --- a/src/vapi/types/workflow_google_model_model.py +++ b/src/vapi/types/workflow_google_model_model.py @@ -4,6 +4,7 @@ WorkflowGoogleModelModel = typing.Union[ typing.Literal[ + "gemini-3.8-flash", "gemini-3.5-flash", "gemini-3.1-flash-lite", "gemini-3-flash-preview", diff --git a/src/vapi/types/workflow_open_ai_model.py b/src/vapi/types/workflow_open_ai_model.py index 00b5efcd5..77ddf414e 100644 --- a/src/vapi/types/workflow_open_ai_model.py +++ b/src/vapi/types/workflow_open_ai_model.py @@ -20,12 +20,12 @@ class WorkflowOpenAiModel(UncheckedBaseModel): """ These are the messages used to customize the prompt used for structured output extraction. - When provided, these messages replace the default prompts. Message contents support LiquidJS templating with the following variables: - - `{{transcript}}` or `{{messages}}` to reference the conversation (one is required) + When provided, these messages replace the default prompts. For text extraction, message contents support LiquidJS templating with the following variables: + - `{{transcript}}`, `{{messages}}`, or `{{messagesWithConfidence}}` to reference the conversation (one is required) - `{{structuredOutput.name}}`, `{{structuredOutput.description}}`, or `{{structuredOutput.schema}}` to reference the structured output definition (one is required) - `{{systemPrompt}}`, `{{callEndedReason}}`, `{{duration}}`, `{{startedAt}}`, `{{endedAt}}`, and any `assistantOverrides.variableValues` - `{{messages}}` is the full message history including tool calls; `{{transcript}}` is the spoken text only, which uses significantly fewer tokens. + In structured outputs, `{{messages}}` includes conversation text and tool calls/results, but omits caller transcription-confidence fields. For text extraction, `{{messagesWithConfidence}}` includes the original message history with transcription confidence for outputs that explicitly need it. These variables also apply in structured-output schema descriptions. Audio-targeted (`messages-with-audio`) extraction ignores custom messages. Stored call artifacts and API messages retain their confidence data. `{{transcript}}` is the spoken text only, which uses significantly fewer tokens. If not provided, default system and user prompts are used. """ diff --git a/src/vapi/types/xai_model.py b/src/vapi/types/xai_model.py index 8da859fb3..1a9d33741 100644 --- a/src/vapi/types/xai_model.py +++ b/src/vapi/types/xai_model.py @@ -68,7 +68,7 @@ class XaiModel(UncheckedBaseModel): FieldMetadata(alias="maxTokens"), pydantic.Field( alias="maxTokens", - description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna no cap is applied unless you set one, because reasoning uses output tokens and a small cap can leave the reply empty.", + description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. On gpt-6-luna and claude-haiku-5-5 no cap is applied unless you set one (claude-haiku-5-5 sends its 128,000-token maximum), because reasoning uses output tokens and a small cap can leave the reply empty.", ), ] = None emotion_recognition_enabled: typing_extensions.Annotated[ From 256867b3b93c8b8acda7985b67b50bc1b368055a Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Fri, 16 Oct 2026 20:37:03 +0000 Subject: [PATCH 2/5] [fern-autoversion] SDK regeneration (no semver change: no diff between generations) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🌿 Generated with Fern --- .fern/metadata.json | 2 +- pyproject.toml | 2 +- src/vapi/core/client_wrapper.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.fern/metadata.json b/.fern/metadata.json index c78be123a..81ff6cd52 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -9,5 +9,5 @@ "client_class_name": "Vapi" }, "originGitCommit": "9c2d4590896be80f2c5e182c1972bcad068fc381", - "sdkVersion": "0.0.0.dev0" + "sdkVersion": "3.0.0" } \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 65676af29..0c3926dea 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ dynamic = ["version"] [tool.poetry] name = "vapi_server_sdk" -version = "0.0.0.dev0" +version = "3.0.0" description = "" readme = "README.md" authors = [] diff --git a/src/vapi/core/client_wrapper.py b/src/vapi/core/client_wrapper.py index 192024f23..01ce98398 100644 --- a/src/vapi/core/client_wrapper.py +++ b/src/vapi/core/client_wrapper.py @@ -32,7 +32,7 @@ def get_headers(self) -> typing.Dict[str, str]: "X-Fern-Runtime": f"python/{platform.python_version()}", "X-Fern-Platform": f"{platform.system().lower()}/{platform.release()}", "X-Fern-SDK-Name": "vapi_server_sdk", - "X-Fern-SDK-Version": "0.0.0.dev0", + "X-Fern-SDK-Version": "3.0.0", **(self.get_custom_headers() or {}), } headers["Authorization"] = f"Bearer {self._get_token()}" From b9bc8b3459a86c54d65b396fa2dbb110b92a4a01 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Fri, 16 Oct 2026 20:37:04 +0000 Subject: [PATCH 3/5] [fern-replay] advance lockfile --- .fern/replay.lock | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.fern/replay.lock b/.fern/replay.lock index 752b949dc..f426f06d0 100644 --- a/.fern/replay.lock +++ b/.fern/replay.lock @@ -12,5 +12,11 @@ generations: cli_version: unknown generator_versions: fernapi/fern-python-sdk: 5.3.3 -current_generation: 3c017311bff0f0f7a9051f6c0413ee7fee70a677 + - commit_sha: 50f16d0af83cc5ca0780785fd222dd68ac183101 + tree_hash: aa6b2f05d8762ce012fcac57df158e95fcebc031 + timestamp: 2026-10-16T20:36:58.099Z + cli_version: unknown + generator_versions: + fernapi/fern-python-sdk: 5.3.3 +current_generation: 50f16d0af83cc5ca0780785fd222dd68ac183101 patches: [] From b7bb22755608db05717996c039ad6c3b4b7ff8ea Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Fri, 16 Oct 2026 20:37:04 +0000 Subject: [PATCH 4/5] SDK regeneration (no semver change: no diff between generations) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🌿 Generated with Fern --- changelog.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelog.md b/changelog.md index 45c4645fa..b154cadf7 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,5 @@ +## [3.0.0] - 2026-10-16 + ## 3.0.0 - Unreleased ### Breaking Changes From 963551924c1ac253305a28111cda2a0393f3be0d Mon Sep 17 00:00:00 2001 From: Amanda Martin <290842976+amanda-vapi@users.noreply.github.com> Date: Wed, 28 Oct 2026 14:28:07 -0700 Subject: [PATCH 5/5] fix: derive SDK request headers from installed version --- src/vapi/core/client_wrapper.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/vapi/core/client_wrapper.py b/src/vapi/core/client_wrapper.py index 4c615fcfd..42df963cb 100644 --- a/src/vapi/core/client_wrapper.py +++ b/src/vapi/core/client_wrapper.py @@ -3,6 +3,7 @@ import typing import httpx +from ..version import __version__ from .http_client import AsyncHttpClient, HttpClient from .logging import LogConfig, Logger @@ -27,12 +28,12 @@ def get_headers(self) -> typing.Dict[str, str]: import platform headers: typing.Dict[str, str] = { - "User-Agent": "vapi_server_sdk/3.0.0", + "User-Agent": f"vapi_server_sdk/{__version__}", "X-Fern-Language": "Python", "X-Fern-Runtime": f"python/{platform.python_version()}", "X-Fern-Platform": f"{platform.system().lower()}/{platform.release()}", "X-Fern-SDK-Name": "vapi_server_sdk", - "X-Fern-SDK-Version": "3.0.0", + "X-Fern-SDK-Version": __version__, **(self.get_custom_headers() or {}), } headers["Authorization"] = f"Bearer {self._get_token()}"