From 3f21750db4e44a6243556f337aa640cb4e4c2abe Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Thu, 12 Mar 2026 12:52:56 +0000 Subject: [PATCH] SDK regeneration --- poetry.lock | 228 +++++++++--------- pyproject.toml | 2 +- reference.md | 152 ++++++++++-- src/elevenlabs/__init__.py | 111 +++++++-- src/elevenlabs/audio_native/client.py | 34 ++- src/elevenlabs/audio_native/raw_client.py | 30 ++- src/elevenlabs/conversational_ai/__init__.py | 20 -- .../conversational_ai/agents/__init__.py | 20 -- .../conversational_ai/agents/client.py | 22 -- .../conversational_ai/agents/raw_client.py | 38 --- .../agents/types/__init__.py | 57 ----- ...ai_agents_create_post_coaching_settings.py | 47 ---- ...agents_agent_id_patch_coaching_settings.py | 47 ---- .../conversational_ai/batch_calls/client.py | 10 + .../batch_calls/raw_client.py | 10 + .../conversational_ai/users/client.py | 25 ++ .../conversational_ai/users/raw_client.py | 21 ++ .../whatsapp_accounts/client.py | 8 + .../whatsapp_accounts/raw_client.py | 8 + src/elevenlabs/core/client_wrapper.py | 4 +- src/elevenlabs/music/client.py | 10 + src/elevenlabs/music/raw_client.py | 10 + src/elevenlabs/speech_to_text/client.py | 10 + src/elevenlabs/speech_to_text/raw_client.py | 10 + src/elevenlabs/types/__init__.py | 113 +++++++-- .../types/agent_prompt_change_tool_config.py | 18 ++ src/elevenlabs/types/asr_provider.py | 2 +- .../types/batch_call_detailed_response.py | 5 + src/elevenlabs/types/batch_call_response.py | 5 + src/elevenlabs/types/built_in_tools_input.py | 5 - src/elevenlabs/types/built_in_tools_output.py | 5 - .../built_in_tools_workflow_override_input.py | 5 - ...built_in_tools_workflow_override_output.py | 5 - src/elevenlabs/types/caption_style_model.py | 4 + src/elevenlabs/types/chapter_response.py | 5 + .../chapter_with_content_response_model.py | 5 + .../types/check_rental_availability_params.py | 20 ++ .../types/coached_agent_settings.py | 1 + .../types/coaching_agent_settings.py | 1 + ...istory_metadata_common_model_phone_call.py | 1 + ...n_history_sip_trunking_phone_call_model.py | 1 + .../types/conversation_initiation_source.py | 1 + .../types/conversation_user_response_model.py | 2 +- .../types/create_rental_booking_params.py | 20 ++ .../types/get_agent_response_model.py | 6 - ..._agent_response_model_coaching_settings.py | 63 ----- .../types/get_conversation_response_model.py | 1 + .../types/get_whats_app_account_response.py | 1 + .../types/list_rental_services_params.py | 21 ++ src/elevenlabs/types/llm.py | 1 + .../types/memory_entry_create_tool_config.py | 18 ++ .../types/memory_entry_delete_tool_config.py | 18 ++ .../types/memory_entry_search_tool_config.py | 18 ++ .../types/memory_entry_update_tool_config.py | 18 ++ src/elevenlabs/types/no_coaching_settings.py | 1 + .../types/pending_clip_task_type.py | 2 +- ...ect_extended_response_model_assets_item.py | 3 + .../types/project_video_response_model.py | 3 + .../search_documentation_tool_config_input.py | 89 ------- ...search_documentation_tool_config_output.py | 83 ------- .../types/studio_text_style_outline_model.py | 23 ++ .../types/studio_text_style_shadow_model.py | 25 ++ .../types/system_tool_config_input_params.py | 82 +++++-- .../types/system_tool_config_output_params.py | 80 ++++-- src/elevenlabs/types/users_sort_by.py | 5 + src/elevenlabs/types/video_analysis.py | 24 ++ src/elevenlabs/types/video_analysis_result.py | 31 +++ src/elevenlabs/types/video_analysis_status.py | 5 + src/elevenlabs/types/video_key_moment.py | 22 ++ src/elevenlabs/types/video_segment.py | 29 +++ src/elevenlabs/types/video_subject.py | 21 ++ src/elevenlabs/types/video_transcription.py | 23 ++ .../types/video_transcription_word.py | 23 ++ src/elevenlabs/workspace/groups/client.py | 65 +++++ src/elevenlabs/workspace/groups/raw_client.py | 95 ++++++++ src/elevenlabs/workspace/invites/client.py | 14 +- .../workspace/invites/raw_client.py | 10 + 77 files changed, 1335 insertions(+), 746 deletions(-) delete mode 100644 src/elevenlabs/conversational_ai/agents/types/__init__.py delete mode 100644 src/elevenlabs/conversational_ai/agents/types/body_create_agent_v_1_convai_agents_create_post_coaching_settings.py delete mode 100644 src/elevenlabs/conversational_ai/agents/types/body_patches_an_agent_settings_v_1_convai_agents_agent_id_patch_coaching_settings.py create mode 100644 src/elevenlabs/types/agent_prompt_change_tool_config.py create mode 100644 src/elevenlabs/types/check_rental_availability_params.py create mode 100644 src/elevenlabs/types/create_rental_booking_params.py delete mode 100644 src/elevenlabs/types/get_agent_response_model_coaching_settings.py create mode 100644 src/elevenlabs/types/list_rental_services_params.py create mode 100644 src/elevenlabs/types/memory_entry_create_tool_config.py create mode 100644 src/elevenlabs/types/memory_entry_delete_tool_config.py create mode 100644 src/elevenlabs/types/memory_entry_search_tool_config.py create mode 100644 src/elevenlabs/types/memory_entry_update_tool_config.py delete mode 100644 src/elevenlabs/types/search_documentation_tool_config_input.py delete mode 100644 src/elevenlabs/types/search_documentation_tool_config_output.py create mode 100644 src/elevenlabs/types/studio_text_style_outline_model.py create mode 100644 src/elevenlabs/types/studio_text_style_shadow_model.py create mode 100644 src/elevenlabs/types/users_sort_by.py create mode 100644 src/elevenlabs/types/video_analysis.py create mode 100644 src/elevenlabs/types/video_analysis_result.py create mode 100644 src/elevenlabs/types/video_analysis_status.py create mode 100644 src/elevenlabs/types/video_key_moment.py create mode 100644 src/elevenlabs/types/video_segment.py create mode 100644 src/elevenlabs/types/video_subject.py create mode 100644 src/elevenlabs/types/video_transcription.py create mode 100644 src/elevenlabs/types/video_transcription_word.py diff --git a/poetry.lock b/poetry.lock index 51dd5ab5..e302cbaa 100644 --- a/poetry.lock +++ b/poetry.lock @@ -49,124 +49,124 @@ files = [ [[package]] name = "charset-normalizer" -version = "3.4.4" +version = "3.4.5" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." optional = false python-versions = ">=3.7" files = [ - {file = "charset_normalizer-3.4.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e824f1492727fa856dd6eda4f7cee25f8518a12f3c4a56a74e8095695089cf6d"}, - {file = "charset_normalizer-3.4.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4bd5d4137d500351a30687c2d3971758aac9a19208fc110ccb9d7188fbe709e8"}, - {file = "charset_normalizer-3.4.4-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:027f6de494925c0ab2a55eab46ae5129951638a49a34d87f4c3eda90f696b4ad"}, - {file = "charset_normalizer-3.4.4-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f820802628d2694cb7e56db99213f930856014862f3fd943d290ea8438d07ca8"}, - {file = "charset_normalizer-3.4.4-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:798d75d81754988d2565bff1b97ba5a44411867c0cf32b77a7e8f8d84796b10d"}, - {file = "charset_normalizer-3.4.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d1bb833febdff5c8927f922386db610b49db6e0d4f4ee29601d71e7c2694313"}, - {file = "charset_normalizer-3.4.4-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:9cd98cdc06614a2f768d2b7286d66805f94c48cde050acdbbb7db2600ab3197e"}, - {file = "charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:077fbb858e903c73f6c9db43374fd213b0b6a778106bc7032446a8e8b5b38b93"}, - {file = "charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:244bfb999c71b35de57821b8ea746b24e863398194a4014e4c76adc2bbdfeff0"}, - {file = "charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:64b55f9dce520635f018f907ff1b0df1fdc31f2795a922fb49dd14fbcdf48c84"}, - {file = "charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:faa3a41b2b66b6e50f84ae4a68c64fcd0c44355741c6374813a800cd6695db9e"}, - {file = "charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6515f3182dbe4ea06ced2d9e8666d97b46ef4c75e326b79bb624110f122551db"}, - {file = "charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cc00f04ed596e9dc0da42ed17ac5e596c6ccba999ba6bd92b0e0aef2f170f2d6"}, - {file = "charset_normalizer-3.4.4-cp310-cp310-win32.whl", hash = "sha256:f34be2938726fc13801220747472850852fe6b1ea75869a048d6f896838c896f"}, - {file = "charset_normalizer-3.4.4-cp310-cp310-win_amd64.whl", hash = "sha256:a61900df84c667873b292c3de315a786dd8dac506704dea57bc957bd31e22c7d"}, - {file = "charset_normalizer-3.4.4-cp310-cp310-win_arm64.whl", hash = "sha256:cead0978fc57397645f12578bfd2d5ea9138ea0fac82b2f63f7f7c6877986a69"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6e1fcf0720908f200cd21aa4e6750a48ff6ce4afe7ff5a79a90d5ed8a08296f8"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5f819d5fe9234f9f82d75bdfa9aef3a3d72c4d24a6e57aeaebba32a704553aa0"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a59cb51917aa591b1c4e6a43c132f0cdc3c76dbad6155df4e28ee626cc77a0a3"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8ef3c867360f88ac904fd3f5e1f902f13307af9052646963ee08ff4f131adafc"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d9e45d7faa48ee908174d8fe84854479ef838fc6a705c9315372eacbc2f02897"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:840c25fb618a231545cbab0564a799f101b63b9901f2569faecd6b222ac72381"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ca5862d5b3928c4940729dacc329aa9102900382fea192fc5e52eb69d6093815"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d9c7f57c3d666a53421049053eaacdd14bbd0a528e2186fcb2e672effd053bb0"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:277e970e750505ed74c832b4bf75dac7476262ee2a013f5574dd49075879e161"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:31fd66405eaf47bb62e8cd575dc621c56c668f27d46a61d975a249930dd5e2a4"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:0d3d8f15c07f86e9ff82319b3d9ef6f4bf907608f53fe9d92b28ea9ae3d1fd89"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:9f7fcd74d410a36883701fafa2482a6af2ff5ba96b9a620e9e0721e28ead5569"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ebf3e58c7ec8a8bed6d66a75d7fb37b55e5015b03ceae72a8e7c74495551e224"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-win32.whl", hash = "sha256:eecbc200c7fd5ddb9a7f16c7decb07b566c29fa2161a16cf67b8d068bd21690a"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-win_amd64.whl", hash = "sha256:5ae497466c7901d54b639cf42d5b8c1b6a4fead55215500d2f486d34db48d016"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-win_arm64.whl", hash = "sha256:65e2befcd84bc6f37095f5961e68a6f077bf44946771354a28ad434c2cce0ae1"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0a98e6759f854bd25a58a73fa88833fba3b7c491169f86ce1180c948ab3fd394"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b5b290ccc2a263e8d185130284f8501e3e36c5e02750fc6b6bdeb2e9e96f1e25"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74bb723680f9f7a6234dcf67aea57e708ec1fbdf5699fb91dfd6f511b0a320ef"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f1e34719c6ed0b92f418c7c780480b26b5d9c50349e9a9af7d76bf757530350d"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2437418e20515acec67d86e12bf70056a33abdacb5cb1655042f6538d6b085a8"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:11d694519d7f29d6cd09f6ac70028dba10f92f6cdd059096db198c283794ac86"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ac1c4a689edcc530fc9d9aa11f5774b9e2f33f9a0c6a57864e90908f5208d30a"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:21d142cc6c0ec30d2efee5068ca36c128a30b0f2c53c1c07bd78cb6bc1d3be5f"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:5dbe56a36425d26d6cfb40ce79c314a2e4dd6211d51d6d2191c00bed34f354cc"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5bfbb1b9acf3334612667b61bd3002196fe2a1eb4dd74d247e0f2a4d50ec9bbf"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:d055ec1e26e441f6187acf818b73564e6e6282709e9bcb5b63f5b23068356a15"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:af2d8c67d8e573d6de5bc30cdb27e9b95e49115cd9baad5ddbd1a6207aaa82a9"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:780236ac706e66881f3b7f2f32dfe90507a09e67d1d454c762cf642e6e1586e0"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-win32.whl", hash = "sha256:5833d2c39d8896e4e19b689ffc198f08ea58116bee26dea51e362ecc7cd3ed26"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:a79cfe37875f822425b89a82333404539ae63dbdddf97f84dcbc3d339aae9525"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-win_arm64.whl", hash = "sha256:376bec83a63b8021bb5c8ea75e21c4ccb86e7e45ca4eb81146091b56599b80c3"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e1f185f86a6f3403aa2420e815904c67b2f9ebc443f045edd0de921108345794"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b39f987ae8ccdf0d2642338faf2abb1862340facc796048b604ef14919e55ed"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3162d5d8ce1bb98dd51af660f2121c55d0fa541b46dff7bb9b9f86ea1d87de72"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:81d5eb2a312700f4ecaa977a8235b634ce853200e828fbadf3a9c50bab278328"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5bd2293095d766545ec1a8f612559f6b40abc0eb18bb2f5d1171872d34036ede"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a8a8b89589086a25749f471e6a900d3f662d1d3b6e2e59dcecf787b1cc3a1894"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc7637e2f80d8530ee4a78e878bce464f70087ce73cf7c1caf142416923b98f1"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f8bf04158c6b607d747e93949aa60618b61312fe647a6369f88ce2ff16043490"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:554af85e960429cf30784dd47447d5125aaa3b99a6f0683589dbd27e2f45da44"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:74018750915ee7ad843a774364e13a3db91682f26142baddf775342c3f5b1133"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:c0463276121fdee9c49b98908b3a89c39be45d86d1dbaa22957e38f6321d4ce3"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:362d61fd13843997c1c446760ef36f240cf81d3ebf74ac62652aebaf7838561e"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9a26f18905b8dd5d685d6d07b0cdf98a79f3c7a918906af7cc143ea2e164c8bc"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-win32.whl", hash = "sha256:9b35f4c90079ff2e2edc5b26c0c77925e5d2d255c42c74fdb70fb49b172726ac"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-win_amd64.whl", hash = "sha256:b435cba5f4f750aa6c0a0d92c541fb79f69a387c91e61f1795227e4ed9cece14"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-win_arm64.whl", hash = "sha256:542d2cee80be6f80247095cc36c418f7bddd14f4a6de45af91dfad36d817bba2"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:da3326d9e65ef63a817ecbcc0df6e94463713b754fe293eaa03da99befb9a5bd"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8af65f14dc14a79b924524b1e7fffe304517b2bff5a58bf64f30b98bbc5079eb"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74664978bb272435107de04e36db5a9735e78232b85b77d45cfb38f758efd33e"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:752944c7ffbfdd10c074dc58ec2d5a8a4cd9493b314d367c14d24c17684ddd14"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d1f13550535ad8cff21b8d757a3257963e951d96e20ec82ab44bc64aeb62a191"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ecaae4149d99b1c9e7b88bb03e3221956f68fd6d50be2ef061b2381b61d20838"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:cb6254dc36b47a990e59e1068afacdcd02958bdcce30bb50cc1700a8b9d624a6"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c8ae8a0f02f57a6e61203a31428fa1d677cbe50c93622b4149d5c0f319c1d19e"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:47cc91b2f4dd2833fddaedd2893006b0106129d4b94fdb6af1f4ce5a9965577c"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:82004af6c302b5d3ab2cfc4cc5f29db16123b1a8417f2e25f9066f91d4411090"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:2b7d8f6c26245217bd2ad053761201e9f9680f8ce52f0fcd8d0755aeae5b2152"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:799a7a5e4fb2d5898c60b640fd4981d6a25f1c11790935a44ce38c54e985f828"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:99ae2cffebb06e6c22bdc25801d7b30f503cc87dbd283479e7b606f70aff57ec"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-win32.whl", hash = "sha256:f9d332f8c2a2fcbffe1378594431458ddbef721c1769d78e2cbc06280d8155f9"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-win_amd64.whl", hash = "sha256:8a6562c3700cce886c5be75ade4a5db4214fda19fede41d9792d100288d8f94c"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-win_arm64.whl", hash = "sha256:de00632ca48df9daf77a2c65a484531649261ec9f25489917f09e455cb09ddb2"}, - {file = "charset_normalizer-3.4.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ce8a0633f41a967713a59c4139d29110c07e826d131a316b50ce11b1d79b4f84"}, - {file = "charset_normalizer-3.4.4-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eaabd426fe94daf8fd157c32e571c85cb12e66692f15516a83a03264b08d06c3"}, - {file = "charset_normalizer-3.4.4-cp38-cp38-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c4ef880e27901b6cc782f1b95f82da9313c0eb95c3af699103088fa0ac3ce9ac"}, - {file = "charset_normalizer-3.4.4-cp38-cp38-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2aaba3b0819274cc41757a1da876f810a3e4d7b6eb25699253a4effef9e8e4af"}, - {file = "charset_normalizer-3.4.4-cp38-cp38-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:778d2e08eda00f4256d7f672ca9fef386071c9202f5e4607920b86d7803387f2"}, - {file = "charset_normalizer-3.4.4-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f155a433c2ec037d4e8df17d18922c3a0d9b3232a396690f17175d2946f0218d"}, - {file = "charset_normalizer-3.4.4-cp38-cp38-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a8bf8d0f749c5757af2142fe7903a9df1d2e8aa3841559b2bad34b08d0e2bcf3"}, - {file = "charset_normalizer-3.4.4-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:194f08cbb32dc406d6e1aea671a68be0823673db2832b38405deba2fb0d88f63"}, - {file = "charset_normalizer-3.4.4-cp38-cp38-musllinux_1_2_armv7l.whl", hash = "sha256:6aee717dcfead04c6eb1ce3bd29ac1e22663cdea57f943c87d1eab9a025438d7"}, - {file = "charset_normalizer-3.4.4-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:cd4b7ca9984e5e7985c12bc60a6f173f3c958eae74f3ef6624bb6b26e2abbae4"}, - {file = "charset_normalizer-3.4.4-cp38-cp38-musllinux_1_2_riscv64.whl", hash = "sha256:b7cf1017d601aa35e6bb650b6ad28652c9cd78ee6caff19f3c28d03e1c80acbf"}, - {file = "charset_normalizer-3.4.4-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:e912091979546adf63357d7e2ccff9b44f026c075aeaf25a52d0e95ad2281074"}, - {file = "charset_normalizer-3.4.4-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:5cb4d72eea50c8868f5288b7f7f33ed276118325c1dfd3957089f6b519e1382a"}, - {file = "charset_normalizer-3.4.4-cp38-cp38-win32.whl", hash = "sha256:837c2ce8c5a65a2035be9b3569c684358dfbf109fd3b6969630a87535495ceaa"}, - {file = "charset_normalizer-3.4.4-cp38-cp38-win_amd64.whl", hash = "sha256:44c2a8734b333e0578090c4cd6b16f275e07aa6614ca8715e6c038e865e70576"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a9768c477b9d7bd54bc0c86dbaebdec6f03306675526c9927c0e8a04e8f94af9"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1bee1e43c28aa63cb16e5c14e582580546b08e535299b8b6158a7c9c768a1f3d"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:fd44c878ea55ba351104cb93cc85e74916eb8fa440ca7903e57575e97394f608"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0f04b14ffe5fdc8c4933862d8306109a2c51e0704acfa35d51598eb45a1e89fc"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:cd09d08005f958f370f539f186d10aec3377d55b9eeb0d796025d4886119d76e"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4fe7859a4e3e8457458e2ff592f15ccb02f3da787fcd31e0183879c3ad4692a1"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fa09f53c465e532f4d3db095e0c55b615f010ad81803d383195b6b5ca6cbf5f3"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7fa17817dc5625de8a027cb8b26d9fefa3ea28c8253929b8d6649e705d2835b6"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:5947809c8a2417be3267efc979c47d76a079758166f7d43ef5ae8e9f92751f88"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:4902828217069c3c5c71094537a8e623f5d097858ac6ca8252f7b4d10b7560f1"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:7c308f7e26e4363d79df40ca5b2be1c6ba9f02bdbccfed5abddb7859a6ce72cf"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:2c9d3c380143a1fedbff95a312aa798578371eb29da42106a29019368a475318"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:cb01158d8b88ee68f15949894ccc6712278243d95f344770fa7593fa2d94410c"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-win32.whl", hash = "sha256:2677acec1a2f8ef614c6888b5b4ae4060cc184174a938ed4e8ef690e15d3e505"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-win_amd64.whl", hash = "sha256:f8e160feb2aed042cd657a72acc0b481212ed28b1b9a95c0cee1621b524e1966"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-win_arm64.whl", hash = "sha256:b5d84d37db046c5ca74ee7bb47dd6cbc13f80665fdde3e8040bdd3fb015ecb50"}, - {file = "charset_normalizer-3.4.4-py3-none-any.whl", hash = "sha256:7a32c560861a02ff789ad905a2fe94e3f840803362c84fecf1851cb4cf3dc37f"}, - {file = "charset_normalizer-3.4.4.tar.gz", hash = "sha256:94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a"}, + {file = "charset_normalizer-3.4.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4167a621a9a1a986c73777dbc15d4b5eac8ac5c10393374109a343d4013ec765"}, + {file = "charset_normalizer-3.4.5-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3f64c6bf8f32f9133b668c7f7a7cbdbc453412bc95ecdbd157f3b1e377a92990"}, + {file = "charset_normalizer-3.4.5-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:568e3c34b58422075a1b49575a6abc616d9751b4d61b23f712e12ebb78fe47b2"}, + {file = "charset_normalizer-3.4.5-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:036c079aa08a6a592b82487f97c60b439428320ed1b2ea0b3912e99d30c77765"}, + {file = "charset_normalizer-3.4.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:340810d34ef83af92148e96e3e44cb2d3f910d2bf95e5618a5c467d9f102231d"}, + {file = "charset_normalizer-3.4.5-cp310-cp310-manylinux_2_31_armv7l.whl", hash = "sha256:cd2d0f0ec9aa977a27731a3209ebbcacebebaf41f902bd453a928bfd281cf7f8"}, + {file = "charset_normalizer-3.4.5-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0b362bcd27819f9c07cbf23db4e0e8cd4b44c5ecd900c2ff907b2b92274a7412"}, + {file = "charset_normalizer-3.4.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:77be992288f720306ab4108fe5c74797de327f3248368dfc7e1a916d6ed9e5a2"}, + {file = "charset_normalizer-3.4.5-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:8b78d8a609a4b82c273257ee9d631ded7fac0d875bdcdccc109f3ee8328cfcb1"}, + {file = "charset_normalizer-3.4.5-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:ba20bdf69bd127f66d0174d6f2a93e69045e0b4036dc1ca78e091bcc765830c4"}, + {file = "charset_normalizer-3.4.5-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:76a9d0de4d0eab387822e7b35d8f89367dd237c72e82ab42b9f7bf5e15ada00f"}, + {file = "charset_normalizer-3.4.5-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8fff79bf5978c693c9b1a4d71e4a94fddfb5fe744eb062a318e15f4a2f63a550"}, + {file = "charset_normalizer-3.4.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c7e84e0c0005e3bdc1a9211cd4e62c78ba80bc37b2365ef4410cd2007a9047f2"}, + {file = "charset_normalizer-3.4.5-cp310-cp310-win32.whl", hash = "sha256:58ad8270cfa5d4bef1bc85bd387217e14ff154d6630e976c6f56f9a040757475"}, + {file = "charset_normalizer-3.4.5-cp310-cp310-win_amd64.whl", hash = "sha256:02a9d1b01c1e12c27883b0c9349e0bcd9ae92e727ff1a277207e1a262b1cbf05"}, + {file = "charset_normalizer-3.4.5-cp310-cp310-win_arm64.whl", hash = "sha256:039215608ac7b358c4da0191d10fc76868567fbf276d54c14721bdedeb6de064"}, + {file = "charset_normalizer-3.4.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:610f72c0ee565dfb8ae1241b666119582fdbfe7c0975c175be719f940e110694"}, + {file = "charset_normalizer-3.4.5-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:60d68e820af339df4ae8358c7a2e7596badeb61e544438e489035f9fbf3246a5"}, + {file = "charset_normalizer-3.4.5-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:10b473fc8dca1c3ad8559985794815f06ca3fc71942c969129070f2c3cdf7281"}, + {file = "charset_normalizer-3.4.5-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d4eb8ac7469b2a5d64b5b8c04f84d8bf3ad340f4514b98523805cbf46e3b3923"}, + {file = "charset_normalizer-3.4.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5bcb3227c3d9aaf73eaaab1db7ccd80a8995c509ee9941e2aae060ca6e4e5d81"}, + {file = "charset_normalizer-3.4.5-cp311-cp311-manylinux_2_31_armv7l.whl", hash = "sha256:75ee9c1cce2911581a70a3c0919d8bccf5b1cbc9b0e5171400ec736b4b569497"}, + {file = "charset_normalizer-3.4.5-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1d1401945cb77787dbd3af2446ff2d75912327c4c3a1526ab7955ecf8600687c"}, + {file = "charset_normalizer-3.4.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0a45e504f5e1be0bd385935a8e1507c442349ca36f511a47057a71c9d1d6ea9e"}, + {file = "charset_normalizer-3.4.5-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:e09f671a54ce70b79a1fc1dc6da3072b7ef7251fadb894ed92d9aa8218465a5f"}, + {file = "charset_normalizer-3.4.5-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:d01de5e768328646e6a3fa9e562706f8f6641708c115c62588aef2b941a4f88e"}, + {file = "charset_normalizer-3.4.5-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:131716d6786ad5e3dc542f5cc6f397ba3339dc0fb87f87ac30e550e8987756af"}, + {file = "charset_normalizer-3.4.5-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:1a374cc0b88aa710e8865dc1bd6edb3743c59f27830f0293ab101e4cf3ce9f85"}, + {file = "charset_normalizer-3.4.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d31f0d1671e1534e395f9eb84a68e0fb670e1edb1fe819a9d7f564ae3bc4e53f"}, + {file = "charset_normalizer-3.4.5-cp311-cp311-win32.whl", hash = "sha256:cace89841c0599d736d3d74a27bc5821288bb47c5441923277afc6059d7fbcb4"}, + {file = "charset_normalizer-3.4.5-cp311-cp311-win_amd64.whl", hash = "sha256:f8102ae93c0bc863b1d41ea0f4499c20a83229f52ed870850892df555187154a"}, + {file = "charset_normalizer-3.4.5-cp311-cp311-win_arm64.whl", hash = "sha256:ed98364e1c262cf5f9363c3eca8c2df37024f52a8fa1180a3610014f26eac51c"}, + {file = "charset_normalizer-3.4.5-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ed97c282ee4f994ef814042423a529df9497e3c666dca19be1d4cd1129dc7ade"}, + {file = "charset_normalizer-3.4.5-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0294916d6ccf2d069727d65973c3a1ca477d68708db25fd758dd28b0827cff54"}, + {file = "charset_normalizer-3.4.5-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:dc57a0baa3eeedd99fafaef7511b5a6ef4581494e8168ee086031744e2679467"}, + {file = "charset_normalizer-3.4.5-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ed1a9a204f317ef879b32f9af507d47e49cd5e7f8e8d5d96358c98373314fc60"}, + {file = "charset_normalizer-3.4.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7ad83b8f9379176c841f8865884f3514d905bcd2a9a3b210eaa446e7d2223e4d"}, + {file = "charset_normalizer-3.4.5-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:a118e2e0b5ae6b0120d5efa5f866e58f2bb826067a646431da4d6a2bdae7950e"}, + {file = "charset_normalizer-3.4.5-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:754f96058e61a5e22e91483f823e07df16416ce76afa4ebf306f8e1d1296d43f"}, + {file = "charset_normalizer-3.4.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0c300cefd9b0970381a46394902cd18eaf2aa00163f999590ace991989dcd0fc"}, + {file = "charset_normalizer-3.4.5-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:c108f8619e504140569ee7de3f97d234f0fbae338a7f9f360455071ef9855a95"}, + {file = "charset_normalizer-3.4.5-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:d1028de43596a315e2720a9849ee79007ab742c06ad8b45a50db8cdb7ed4a82a"}, + {file = "charset_normalizer-3.4.5-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:19092dde50335accf365cce21998a1c6dd8eafd42c7b226eb54b2747cdce2fac"}, + {file = "charset_normalizer-3.4.5-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:4354e401eb6dab9aed3c7b4030514328a6c748d05e1c3e19175008ca7de84fb1"}, + {file = "charset_normalizer-3.4.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a68766a3c58fde7f9aaa22b3786276f62ab2f594efb02d0a1421b6282e852e98"}, + {file = "charset_normalizer-3.4.5-cp312-cp312-win32.whl", hash = "sha256:1827734a5b308b65ac54e86a618de66f935a4f63a8a462ff1e19a6788d6c2262"}, + {file = "charset_normalizer-3.4.5-cp312-cp312-win_amd64.whl", hash = "sha256:728c6a963dfab66ef865f49286e45239384249672cd598576765acc2a640a636"}, + {file = "charset_normalizer-3.4.5-cp312-cp312-win_arm64.whl", hash = "sha256:75dfd1afe0b1647449e852f4fb428195a7ed0588947218f7ba929f6538487f02"}, + {file = "charset_normalizer-3.4.5-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ac59c15e3f1465f722607800c68713f9fbc2f672b9eb649fe831da4019ae9b23"}, + {file = "charset_normalizer-3.4.5-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:165c7b21d19365464e8f70e5ce5e12524c58b48c78c1f5a57524603c1ab003f8"}, + {file = "charset_normalizer-3.4.5-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:28269983f25a4da0425743d0d257a2d6921ea7d9b83599d4039486ec5b9f911d"}, + {file = "charset_normalizer-3.4.5-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d27ce22ec453564770d29d03a9506d449efbb9fa13c00842262b2f6801c48cce"}, + {file = "charset_normalizer-3.4.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0625665e4ebdddb553ab185de5db7054393af8879fb0c87bd5690d14379d6819"}, + {file = "charset_normalizer-3.4.5-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:c23eb3263356d94858655b3e63f85ac5d50970c6e8febcdde7830209139cc37d"}, + {file = "charset_normalizer-3.4.5-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e6302ca4ae283deb0af68d2fbf467474b8b6aedcd3dab4db187e07f94c109763"}, + {file = "charset_normalizer-3.4.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e51ae7d81c825761d941962450f50d041db028b7278e7b08930b4541b3e45cb9"}, + {file = "charset_normalizer-3.4.5-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:597d10dec876923e5c59e48dbd366e852eacb2b806029491d307daea6b917d7c"}, + {file = "charset_normalizer-3.4.5-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:5cffde4032a197bd3b42fd0b9509ec60fb70918d6970e4cc773f20fc9180ca67"}, + {file = "charset_normalizer-3.4.5-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:2da4eedcb6338e2321e831a0165759c0c620e37f8cd044a263ff67493be8ffb3"}, + {file = "charset_normalizer-3.4.5-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:65a126fb4b070d05340a84fc709dd9e7c75d9b063b610ece8a60197a291d0adf"}, + {file = "charset_normalizer-3.4.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c7a80a9242963416bd81f99349d5f3fce1843c303bd404f204918b6d75a75fd6"}, + {file = "charset_normalizer-3.4.5-cp313-cp313-win32.whl", hash = "sha256:f1d725b754e967e648046f00c4facc42d414840f5ccc670c5670f59f83693e4f"}, + {file = "charset_normalizer-3.4.5-cp313-cp313-win_amd64.whl", hash = "sha256:e37bd100d2c5d3ba35db9c7c5ba5a9228cbcffe5c4778dc824b164e5257813d7"}, + {file = "charset_normalizer-3.4.5-cp313-cp313-win_arm64.whl", hash = "sha256:93b3b2cc5cf1b8743660ce77a4f45f3f6d1172068207c1defc779a36eea6bb36"}, + {file = "charset_normalizer-3.4.5-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:8197abe5ca1ffb7d91e78360f915eef5addff270f8a71c1fc5be24a56f3e4873"}, + {file = "charset_normalizer-3.4.5-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a2aecdb364b8a1802afdc7f9327d55dad5366bc97d8502d0f5854e50712dbc5f"}, + {file = "charset_normalizer-3.4.5-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a66aa5022bf81ab4b1bebfb009db4fd68e0c6d4307a1ce5ef6a26e5878dfc9e4"}, + {file = "charset_normalizer-3.4.5-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d77f97e515688bd615c1d1f795d540f32542d514242067adcb8ef532504cb9ee"}, + {file = "charset_normalizer-3.4.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:01a1ed54b953303ca7e310fafe0fe347aab348bd81834a0bcd602eb538f89d66"}, + {file = "charset_normalizer-3.4.5-cp314-cp314-manylinux_2_31_armv7l.whl", hash = "sha256:b2d37d78297b39a9eb9eb92c0f6df98c706467282055419df141389b23f93362"}, + {file = "charset_normalizer-3.4.5-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e71bbb595973622b817c042bd943c3f3667e9c9983ce3d205f973f486fec98a7"}, + {file = "charset_normalizer-3.4.5-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:4cd966c2559f501c6fd69294d082c2934c8dd4719deb32c22961a5ac6db0df1d"}, + {file = "charset_normalizer-3.4.5-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:d5e52d127045d6ae01a1e821acfad2f3a1866c54d0e837828538fabe8d9d1bd6"}, + {file = "charset_normalizer-3.4.5-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:30a2b1a48478c3428d047ed9690d57c23038dac838a87ad624c85c0a78ebeb39"}, + {file = "charset_normalizer-3.4.5-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:d8ed79b8f6372ca4254955005830fd61c1ccdd8c0fac6603e2c145c61dd95db6"}, + {file = "charset_normalizer-3.4.5-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:c5af897b45fa606b12464ccbe0014bbf8c09191e0a66aab6aa9d5cf6e77e0c94"}, + {file = "charset_normalizer-3.4.5-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:1088345bcc93c58d8d8f3d783eca4a6e7a7752bbff26c3eee7e73c597c191c2e"}, + {file = "charset_normalizer-3.4.5-cp314-cp314-win32.whl", hash = "sha256:ee57b926940ba00bca7ba7041e665cc956e55ef482f851b9b65acb20d867e7a2"}, + {file = "charset_normalizer-3.4.5-cp314-cp314-win_amd64.whl", hash = "sha256:4481e6da1830c8a1cc0b746b47f603b653dadb690bcd851d039ffaefe70533aa"}, + {file = "charset_normalizer-3.4.5-cp314-cp314-win_arm64.whl", hash = "sha256:97ab7787092eb9b50fb47fa04f24c75b768a606af1bcba1957f07f128a7219e4"}, + {file = "charset_normalizer-3.4.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e22d1059b951e7ae7c20ef6b06afd10fb95e3c41bf3c4fbc874dba113321c193"}, + {file = "charset_normalizer-3.4.5-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:afca7f78067dd27c2b848f1b234623d26b87529296c6c5652168cc1954f2f3b2"}, + {file = "charset_normalizer-3.4.5-cp38-cp38-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ec56a2266f32bc06ed3c3e2a8f58417ce02f7e0356edc89786e52db13c593c98"}, + {file = "charset_normalizer-3.4.5-cp38-cp38-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2b970382e4a36bed897c19f310f31d7d13489c11b4f468ddfba42d41cddfb918"}, + {file = "charset_normalizer-3.4.5-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:573ef5814c4b7c0d59a7710aa920eaaaef383bd71626aa420fba27b5cab92e8d"}, + {file = "charset_normalizer-3.4.5-cp38-cp38-manylinux_2_31_armv7l.whl", hash = "sha256:50bcbca6603c06a1dcc7b056ed45c37715fb5d2768feb3bcd37d2313c587a5b9"}, + {file = "charset_normalizer-3.4.5-cp38-cp38-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1f2da5cbb9becfcd607757a169e38fb82aa5fd86fae6653dea716e7b613fe2cf"}, + {file = "charset_normalizer-3.4.5-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:fc1c64934b8faf7584924143eb9db4770bbdb16659626e1a1a4d9efbcb68d947"}, + {file = "charset_normalizer-3.4.5-cp38-cp38-musllinux_1_2_armv7l.whl", hash = "sha256:ae8b03427410731469c4033934cf473426faff3e04b69d2dfb64a4281a3719f8"}, + {file = "charset_normalizer-3.4.5-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:b3e71afc578b98512bfe7bdb822dd6bc57d4b0093b4b6e5487c1e96ad4ace242"}, + {file = "charset_normalizer-3.4.5-cp38-cp38-musllinux_1_2_riscv64.whl", hash = "sha256:4b8551b6e6531e156db71193771c93bda78ffc4d1e6372517fe58ad3b91e4659"}, + {file = "charset_normalizer-3.4.5-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:65b3c403a5b6b8034b655e7385de4f72b7b244869a22b32d4030b99a60593eca"}, + {file = "charset_normalizer-3.4.5-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:8ce11cd4d62d11166f2b441e30ace226c19a3899a7cf0796f668fba49a9fb123"}, + {file = "charset_normalizer-3.4.5-cp38-cp38-win32.whl", hash = "sha256:66dee73039277eb35380d1b82cccc69cc82b13a66f9f4a18da32d573acf02b7c"}, + {file = "charset_normalizer-3.4.5-cp38-cp38-win_amd64.whl", hash = "sha256:d29dd9c016f2078b43d0c357511e87eee5b05108f3dd603423cb389b89813969"}, + {file = "charset_normalizer-3.4.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:259cd1ca995ad525f638e131dbcc2353a586564c038fc548a3fe450a91882139"}, + {file = "charset_normalizer-3.4.5-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8a28afb04baa55abf26df544e3e5c6534245d3daa5178bc4a8eeb48202060d0e"}, + {file = "charset_normalizer-3.4.5-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ff95a9283de8a457e6b12989de3f9f5193430f375d64297d323a615ea52cbdb3"}, + {file = "charset_normalizer-3.4.5-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:708c7acde173eedd4bfa4028484426ba689d2103b28588c513b9db2cd5ecde9c"}, + {file = "charset_normalizer-3.4.5-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:aa92ec1102eaff840ccd1021478af176a831f1bccb08e526ce844b7ddda85c22"}, + {file = "charset_normalizer-3.4.5-cp39-cp39-manylinux_2_31_armv7l.whl", hash = "sha256:5fea359734b140d0d6741189fea5478c6091b54ffc69d7ce119e0a05637d8c99"}, + {file = "charset_normalizer-3.4.5-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e545b51da9f9af5c67815ca0eb40676c0f016d0b0381c86f20451e35696c5f95"}, + {file = "charset_normalizer-3.4.5-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:30987f4a8ed169983f93e1be8ffeea5214a779e27ed0b059835c7afe96550ad7"}, + {file = "charset_normalizer-3.4.5-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:149ec69866c3d6c2fb6f758dbc014ecb09f30b35a5ca90b6a8a2d4e54e18fdfe"}, + {file = "charset_normalizer-3.4.5-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:530beedcec9b6e027e7a4b6ce26eed36678aa39e17da85e6e03d7bd9e8e9d7c9"}, + {file = "charset_normalizer-3.4.5-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:14498a429321de554b140013142abe7608f9d8ccc04d7baf2ad60498374aefa2"}, + {file = "charset_normalizer-3.4.5-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:2820a98460c83663dd8ec015d9ddfd1e4879f12e06bb7d0500f044fb477d2770"}, + {file = "charset_normalizer-3.4.5-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:aa2f963b4da26daf46231d9b9e0e2c9408a751f8f0d0f44d2de56d3caf51d294"}, + {file = "charset_normalizer-3.4.5-cp39-cp39-win32.whl", hash = "sha256:82cc7c2ad42faec8b574351f8bc2a0c049043893853317bd9bb309f5aba6cb5a"}, + {file = "charset_normalizer-3.4.5-cp39-cp39-win_amd64.whl", hash = "sha256:92263f7eca2f4af326cd20de8d16728d2602f7cfea02e790dcde9d83c365d7cc"}, + {file = "charset_normalizer-3.4.5-cp39-cp39-win_arm64.whl", hash = "sha256:014837af6fabf57121b6254fa8ade10dceabc3528b27b721a64bbc7b8b1d4eb4"}, + {file = "charset_normalizer-3.4.5-py3-none-any.whl", hash = "sha256:9db5e3fcdcee89a78c04dffb3fe33c79f77bd741a624946db2591c81b2fc85b0"}, + {file = "charset_normalizer-3.4.5.tar.gz", hash = "sha256:95adae7b6c42a6c5b5b559b1a99149f090a57128155daeea91732c8d970d8644"}, ] [[package]] diff --git a/pyproject.toml b/pyproject.toml index 9192ab98..56852ff4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ dynamic = ["version"] [tool.poetry] name = "elevenlabs" -version = "v2.38.1" +version = "v2.39.0" description = "" readme = "README.md" authors = [] diff --git a/reference.md b/reference.md index a9ee7e53..3685e26e 100644 --- a/reference.md +++ b/reference.md @@ -5200,6 +5200,22 @@ client.audio_native.update_content_from_url(
+**author:** `typing.Optional[str]` — Author used in the player and inserted at the start of the uploaded article. If not provided, the default author set in the Player settings is used. + +
+
+ +
+
+ +**title:** `typing.Optional[str]` — Title used in the player and inserted at the top of the uploaded article. If not provided, the default title set in the Player settings is used. + +
+
+ +
+
+ **request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -6456,6 +6472,14 @@ typing.Optional[core.File]` — See core.File for more documentation
+**no_verbatim:** `typing.Optional[bool]` — If true, the transcription will not have any filler words, false starts and non-speech sounds. Only supported with scribe_v2 model. + +
+
+ +
+
+ **keyterms:** `typing.Optional[typing.List[str]]` — A list of keyterms to bias the transcription towards. The keyterms are words or phrases you want the model to recognise more accurately. The number of keyterms cannot exceed 100. The length of each keyterm must be less than 50 characters. Keyterms can contain at most 5 words (after normalisation). For example ["hello", "world", "technical term"]. Usage of this parameter will incur additional costs.
@@ -7116,6 +7140,14 @@ client.music.compose_detailed()
+**respect_sections_durations:** `typing.Optional[bool]` — Controls how strictly section durations in the `composition_plan` are enforced. Only used with `composition_plan`. When set to true, the model will precisely respect each section's `duration_ms` from the plan. When set to false, the model may adjust individual section durations which will generally lead to better generation quality and improved latency, while always preserving the total song duration from the plan. + +
+
+ +
+
+ **store_for_inpainting:** `typing.Optional[bool]` — Whether to store the generated song for inpainting. Only available to enterprise clients with access to the inpainting feature.
@@ -8478,14 +8510,6 @@ client.conversational_ai.agents.create(
-**coaching_settings:** `typing.Optional[BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings]` - -
-
- -
-
- **request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -8772,16 +8796,6 @@ client.conversational_ai.agents.update(
-**coaching_settings:** `typing.Optional[ - BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings -]` - -
-
- -
-
- **version_description:** `typing.Optional[str]` — Description for this version when publishing changes (only applicable for versioned agents)
@@ -9837,10 +9851,12 @@ client = ElevenLabs( ) client.conversational_ai.users.list( agent_id="agent_id", + branch_id="branch_id", call_start_before_unix=1, call_start_after_unix=1, search="search", page_size=1, + sort_by="last_contact_unix_secs", cursor="cursor", ) @@ -9866,6 +9882,14 @@ client.conversational_ai.users.list(
+**branch_id:** `typing.Optional[str]` — Filter conversations by branch ID. + +
+
+ +
+
+ **call_start_before_unix:** `typing.Optional[int]` — Unix timestamp (in seconds) to filter conversations up to this start date.
@@ -9898,6 +9922,14 @@ client.conversational_ai.users.list(
+**sort_by:** `typing.Optional[UsersSortBy]` — The field to sort the results by. Defaults to last_contact_unix_secs. + +
+
+ +
+
+ **cursor:** `typing.Optional[str]` — Used for fetching next page. Cursor is returned in the response.
@@ -11804,6 +11836,14 @@ client.conversational_ai.batch_calls.create(
+**target_concurrency_limit:** `typing.Optional[int]` — Maximum number of simultaneous calls for this batch. When set, dispatch is governed by this limit rather than workspace/agent capacity percentages. + +
+
+ +
+
+ **request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -12924,6 +12964,14 @@ client.conversational_ai.whatsapp_accounts.update(
+**enable_audio_message_response:** `typing.Optional[bool]` + +
+
+ +
+
+ **request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -23729,6 +23777,66 @@ client.voices.samples.audio.get( ## Workspace Groups +
client.workspace.groups.list() +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Get all groups in the workspace +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from elevenlabs import ElevenLabs + +client = ElevenLabs( + api_key="YOUR_API_KEY", +) +client.workspace.groups.list() + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+
+
+ + +
+
+
+
client.workspace.groups.search(...)
@@ -23952,6 +24060,14 @@ client.workspace.invites.create_batch(
+**seat_type:** `typing.Optional[SeatType]` — The seat type of the user + +
+
+ +
+
+ **group_ids:** `typing.Optional[typing.Sequence[str]]` — The group ids of the user
diff --git a/src/elevenlabs/__init__.py b/src/elevenlabs/__init__.py index a7e52b42..6c7caecc 100644 --- a/src/elevenlabs/__init__.py +++ b/src/elevenlabs/__init__.py @@ -45,6 +45,7 @@ AgentMetadataResponseModel, AgentPlatformSettingsRequestModel, AgentPlatformSettingsResponseModel, + AgentPromptChangeToolConfig, AgentSimulatedChatTestResponseModel, AgentSortBy, AgentSuccessfulResponseExample, @@ -593,6 +594,7 @@ CharacterRefreshPeriod, CharacterUsageResponse, ChatSourceMedium, + CheckRentalAvailabilityParams, CheckServiceAvailabilityParams, ClientEvent, ClientToolConfigInput, @@ -753,6 +755,7 @@ CreatePreviouslyGeneratedVoiceRequest, CreateProductParams, CreatePronunciationDictionaryResponseModel, + CreateRentalBookingParams, CreateResponseUnitTestRequest, CreateResponseUnitTestRequestDynamicVariablesValue, CreateServiceParams, @@ -882,10 +885,6 @@ GetAgentKnowledgebaseSizeResponseModel, GetAgentLinkResponseModel, GetAgentResponseModel, - GetAgentResponseModelCoachingSettings, - GetAgentResponseModelCoachingSettings_Coached, - GetAgentResponseModelCoachingSettings_Coaching, - GetAgentResponseModelCoachingSettings_None, GetAgentResponseModelPhoneNumbersItem, GetAgentResponseModelPhoneNumbersItem_SipTrunk, GetAgentResponseModelPhoneNumbersItem_Twilio, @@ -1025,6 +1024,7 @@ ListClientsParams, ListMcpToolsResponseModel, ListProductsParams, + ListRentalServicesParams, ListResponseAgentBranchSummary, ListResponseMeta, ListServicesParams, @@ -1079,6 +1079,10 @@ McpToolConfigOverrideInputOverridesValue_Constant, McpToolConfigOverrideInputOverridesValue_DynamicVariable, McpToolConfigOverrideInputOverridesValue_Llm, + MemoryEntryCreateToolConfig, + MemoryEntryDeleteToolConfig, + MemoryEntrySearchToolConfig, + MemoryEntryUpdateToolConfig, MergingStrategy, MessagesSearchResponse, MessagesSearchResult, @@ -1318,8 +1322,6 @@ ScribeTranscriberErrorPayload, ScribeUnacceptedTermsErrorPayload, SearchClientsParams, - SearchDocumentationToolConfigInput, - SearchDocumentationToolConfigOutput, SeatType, SecretDependencyType, SectionSource, @@ -1391,6 +1393,8 @@ StudioAgentToolSettingsModel, StudioClipReference, StudioClipReferenceClipType, + StudioTextStyleOutlineModel, + StudioTextStyleShadowModel, Subscription, SubscriptionResponse, SubscriptionResponseModelCurrency, @@ -1399,20 +1403,28 @@ SupportedVoice, SystemToolConfigInput, SystemToolConfigInputParams, + SystemToolConfigInputParams_AgentPromptChange, SystemToolConfigInputParams_EndCall, SystemToolConfigInputParams_LanguageDetection, + SystemToolConfigInputParams_MemoryEntryCreate, + SystemToolConfigInputParams_MemoryEntryDelete, + SystemToolConfigInputParams_MemoryEntrySearch, + SystemToolConfigInputParams_MemoryEntryUpdate, SystemToolConfigInputParams_PlayKeypadTouchTone, - SystemToolConfigInputParams_SearchDocumentation, SystemToolConfigInputParams_SkipTurn, SystemToolConfigInputParams_TransferToAgent, SystemToolConfigInputParams_TransferToNumber, SystemToolConfigInputParams_VoicemailDetection, SystemToolConfigOutput, SystemToolConfigOutputParams, + SystemToolConfigOutputParams_AgentPromptChange, SystemToolConfigOutputParams_EndCall, SystemToolConfigOutputParams_LanguageDetection, + SystemToolConfigOutputParams_MemoryEntryCreate, + SystemToolConfigOutputParams_MemoryEntryDelete, + SystemToolConfigOutputParams_MemoryEntrySearch, + SystemToolConfigOutputParams_MemoryEntryUpdate, SystemToolConfigOutputParams_PlayKeypadTouchTone, - SystemToolConfigOutputParams_SearchDocumentation, SystemToolConfigOutputParams_SkipTurn, SystemToolConfigOutputParams_TransferToAgent, SystemToolConfigOutputParams_TransferToNumber, @@ -1541,6 +1553,7 @@ User, UserFeedback, UserFeedbackScore, + UsersSortBy, UtteranceResponseModel, VadConfig, VadConfigWorkflowOverride, @@ -1549,6 +1562,14 @@ VerificationAttemptResponse, VerifiedVoiceLanguageResponseModel, VerifyPvcVoiceCaptchaResponseModel, + VideoAnalysis, + VideoAnalysisResult, + VideoAnalysisStatus, + VideoKeyMoment, + VideoSegment, + VideoSubject, + VideoTranscription, + VideoTranscriptionWord, Voice, VoiceCategory, VoiceDesignPreviewResponse, @@ -1912,6 +1933,7 @@ "AgentMetadataResponseModel": ".types", "AgentPlatformSettingsRequestModel": ".types", "AgentPlatformSettingsResponseModel": ".types", + "AgentPromptChangeToolConfig": ".types", "AgentSimulatedChatTestResponseModel": ".types", "AgentSortBy": ".types", "AgentSuccessfulResponseExample": ".types", @@ -2488,6 +2510,7 @@ "CharacterRefreshPeriod": ".types", "CharacterUsageResponse": ".types", "ChatSourceMedium": ".types", + "CheckRentalAvailabilityParams": ".types", "CheckServiceAvailabilityParams": ".types", "ClientEvent": ".types", "ClientToolConfigInput": ".types", @@ -2650,6 +2673,7 @@ "CreatePreviouslyGeneratedVoiceRequest": ".types", "CreateProductParams": ".types", "CreatePronunciationDictionaryResponseModel": ".types", + "CreateRentalBookingParams": ".types", "CreateResponseUnitTestRequest": ".types", "CreateResponseUnitTestRequestDynamicVariablesValue": ".types", "CreateServiceParams": ".types", @@ -2786,10 +2810,6 @@ "GetAgentKnowledgebaseSizeResponseModel": ".types", "GetAgentLinkResponseModel": ".types", "GetAgentResponseModel": ".types", - "GetAgentResponseModelCoachingSettings": ".types", - "GetAgentResponseModelCoachingSettings_Coached": ".types", - "GetAgentResponseModelCoachingSettings_Coaching": ".types", - "GetAgentResponseModelCoachingSettings_None": ".types", "GetAgentResponseModelPhoneNumbersItem": ".types", "GetAgentResponseModelPhoneNumbersItem_SipTrunk": ".types", "GetAgentResponseModelPhoneNumbersItem_Twilio": ".types", @@ -2931,6 +2951,7 @@ "ListClientsParams": ".types", "ListMcpToolsResponseModel": ".types", "ListProductsParams": ".types", + "ListRentalServicesParams": ".types", "ListResponseAgentBranchSummary": ".types", "ListResponseMeta": ".types", "ListServicesParams": ".types", @@ -2985,6 +3006,10 @@ "McpToolConfigOverrideInputOverridesValue_Constant": ".types", "McpToolConfigOverrideInputOverridesValue_DynamicVariable": ".types", "McpToolConfigOverrideInputOverridesValue_Llm": ".types", + "MemoryEntryCreateToolConfig": ".types", + "MemoryEntryDeleteToolConfig": ".types", + "MemoryEntrySearchToolConfig": ".types", + "MemoryEntryUpdateToolConfig": ".types", "MergingStrategy": ".types", "MessagesSearchResponse": ".types", "MessagesSearchResult": ".types", @@ -3235,8 +3260,6 @@ "ScribeTranscriberErrorPayload": ".types", "ScribeUnacceptedTermsErrorPayload": ".types", "SearchClientsParams": ".types", - "SearchDocumentationToolConfigInput": ".types", - "SearchDocumentationToolConfigOutput": ".types", "SeatType": ".types", "SecretDependencyType": ".types", "SectionSource": ".types", @@ -3320,6 +3343,8 @@ "StudioAgentToolSettingsModel": ".types", "StudioClipReference": ".types", "StudioClipReferenceClipType": ".types", + "StudioTextStyleOutlineModel": ".types", + "StudioTextStyleShadowModel": ".types", "Subscription": ".types", "SubscriptionResponse": ".types", "SubscriptionResponseModelCurrency": ".types", @@ -3328,20 +3353,28 @@ "SupportedVoice": ".types", "SystemToolConfigInput": ".types", "SystemToolConfigInputParams": ".types", + "SystemToolConfigInputParams_AgentPromptChange": ".types", "SystemToolConfigInputParams_EndCall": ".types", "SystemToolConfigInputParams_LanguageDetection": ".types", + "SystemToolConfigInputParams_MemoryEntryCreate": ".types", + "SystemToolConfigInputParams_MemoryEntryDelete": ".types", + "SystemToolConfigInputParams_MemoryEntrySearch": ".types", + "SystemToolConfigInputParams_MemoryEntryUpdate": ".types", "SystemToolConfigInputParams_PlayKeypadTouchTone": ".types", - "SystemToolConfigInputParams_SearchDocumentation": ".types", "SystemToolConfigInputParams_SkipTurn": ".types", "SystemToolConfigInputParams_TransferToAgent": ".types", "SystemToolConfigInputParams_TransferToNumber": ".types", "SystemToolConfigInputParams_VoicemailDetection": ".types", "SystemToolConfigOutput": ".types", "SystemToolConfigOutputParams": ".types", + "SystemToolConfigOutputParams_AgentPromptChange": ".types", "SystemToolConfigOutputParams_EndCall": ".types", "SystemToolConfigOutputParams_LanguageDetection": ".types", + "SystemToolConfigOutputParams_MemoryEntryCreate": ".types", + "SystemToolConfigOutputParams_MemoryEntryDelete": ".types", + "SystemToolConfigOutputParams_MemoryEntrySearch": ".types", + "SystemToolConfigOutputParams_MemoryEntryUpdate": ".types", "SystemToolConfigOutputParams_PlayKeypadTouchTone": ".types", - "SystemToolConfigOutputParams_SearchDocumentation": ".types", "SystemToolConfigOutputParams_SkipTurn": ".types", "SystemToolConfigOutputParams_TransferToAgent": ".types", "SystemToolConfigOutputParams_TransferToNumber": ".types", @@ -3480,6 +3513,7 @@ "User": ".types", "UserFeedback": ".types", "UserFeedbackScore": ".types", + "UsersSortBy": ".types", "UtteranceResponseModel": ".types", "VadConfig": ".types", "VadConfigWorkflowOverride": ".types", @@ -3488,6 +3522,14 @@ "VerificationAttemptResponse": ".types", "VerifiedVoiceLanguageResponseModel": ".types", "VerifyPvcVoiceCaptchaResponseModel": ".types", + "VideoAnalysis": ".types", + "VideoAnalysisResult": ".types", + "VideoAnalysisStatus": ".types", + "VideoKeyMoment": ".types", + "VideoSegment": ".types", + "VideoSubject": ".types", + "VideoTranscription": ".types", + "VideoTranscriptionWord": ".types", "Voice": ".types", "VoiceCategory": ".types", "VoiceDesignPreviewResponse": ".types", @@ -3791,6 +3833,7 @@ def __dir__(): "AgentMetadataResponseModel", "AgentPlatformSettingsRequestModel", "AgentPlatformSettingsResponseModel", + "AgentPromptChangeToolConfig", "AgentSimulatedChatTestResponseModel", "AgentSortBy", "AgentSuccessfulResponseExample", @@ -4367,6 +4410,7 @@ def __dir__(): "CharacterRefreshPeriod", "CharacterUsageResponse", "ChatSourceMedium", + "CheckRentalAvailabilityParams", "CheckServiceAvailabilityParams", "ClientEvent", "ClientToolConfigInput", @@ -4529,6 +4573,7 @@ def __dir__(): "CreatePreviouslyGeneratedVoiceRequest", "CreateProductParams", "CreatePronunciationDictionaryResponseModel", + "CreateRentalBookingParams", "CreateResponseUnitTestRequest", "CreateResponseUnitTestRequestDynamicVariablesValue", "CreateServiceParams", @@ -4665,10 +4710,6 @@ def __dir__(): "GetAgentKnowledgebaseSizeResponseModel", "GetAgentLinkResponseModel", "GetAgentResponseModel", - "GetAgentResponseModelCoachingSettings", - "GetAgentResponseModelCoachingSettings_Coached", - "GetAgentResponseModelCoachingSettings_Coaching", - "GetAgentResponseModelCoachingSettings_None", "GetAgentResponseModelPhoneNumbersItem", "GetAgentResponseModelPhoneNumbersItem_SipTrunk", "GetAgentResponseModelPhoneNumbersItem_Twilio", @@ -4810,6 +4851,7 @@ def __dir__(): "ListClientsParams", "ListMcpToolsResponseModel", "ListProductsParams", + "ListRentalServicesParams", "ListResponseAgentBranchSummary", "ListResponseMeta", "ListServicesParams", @@ -4864,6 +4906,10 @@ def __dir__(): "McpToolConfigOverrideInputOverridesValue_Constant", "McpToolConfigOverrideInputOverridesValue_DynamicVariable", "McpToolConfigOverrideInputOverridesValue_Llm", + "MemoryEntryCreateToolConfig", + "MemoryEntryDeleteToolConfig", + "MemoryEntrySearchToolConfig", + "MemoryEntryUpdateToolConfig", "MergingStrategy", "MessagesSearchResponse", "MessagesSearchResult", @@ -5114,8 +5160,6 @@ def __dir__(): "ScribeTranscriberErrorPayload", "ScribeUnacceptedTermsErrorPayload", "SearchClientsParams", - "SearchDocumentationToolConfigInput", - "SearchDocumentationToolConfigOutput", "SeatType", "SecretDependencyType", "SectionSource", @@ -5199,6 +5243,8 @@ def __dir__(): "StudioAgentToolSettingsModel", "StudioClipReference", "StudioClipReferenceClipType", + "StudioTextStyleOutlineModel", + "StudioTextStyleShadowModel", "Subscription", "SubscriptionResponse", "SubscriptionResponseModelCurrency", @@ -5207,20 +5253,28 @@ def __dir__(): "SupportedVoice", "SystemToolConfigInput", "SystemToolConfigInputParams", + "SystemToolConfigInputParams_AgentPromptChange", "SystemToolConfigInputParams_EndCall", "SystemToolConfigInputParams_LanguageDetection", + "SystemToolConfigInputParams_MemoryEntryCreate", + "SystemToolConfigInputParams_MemoryEntryDelete", + "SystemToolConfigInputParams_MemoryEntrySearch", + "SystemToolConfigInputParams_MemoryEntryUpdate", "SystemToolConfigInputParams_PlayKeypadTouchTone", - "SystemToolConfigInputParams_SearchDocumentation", "SystemToolConfigInputParams_SkipTurn", "SystemToolConfigInputParams_TransferToAgent", "SystemToolConfigInputParams_TransferToNumber", "SystemToolConfigInputParams_VoicemailDetection", "SystemToolConfigOutput", "SystemToolConfigOutputParams", + "SystemToolConfigOutputParams_AgentPromptChange", "SystemToolConfigOutputParams_EndCall", "SystemToolConfigOutputParams_LanguageDetection", + "SystemToolConfigOutputParams_MemoryEntryCreate", + "SystemToolConfigOutputParams_MemoryEntryDelete", + "SystemToolConfigOutputParams_MemoryEntrySearch", + "SystemToolConfigOutputParams_MemoryEntryUpdate", "SystemToolConfigOutputParams_PlayKeypadTouchTone", - "SystemToolConfigOutputParams_SearchDocumentation", "SystemToolConfigOutputParams_SkipTurn", "SystemToolConfigOutputParams_TransferToAgent", "SystemToolConfigOutputParams_TransferToNumber", @@ -5359,6 +5413,7 @@ def __dir__(): "User", "UserFeedback", "UserFeedbackScore", + "UsersSortBy", "UtteranceResponseModel", "VadConfig", "VadConfigWorkflowOverride", @@ -5367,6 +5422,14 @@ def __dir__(): "VerificationAttemptResponse", "VerifiedVoiceLanguageResponseModel", "VerifyPvcVoiceCaptchaResponseModel", + "VideoAnalysis", + "VideoAnalysisResult", + "VideoAnalysisStatus", + "VideoKeyMoment", + "VideoSegment", + "VideoSubject", + "VideoTranscription", + "VideoTranscriptionWord", "Voice", "VoiceCategory", "VoiceDesignPreviewResponse", diff --git a/src/elevenlabs/audio_native/client.py b/src/elevenlabs/audio_native/client.py index d19f3161..92b3785e 100644 --- a/src/elevenlabs/audio_native/client.py +++ b/src/elevenlabs/audio_native/client.py @@ -223,7 +223,12 @@ def update( return _response.data def update_content_from_url( - self, *, url: str, request_options: typing.Optional[RequestOptions] = None + self, + *, + url: str, + author: typing.Optional[str] = OMIT, + title: typing.Optional[str] = OMIT, + request_options: typing.Optional[RequestOptions] = None, ) -> AudioNativeEditContentResponseModel: """ Finds an AudioNative project matching the provided URL, extracts content from the URL, updates the project content, and queues it for conversion and auto-publishing. @@ -233,6 +238,12 @@ def update_content_from_url( url : str URL of the page to extract content from. + author : typing.Optional[str] + Author used in the player and inserted at the start of the uploaded article. If not provided, the default author set in the Player settings is used. + + title : typing.Optional[str] + Title used in the player and inserted at the top of the uploaded article. If not provided, the default title set in the Player settings is used. + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -252,7 +263,9 @@ def update_content_from_url( url="https://elevenlabs.io/blog/the_first_ai_that_can_laugh/", ) """ - _response = self._raw_client.update_content_from_url(url=url, request_options=request_options) + _response = self._raw_client.update_content_from_url( + url=url, author=author, title=title, request_options=request_options + ) return _response.data @@ -488,7 +501,12 @@ async def main() -> None: return _response.data async def update_content_from_url( - self, *, url: str, request_options: typing.Optional[RequestOptions] = None + self, + *, + url: str, + author: typing.Optional[str] = OMIT, + title: typing.Optional[str] = OMIT, + request_options: typing.Optional[RequestOptions] = None, ) -> AudioNativeEditContentResponseModel: """ Finds an AudioNative project matching the provided URL, extracts content from the URL, updates the project content, and queues it for conversion and auto-publishing. @@ -498,6 +516,12 @@ async def update_content_from_url( url : str URL of the page to extract content from. + author : typing.Optional[str] + Author used in the player and inserted at the start of the uploaded article. If not provided, the default author set in the Player settings is used. + + title : typing.Optional[str] + Title used in the player and inserted at the top of the uploaded article. If not provided, the default title set in the Player settings is used. + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -525,5 +549,7 @@ async def main() -> None: asyncio.run(main()) """ - _response = await self._raw_client.update_content_from_url(url=url, request_options=request_options) + _response = await self._raw_client.update_content_from_url( + url=url, author=author, title=title, request_options=request_options + ) return _response.data diff --git a/src/elevenlabs/audio_native/raw_client.py b/src/elevenlabs/audio_native/raw_client.py index 005676bc..4f7b7bf3 100644 --- a/src/elevenlabs/audio_native/raw_client.py +++ b/src/elevenlabs/audio_native/raw_client.py @@ -280,7 +280,12 @@ def update( raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) def update_content_from_url( - self, *, url: str, request_options: typing.Optional[RequestOptions] = None + self, + *, + url: str, + author: typing.Optional[str] = OMIT, + title: typing.Optional[str] = OMIT, + request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[AudioNativeEditContentResponseModel]: """ Finds an AudioNative project matching the provided URL, extracts content from the URL, updates the project content, and queues it for conversion and auto-publishing. @@ -290,6 +295,12 @@ def update_content_from_url( url : str URL of the page to extract content from. + author : typing.Optional[str] + Author used in the player and inserted at the start of the uploaded article. If not provided, the default author set in the Player settings is used. + + title : typing.Optional[str] + Title used in the player and inserted at the top of the uploaded article. If not provided, the default title set in the Player settings is used. + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -303,6 +314,8 @@ def update_content_from_url( method="POST", json={ "url": url, + "author": author, + "title": title, }, headers={ "content-type": "application/json", @@ -596,7 +609,12 @@ async def update( raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) async def update_content_from_url( - self, *, url: str, request_options: typing.Optional[RequestOptions] = None + self, + *, + url: str, + author: typing.Optional[str] = OMIT, + title: typing.Optional[str] = OMIT, + request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[AudioNativeEditContentResponseModel]: """ Finds an AudioNative project matching the provided URL, extracts content from the URL, updates the project content, and queues it for conversion and auto-publishing. @@ -606,6 +624,12 @@ async def update_content_from_url( url : str URL of the page to extract content from. + author : typing.Optional[str] + Author used in the player and inserted at the start of the uploaded article. If not provided, the default author set in the Player settings is used. + + title : typing.Optional[str] + Title used in the player and inserted at the top of the uploaded article. If not provided, the default title set in the Player settings is used. + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -619,6 +643,8 @@ async def update_content_from_url( method="POST", json={ "url": url, + "author": author, + "title": title, }, headers={ "content-type": "application/json", diff --git a/src/elevenlabs/conversational_ai/__init__.py b/src/elevenlabs/conversational_ai/__init__.py index 80ed1793..616b110b 100644 --- a/src/elevenlabs/conversational_ai/__init__.py +++ b/src/elevenlabs/conversational_ai/__init__.py @@ -27,14 +27,6 @@ whatsapp, whatsapp_accounts, ) - from .agents import ( - BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings, - BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings_Coached, - BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings_None, - BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings, - BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings_Coached, - BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings_None, - ) from .conversations import ConversationsListRequestSummaryMode from .knowledge_base import ( KnowledgeBaseGetOrCreateRagIndexesResponseValue, @@ -83,12 +75,6 @@ BodySendAnOutboundMessageViaWhatsAppV1ConvaiWhatsappOutboundMessagePostTemplateParamsItem_Header, ) _dynamic_imports: typing.Dict[str, str] = { - "BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings": ".agents", - "BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings_Coached": ".agents", - "BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings_None": ".agents", - "BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings": ".agents", - "BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings_Coached": ".agents", - "BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings_None": ".agents", "BodyRegisterATwilioCallAndReturnTwiMlV1ConvaiTwilioRegisterCallPostDirection": ".twilio", "BodySendAnOutboundMessageViaWhatsAppV1ConvaiWhatsappOutboundMessagePostTemplateParamsItem": ".whatsapp", "BodySendAnOutboundMessageViaWhatsAppV1ConvaiWhatsappOutboundMessagePostTemplateParamsItem_Body": ".whatsapp", @@ -172,12 +158,6 @@ def __dir__(): __all__ = [ - "BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings", - "BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings_Coached", - "BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings_None", - "BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings", - "BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings_Coached", - "BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings_None", "BodyRegisterATwilioCallAndReturnTwiMlV1ConvaiTwilioRegisterCallPostDirection", "BodySendAnOutboundMessageViaWhatsAppV1ConvaiWhatsappOutboundMessagePostTemplateParamsItem", "BodySendAnOutboundMessageViaWhatsAppV1ConvaiWhatsappOutboundMessagePostTemplateParamsItem_Body", diff --git a/src/elevenlabs/conversational_ai/agents/__init__.py b/src/elevenlabs/conversational_ai/agents/__init__.py index 156324ec..207286bb 100644 --- a/src/elevenlabs/conversational_ai/agents/__init__.py +++ b/src/elevenlabs/conversational_ai/agents/__init__.py @@ -6,14 +6,6 @@ from importlib import import_module if typing.TYPE_CHECKING: - from .types import ( - BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings, - BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings_Coached, - BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings_None, - BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings, - BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings_Coached, - BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings_None, - ) from . import branches, deployments, drafts, knowledge_base, link, llm_usage, summaries, widget from .summaries import ( SummariesGetResponseValue, @@ -21,12 +13,6 @@ SummariesGetResponseValue_Success, ) _dynamic_imports: typing.Dict[str, str] = { - "BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings": ".types", - "BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings_Coached": ".types", - "BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings_None": ".types", - "BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings": ".types", - "BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings_Coached": ".types", - "BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings_None": ".types", "SummariesGetResponseValue": ".summaries", "SummariesGetResponseValue_Failure": ".summaries", "SummariesGetResponseValue_Success": ".summaries", @@ -63,12 +49,6 @@ def __dir__(): __all__ = [ - "BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings", - "BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings_Coached", - "BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings_None", - "BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings", - "BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings_Coached", - "BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings_None", "SummariesGetResponseValue", "SummariesGetResponseValue_Failure", "SummariesGetResponseValue_Success", diff --git a/src/elevenlabs/conversational_ai/agents/client.py b/src/elevenlabs/conversational_ai/agents/client.py index f2e60170..0d025e74 100644 --- a/src/elevenlabs/conversational_ai/agents/client.py +++ b/src/elevenlabs/conversational_ai/agents/client.py @@ -21,12 +21,6 @@ from ...types.single_test_run_request_model import SingleTestRunRequestModel from ...types.sort_direction import SortDirection from .raw_client import AsyncRawAgentsClient, RawAgentsClient -from .types.body_create_agent_v_1_convai_agents_create_post_coaching_settings import ( - BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings, -) -from .types.body_patches_an_agent_settings_v_1_convai_agents_agent_id_patch_coaching_settings import ( - BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings, -) if typing.TYPE_CHECKING: from .branches.client import AsyncBranchesClient, BranchesClient @@ -74,7 +68,6 @@ def create( workflow: typing.Optional[AgentWorkflowRequestModel] = OMIT, name: typing.Optional[str] = OMIT, tags: typing.Optional[typing.Sequence[str]] = OMIT, - coaching_settings: typing.Optional[BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> CreateAgentResponseModel: """ @@ -100,8 +93,6 @@ def create( tags : typing.Optional[typing.Sequence[str]] Tags to help classify and filter the agent - coaching_settings : typing.Optional[BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings] - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -129,7 +120,6 @@ def create( workflow=workflow, name=name, tags=tags, - coaching_settings=coaching_settings, request_options=request_options, ) return _response.data @@ -223,7 +213,6 @@ def update( workflow: typing.Optional[AgentWorkflowRequestModel] = OMIT, name: typing.Optional[str] = OMIT, tags: typing.Optional[typing.Sequence[str]] = OMIT, - coaching_settings: typing.Optional[BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings] = OMIT, version_description: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> GetAgentResponseModel: @@ -256,8 +245,6 @@ def update( tags : typing.Optional[typing.Sequence[str]] Tags to help classify and filter the agent - coaching_settings : typing.Optional[BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings] - version_description : typing.Optional[str] Description for this version when publishing changes (only applicable for versioned agents) @@ -291,7 +278,6 @@ def update( workflow=workflow, name=name, tags=tags, - coaching_settings=coaching_settings, version_description=version_description, request_options=request_options, ) @@ -698,7 +684,6 @@ async def create( workflow: typing.Optional[AgentWorkflowRequestModel] = OMIT, name: typing.Optional[str] = OMIT, tags: typing.Optional[typing.Sequence[str]] = OMIT, - coaching_settings: typing.Optional[BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> CreateAgentResponseModel: """ @@ -724,8 +709,6 @@ async def create( tags : typing.Optional[typing.Sequence[str]] Tags to help classify and filter the agent - coaching_settings : typing.Optional[BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings] - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -761,7 +744,6 @@ async def main() -> None: workflow=workflow, name=name, tags=tags, - coaching_settings=coaching_settings, request_options=request_options, ) return _response.data @@ -871,7 +853,6 @@ async def update( workflow: typing.Optional[AgentWorkflowRequestModel] = OMIT, name: typing.Optional[str] = OMIT, tags: typing.Optional[typing.Sequence[str]] = OMIT, - coaching_settings: typing.Optional[BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings] = OMIT, version_description: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> GetAgentResponseModel: @@ -904,8 +885,6 @@ async def update( tags : typing.Optional[typing.Sequence[str]] Tags to help classify and filter the agent - coaching_settings : typing.Optional[BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings] - version_description : typing.Optional[str] Description for this version when publishing changes (only applicable for versioned agents) @@ -947,7 +926,6 @@ async def main() -> None: workflow=workflow, name=name, tags=tags, - coaching_settings=coaching_settings, version_description=version_description, request_options=request_options, ) diff --git a/src/elevenlabs/conversational_ai/agents/raw_client.py b/src/elevenlabs/conversational_ai/agents/raw_client.py index 3b8d61c7..02a6a8ba 100644 --- a/src/elevenlabs/conversational_ai/agents/raw_client.py +++ b/src/elevenlabs/conversational_ai/agents/raw_client.py @@ -26,12 +26,6 @@ from ...types.prompt_evaluation_criteria import PromptEvaluationCriteria from ...types.single_test_run_request_model import SingleTestRunRequestModel from ...types.sort_direction import SortDirection -from .types.body_create_agent_v_1_convai_agents_create_post_coaching_settings import ( - BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings, -) -from .types.body_patches_an_agent_settings_v_1_convai_agents_agent_id_patch_coaching_settings import ( - BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings, -) # this is used as the default value for optional parameters OMIT = typing.cast(typing.Any, ...) @@ -50,7 +44,6 @@ def create( workflow: typing.Optional[AgentWorkflowRequestModel] = OMIT, name: typing.Optional[str] = OMIT, tags: typing.Optional[typing.Sequence[str]] = OMIT, - coaching_settings: typing.Optional[BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[CreateAgentResponseModel]: """ @@ -76,8 +69,6 @@ def create( tags : typing.Optional[typing.Sequence[str]] Tags to help classify and filter the agent - coaching_settings : typing.Optional[BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings] - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -104,11 +95,6 @@ def create( ), "name": name, "tags": tags, - "coaching_settings": convert_and_respect_annotation_metadata( - object_=coaching_settings, - annotation=BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings, - direction="write", - ), }, headers={ "content-type": "application/json", @@ -258,7 +244,6 @@ def update( workflow: typing.Optional[AgentWorkflowRequestModel] = OMIT, name: typing.Optional[str] = OMIT, tags: typing.Optional[typing.Sequence[str]] = OMIT, - coaching_settings: typing.Optional[BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings] = OMIT, version_description: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[GetAgentResponseModel]: @@ -291,8 +276,6 @@ def update( tags : typing.Optional[typing.Sequence[str]] Tags to help classify and filter the agent - coaching_settings : typing.Optional[BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings] - version_description : typing.Optional[str] Description for this version when publishing changes (only applicable for versioned agents) @@ -323,11 +306,6 @@ def update( ), "name": name, "tags": tags, - "coaching_settings": convert_and_respect_annotation_metadata( - object_=coaching_settings, - annotation=BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings, - direction="write", - ), "version_description": version_description, }, headers={ @@ -758,7 +736,6 @@ async def create( workflow: typing.Optional[AgentWorkflowRequestModel] = OMIT, name: typing.Optional[str] = OMIT, tags: typing.Optional[typing.Sequence[str]] = OMIT, - coaching_settings: typing.Optional[BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[CreateAgentResponseModel]: """ @@ -784,8 +761,6 @@ async def create( tags : typing.Optional[typing.Sequence[str]] Tags to help classify and filter the agent - coaching_settings : typing.Optional[BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings] - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -812,11 +787,6 @@ async def create( ), "name": name, "tags": tags, - "coaching_settings": convert_and_respect_annotation_metadata( - object_=coaching_settings, - annotation=BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings, - direction="write", - ), }, headers={ "content-type": "application/json", @@ -968,7 +938,6 @@ async def update( workflow: typing.Optional[AgentWorkflowRequestModel] = OMIT, name: typing.Optional[str] = OMIT, tags: typing.Optional[typing.Sequence[str]] = OMIT, - coaching_settings: typing.Optional[BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings] = OMIT, version_description: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[GetAgentResponseModel]: @@ -1001,8 +970,6 @@ async def update( tags : typing.Optional[typing.Sequence[str]] Tags to help classify and filter the agent - coaching_settings : typing.Optional[BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings] - version_description : typing.Optional[str] Description for this version when publishing changes (only applicable for versioned agents) @@ -1033,11 +1000,6 @@ async def update( ), "name": name, "tags": tags, - "coaching_settings": convert_and_respect_annotation_metadata( - object_=coaching_settings, - annotation=BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings, - direction="write", - ), "version_description": version_description, }, headers={ diff --git a/src/elevenlabs/conversational_ai/agents/types/__init__.py b/src/elevenlabs/conversational_ai/agents/types/__init__.py deleted file mode 100644 index a5047c4d..00000000 --- a/src/elevenlabs/conversational_ai/agents/types/__init__.py +++ /dev/null @@ -1,57 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -# isort: skip_file - -import typing -from importlib import import_module - -if typing.TYPE_CHECKING: - from .body_create_agent_v_1_convai_agents_create_post_coaching_settings import ( - BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings, - BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings_Coached, - BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings_None, - ) - from .body_patches_an_agent_settings_v_1_convai_agents_agent_id_patch_coaching_settings import ( - BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings, - BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings_Coached, - BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings_None, - ) -_dynamic_imports: typing.Dict[str, str] = { - "BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings": ".body_create_agent_v_1_convai_agents_create_post_coaching_settings", - "BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings_Coached": ".body_create_agent_v_1_convai_agents_create_post_coaching_settings", - "BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings_None": ".body_create_agent_v_1_convai_agents_create_post_coaching_settings", - "BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings": ".body_patches_an_agent_settings_v_1_convai_agents_agent_id_patch_coaching_settings", - "BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings_Coached": ".body_patches_an_agent_settings_v_1_convai_agents_agent_id_patch_coaching_settings", - "BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings_None": ".body_patches_an_agent_settings_v_1_convai_agents_agent_id_patch_coaching_settings", -} - - -def __getattr__(attr_name: str) -> typing.Any: - module_name = _dynamic_imports.get(attr_name) - if module_name is None: - raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}") - try: - module = import_module(module_name, __package__) - if module_name == f".{attr_name}": - return module - else: - return getattr(module, attr_name) - except ImportError as e: - raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e - except AttributeError as e: - raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e - - -def __dir__(): - lazy_attrs = list(_dynamic_imports.keys()) - return sorted(lazy_attrs) - - -__all__ = [ - "BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings", - "BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings_Coached", - "BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings_None", - "BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings", - "BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings_Coached", - "BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings_None", -] diff --git a/src/elevenlabs/conversational_ai/agents/types/body_create_agent_v_1_convai_agents_create_post_coaching_settings.py b/src/elevenlabs/conversational_ai/agents/types/body_create_agent_v_1_convai_agents_create_post_coaching_settings.py deleted file mode 100644 index d4164caa..00000000 --- a/src/elevenlabs/conversational_ai/agents/types/body_create_agent_v_1_convai_agents_create_post_coaching_settings.py +++ /dev/null @@ -1,47 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -from __future__ import annotations - -import typing - -import pydantic -import typing_extensions -from ....core.pydantic_utilities import IS_PYDANTIC_V2 -from ....core.unchecked_base_model import UncheckedBaseModel, UnionMetadata - - -class BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings_Coached(UncheckedBaseModel): - type: typing.Literal["coached"] = "coached" - memory_base_id: typing.Optional[str] = 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 - - -class BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings_None(UncheckedBaseModel): - type: typing.Literal["none"] = "none" - memory_base_id: typing.Optional[str] = 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 - - -BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings = typing_extensions.Annotated[ - typing.Union[ - BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings_Coached, - BodyCreateAgentV1ConvaiAgentsCreatePostCoachingSettings_None, - ], - UnionMetadata(discriminant="type"), -] diff --git a/src/elevenlabs/conversational_ai/agents/types/body_patches_an_agent_settings_v_1_convai_agents_agent_id_patch_coaching_settings.py b/src/elevenlabs/conversational_ai/agents/types/body_patches_an_agent_settings_v_1_convai_agents_agent_id_patch_coaching_settings.py deleted file mode 100644 index cac6babe..00000000 --- a/src/elevenlabs/conversational_ai/agents/types/body_patches_an_agent_settings_v_1_convai_agents_agent_id_patch_coaching_settings.py +++ /dev/null @@ -1,47 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -from __future__ import annotations - -import typing - -import pydantic -import typing_extensions -from ....core.pydantic_utilities import IS_PYDANTIC_V2 -from ....core.unchecked_base_model import UncheckedBaseModel, UnionMetadata - - -class BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings_Coached(UncheckedBaseModel): - type: typing.Literal["coached"] = "coached" - memory_base_id: typing.Optional[str] = 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 - - -class BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings_None(UncheckedBaseModel): - type: typing.Literal["none"] = "none" - memory_base_id: typing.Optional[str] = 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 - - -BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings = typing_extensions.Annotated[ - typing.Union[ - BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings_Coached, - BodyPatchesAnAgentSettingsV1ConvaiAgentsAgentIdPatchCoachingSettings_None, - ], - UnionMetadata(discriminant="type"), -] diff --git a/src/elevenlabs/conversational_ai/batch_calls/client.py b/src/elevenlabs/conversational_ai/batch_calls/client.py index a4c756d2..0ec831c2 100644 --- a/src/elevenlabs/conversational_ai/batch_calls/client.py +++ b/src/elevenlabs/conversational_ai/batch_calls/client.py @@ -42,6 +42,7 @@ def create( whatsapp_params: typing.Optional[BatchCallWhatsAppParams] = OMIT, timezone: typing.Optional[str] = OMIT, telephony_call_config: typing.Optional[TelephonyCallConfig] = OMIT, + target_concurrency_limit: typing.Optional[int] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> BatchCallResponse: """ @@ -65,6 +66,9 @@ def create( telephony_call_config : typing.Optional[TelephonyCallConfig] + target_concurrency_limit : typing.Optional[int] + Maximum number of simultaneous calls for this batch. When set, dispatch is governed by this limit rather than workspace/agent capacity percentages. + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -95,6 +99,7 @@ def create( whatsapp_params=whatsapp_params, timezone=timezone, telephony_call_config=telephony_call_config, + target_concurrency_limit=target_concurrency_limit, request_options=request_options, ) return _response.data @@ -286,6 +291,7 @@ async def create( whatsapp_params: typing.Optional[BatchCallWhatsAppParams] = OMIT, timezone: typing.Optional[str] = OMIT, telephony_call_config: typing.Optional[TelephonyCallConfig] = OMIT, + target_concurrency_limit: typing.Optional[int] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> BatchCallResponse: """ @@ -309,6 +315,9 @@ async def create( telephony_call_config : typing.Optional[TelephonyCallConfig] + target_concurrency_limit : typing.Optional[int] + Maximum number of simultaneous calls for this batch. When set, dispatch is governed by this limit rather than workspace/agent capacity percentages. + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -347,6 +356,7 @@ async def main() -> None: whatsapp_params=whatsapp_params, timezone=timezone, telephony_call_config=telephony_call_config, + target_concurrency_limit=target_concurrency_limit, request_options=request_options, ) return _response.data diff --git a/src/elevenlabs/conversational_ai/batch_calls/raw_client.py b/src/elevenlabs/conversational_ai/batch_calls/raw_client.py index 0a0dd702..3ecb1af1 100644 --- a/src/elevenlabs/conversational_ai/batch_calls/raw_client.py +++ b/src/elevenlabs/conversational_ai/batch_calls/raw_client.py @@ -38,6 +38,7 @@ def create( whatsapp_params: typing.Optional[BatchCallWhatsAppParams] = OMIT, timezone: typing.Optional[str] = OMIT, telephony_call_config: typing.Optional[TelephonyCallConfig] = OMIT, + target_concurrency_limit: typing.Optional[int] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[BatchCallResponse]: """ @@ -61,6 +62,9 @@ def create( telephony_call_config : typing.Optional[TelephonyCallConfig] + target_concurrency_limit : typing.Optional[int] + Maximum number of simultaneous calls for this batch. When set, dispatch is governed by this limit rather than workspace/agent capacity percentages. + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -87,6 +91,7 @@ def create( "telephony_call_config": convert_and_respect_annotation_metadata( object_=telephony_call_config, annotation=TelephonyCallConfig, direction="write" ), + "target_concurrency_limit": target_concurrency_limit, }, headers={ "content-type": "application/json", @@ -381,6 +386,7 @@ async def create( whatsapp_params: typing.Optional[BatchCallWhatsAppParams] = OMIT, timezone: typing.Optional[str] = OMIT, telephony_call_config: typing.Optional[TelephonyCallConfig] = OMIT, + target_concurrency_limit: typing.Optional[int] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[BatchCallResponse]: """ @@ -404,6 +410,9 @@ async def create( telephony_call_config : typing.Optional[TelephonyCallConfig] + target_concurrency_limit : typing.Optional[int] + Maximum number of simultaneous calls for this batch. When set, dispatch is governed by this limit rather than workspace/agent capacity percentages. + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -430,6 +439,7 @@ async def create( "telephony_call_config": convert_and_respect_annotation_metadata( object_=telephony_call_config, annotation=TelephonyCallConfig, direction="write" ), + "target_concurrency_limit": target_concurrency_limit, }, headers={ "content-type": "application/json", diff --git a/src/elevenlabs/conversational_ai/users/client.py b/src/elevenlabs/conversational_ai/users/client.py index 352cdba3..680ac9e8 100644 --- a/src/elevenlabs/conversational_ai/users/client.py +++ b/src/elevenlabs/conversational_ai/users/client.py @@ -5,6 +5,7 @@ from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper from ...core.request_options import RequestOptions from ...types.get_conversation_users_page_response_model import GetConversationUsersPageResponseModel +from ...types.users_sort_by import UsersSortBy from .raw_client import AsyncRawUsersClient, RawUsersClient @@ -27,10 +28,12 @@ def list( self, *, agent_id: typing.Optional[str] = None, + branch_id: typing.Optional[str] = None, call_start_before_unix: typing.Optional[int] = None, call_start_after_unix: typing.Optional[int] = None, search: typing.Optional[str] = None, page_size: typing.Optional[int] = None, + sort_by: typing.Optional[UsersSortBy] = None, cursor: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, ) -> GetConversationUsersPageResponseModel: @@ -42,6 +45,9 @@ def list( agent_id : typing.Optional[str] The id of the agent you're taking the action on. + branch_id : typing.Optional[str] + Filter conversations by branch ID. + call_start_before_unix : typing.Optional[int] Unix timestamp (in seconds) to filter conversations up to this start date. @@ -54,6 +60,9 @@ def list( page_size : typing.Optional[int] How many users to return at maximum. Defaults to 30. + sort_by : typing.Optional[UsersSortBy] + The field to sort the results by. Defaults to last_contact_unix_secs. + cursor : typing.Optional[str] Used for fetching next page. Cursor is returned in the response. @@ -74,19 +83,23 @@ def list( ) client.conversational_ai.users.list( agent_id="agent_id", + branch_id="branch_id", call_start_before_unix=1, call_start_after_unix=1, search="search", page_size=1, + sort_by="last_contact_unix_secs", cursor="cursor", ) """ _response = self._raw_client.list( agent_id=agent_id, + branch_id=branch_id, call_start_before_unix=call_start_before_unix, call_start_after_unix=call_start_after_unix, search=search, page_size=page_size, + sort_by=sort_by, cursor=cursor, request_options=request_options, ) @@ -112,10 +125,12 @@ async def list( self, *, agent_id: typing.Optional[str] = None, + branch_id: typing.Optional[str] = None, call_start_before_unix: typing.Optional[int] = None, call_start_after_unix: typing.Optional[int] = None, search: typing.Optional[str] = None, page_size: typing.Optional[int] = None, + sort_by: typing.Optional[UsersSortBy] = None, cursor: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, ) -> GetConversationUsersPageResponseModel: @@ -127,6 +142,9 @@ async def list( agent_id : typing.Optional[str] The id of the agent you're taking the action on. + branch_id : typing.Optional[str] + Filter conversations by branch ID. + call_start_before_unix : typing.Optional[int] Unix timestamp (in seconds) to filter conversations up to this start date. @@ -139,6 +157,9 @@ async def list( page_size : typing.Optional[int] How many users to return at maximum. Defaults to 30. + sort_by : typing.Optional[UsersSortBy] + The field to sort the results by. Defaults to last_contact_unix_secs. + cursor : typing.Optional[str] Used for fetching next page. Cursor is returned in the response. @@ -164,10 +185,12 @@ async def list( async def main() -> None: await client.conversational_ai.users.list( agent_id="agent_id", + branch_id="branch_id", call_start_before_unix=1, call_start_after_unix=1, search="search", page_size=1, + sort_by="last_contact_unix_secs", cursor="cursor", ) @@ -176,10 +199,12 @@ async def main() -> None: """ _response = await self._raw_client.list( agent_id=agent_id, + branch_id=branch_id, call_start_before_unix=call_start_before_unix, call_start_after_unix=call_start_after_unix, search=search, page_size=page_size, + sort_by=sort_by, cursor=cursor, request_options=request_options, ) diff --git a/src/elevenlabs/conversational_ai/users/raw_client.py b/src/elevenlabs/conversational_ai/users/raw_client.py index f2cb37c4..b0e6eff8 100644 --- a/src/elevenlabs/conversational_ai/users/raw_client.py +++ b/src/elevenlabs/conversational_ai/users/raw_client.py @@ -11,6 +11,7 @@ from ...errors.unprocessable_entity_error import UnprocessableEntityError from ...types.get_conversation_users_page_response_model import GetConversationUsersPageResponseModel from ...types.http_validation_error import HttpValidationError +from ...types.users_sort_by import UsersSortBy class RawUsersClient: @@ -21,10 +22,12 @@ def list( self, *, agent_id: typing.Optional[str] = None, + branch_id: typing.Optional[str] = None, call_start_before_unix: typing.Optional[int] = None, call_start_after_unix: typing.Optional[int] = None, search: typing.Optional[str] = None, page_size: typing.Optional[int] = None, + sort_by: typing.Optional[UsersSortBy] = None, cursor: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[GetConversationUsersPageResponseModel]: @@ -36,6 +39,9 @@ def list( agent_id : typing.Optional[str] The id of the agent you're taking the action on. + branch_id : typing.Optional[str] + Filter conversations by branch ID. + call_start_before_unix : typing.Optional[int] Unix timestamp (in seconds) to filter conversations up to this start date. @@ -48,6 +54,9 @@ def list( page_size : typing.Optional[int] How many users to return at maximum. Defaults to 30. + sort_by : typing.Optional[UsersSortBy] + The field to sort the results by. Defaults to last_contact_unix_secs. + cursor : typing.Optional[str] Used for fetching next page. Cursor is returned in the response. @@ -64,10 +73,12 @@ def list( method="GET", params={ "agent_id": agent_id, + "branch_id": branch_id, "call_start_before_unix": call_start_before_unix, "call_start_after_unix": call_start_after_unix, "search": search, "page_size": page_size, + "sort_by": sort_by, "cursor": cursor, }, request_options=request_options, @@ -107,10 +118,12 @@ async def list( self, *, agent_id: typing.Optional[str] = None, + branch_id: typing.Optional[str] = None, call_start_before_unix: typing.Optional[int] = None, call_start_after_unix: typing.Optional[int] = None, search: typing.Optional[str] = None, page_size: typing.Optional[int] = None, + sort_by: typing.Optional[UsersSortBy] = None, cursor: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[GetConversationUsersPageResponseModel]: @@ -122,6 +135,9 @@ async def list( agent_id : typing.Optional[str] The id of the agent you're taking the action on. + branch_id : typing.Optional[str] + Filter conversations by branch ID. + call_start_before_unix : typing.Optional[int] Unix timestamp (in seconds) to filter conversations up to this start date. @@ -134,6 +150,9 @@ async def list( page_size : typing.Optional[int] How many users to return at maximum. Defaults to 30. + sort_by : typing.Optional[UsersSortBy] + The field to sort the results by. Defaults to last_contact_unix_secs. + cursor : typing.Optional[str] Used for fetching next page. Cursor is returned in the response. @@ -150,10 +169,12 @@ async def list( method="GET", params={ "agent_id": agent_id, + "branch_id": branch_id, "call_start_before_unix": call_start_before_unix, "call_start_after_unix": call_start_after_unix, "search": search, "page_size": page_size, + "sort_by": sort_by, "cursor": cursor, }, request_options=request_options, diff --git a/src/elevenlabs/conversational_ai/whatsapp_accounts/client.py b/src/elevenlabs/conversational_ai/whatsapp_accounts/client.py index a155582d..731c7ee3 100644 --- a/src/elevenlabs/conversational_ai/whatsapp_accounts/client.py +++ b/src/elevenlabs/conversational_ai/whatsapp_accounts/client.py @@ -95,6 +95,7 @@ def update( *, assigned_agent_id: typing.Optional[str] = OMIT, enable_messaging: typing.Optional[bool] = OMIT, + enable_audio_message_response: typing.Optional[bool] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> typing.Any: """ @@ -108,6 +109,8 @@ def update( enable_messaging : typing.Optional[bool] + enable_audio_message_response : typing.Optional[bool] + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -131,6 +134,7 @@ def update( phone_number_id, assigned_agent_id=assigned_agent_id, enable_messaging=enable_messaging, + enable_audio_message_response=enable_audio_message_response, request_options=request_options, ) return _response.data @@ -263,6 +267,7 @@ async def update( *, assigned_agent_id: typing.Optional[str] = OMIT, enable_messaging: typing.Optional[bool] = OMIT, + enable_audio_message_response: typing.Optional[bool] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> typing.Any: """ @@ -276,6 +281,8 @@ async def update( enable_messaging : typing.Optional[bool] + enable_audio_message_response : typing.Optional[bool] + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -307,6 +314,7 @@ async def main() -> None: phone_number_id, assigned_agent_id=assigned_agent_id, enable_messaging=enable_messaging, + enable_audio_message_response=enable_audio_message_response, request_options=request_options, ) return _response.data diff --git a/src/elevenlabs/conversational_ai/whatsapp_accounts/raw_client.py b/src/elevenlabs/conversational_ai/whatsapp_accounts/raw_client.py index 45865771..afb90b79 100644 --- a/src/elevenlabs/conversational_ai/whatsapp_accounts/raw_client.py +++ b/src/elevenlabs/conversational_ai/whatsapp_accounts/raw_client.py @@ -128,6 +128,7 @@ def update( *, assigned_agent_id: typing.Optional[str] = OMIT, enable_messaging: typing.Optional[bool] = OMIT, + enable_audio_message_response: typing.Optional[bool] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[typing.Any]: """ @@ -141,6 +142,8 @@ def update( enable_messaging : typing.Optional[bool] + enable_audio_message_response : typing.Optional[bool] + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -155,6 +158,7 @@ def update( json={ "assigned_agent_id": assigned_agent_id, "enable_messaging": enable_messaging, + "enable_audio_message_response": enable_audio_message_response, }, headers={ "content-type": "application/json", @@ -348,6 +352,7 @@ async def update( *, assigned_agent_id: typing.Optional[str] = OMIT, enable_messaging: typing.Optional[bool] = OMIT, + enable_audio_message_response: typing.Optional[bool] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[typing.Any]: """ @@ -361,6 +366,8 @@ async def update( enable_messaging : typing.Optional[bool] + enable_audio_message_response : typing.Optional[bool] + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -375,6 +382,7 @@ async def update( json={ "assigned_agent_id": assigned_agent_id, "enable_messaging": enable_messaging, + "enable_audio_message_response": enable_audio_message_response, }, headers={ "content-type": "application/json", diff --git a/src/elevenlabs/core/client_wrapper.py b/src/elevenlabs/core/client_wrapper.py index 7698585d..f0d9a5e5 100644 --- a/src/elevenlabs/core/client_wrapper.py +++ b/src/elevenlabs/core/client_wrapper.py @@ -22,10 +22,10 @@ def __init__( def get_headers(self) -> typing.Dict[str, str]: headers: typing.Dict[str, str] = { - "User-Agent": "elevenlabs/v2.38.1", + "User-Agent": "elevenlabs/v2.39.0", "X-Fern-Language": "Python", "X-Fern-SDK-Name": "elevenlabs", - "X-Fern-SDK-Version": "v2.38.1", + "X-Fern-SDK-Version": "v2.39.0", **(self.get_custom_headers() or {}), } if self._api_key is not None: diff --git a/src/elevenlabs/music/client.py b/src/elevenlabs/music/client.py index 9117c7d2..7fe972bd 100644 --- a/src/elevenlabs/music/client.py +++ b/src/elevenlabs/music/client.py @@ -128,6 +128,7 @@ def compose_detailed( model_id: typing.Optional[typing.Literal["music_v1"]] = OMIT, seed: typing.Optional[int] = OMIT, force_instrumental: typing.Optional[bool] = OMIT, + respect_sections_durations: typing.Optional[bool] = OMIT, store_for_inpainting: typing.Optional[bool] = OMIT, with_timestamps: typing.Optional[bool] = OMIT, sign_with_c_2_pa: typing.Optional[bool] = OMIT, @@ -159,6 +160,9 @@ def compose_detailed( force_instrumental : typing.Optional[bool] If true, guarantees that the generated song will be instrumental. If false, the song may or may not be instrumental depending on the `prompt`. Can only be used with `prompt`. + respect_sections_durations : typing.Optional[bool] + Controls how strictly section durations in the `composition_plan` are enforced. Only used with `composition_plan`. When set to true, the model will precisely respect each section's `duration_ms` from the plan. When set to false, the model may adjust individual section durations which will generally lead to better generation quality and improved latency, while always preserving the total song duration from the plan. + store_for_inpainting : typing.Optional[bool] Whether to store the generated song for inpainting. Only available to enterprise clients with access to the inpainting feature. @@ -193,6 +197,7 @@ def compose_detailed( model_id=model_id, seed=seed, force_instrumental=force_instrumental, + respect_sections_durations=respect_sections_durations, store_for_inpainting=store_for_inpainting, with_timestamps=with_timestamps, sign_with_c_2_pa=sign_with_c_2_pa, @@ -482,6 +487,7 @@ async def compose_detailed( model_id: typing.Optional[typing.Literal["music_v1"]] = OMIT, seed: typing.Optional[int] = OMIT, force_instrumental: typing.Optional[bool] = OMIT, + respect_sections_durations: typing.Optional[bool] = OMIT, store_for_inpainting: typing.Optional[bool] = OMIT, with_timestamps: typing.Optional[bool] = OMIT, sign_with_c_2_pa: typing.Optional[bool] = OMIT, @@ -513,6 +519,9 @@ async def compose_detailed( force_instrumental : typing.Optional[bool] If true, guarantees that the generated song will be instrumental. If false, the song may or may not be instrumental depending on the `prompt`. Can only be used with `prompt`. + respect_sections_durations : typing.Optional[bool] + Controls how strictly section durations in the `composition_plan` are enforced. Only used with `composition_plan`. When set to true, the model will precisely respect each section's `duration_ms` from the plan. When set to false, the model may adjust individual section durations which will generally lead to better generation quality and improved latency, while always preserving the total song duration from the plan. + store_for_inpainting : typing.Optional[bool] Whether to store the generated song for inpainting. Only available to enterprise clients with access to the inpainting feature. @@ -555,6 +564,7 @@ async def main() -> None: model_id=model_id, seed=seed, force_instrumental=force_instrumental, + respect_sections_durations=respect_sections_durations, store_for_inpainting=store_for_inpainting, with_timestamps=with_timestamps, sign_with_c_2_pa=sign_with_c_2_pa, diff --git a/src/elevenlabs/music/raw_client.py b/src/elevenlabs/music/raw_client.py index 482213c4..699c5729 100644 --- a/src/elevenlabs/music/raw_client.py +++ b/src/elevenlabs/music/raw_client.py @@ -150,6 +150,7 @@ def compose_detailed( model_id: typing.Optional[typing.Literal["music_v1"]] = OMIT, seed: typing.Optional[int] = OMIT, force_instrumental: typing.Optional[bool] = OMIT, + respect_sections_durations: typing.Optional[bool] = OMIT, store_for_inpainting: typing.Optional[bool] = OMIT, with_timestamps: typing.Optional[bool] = OMIT, sign_with_c_2_pa: typing.Optional[bool] = OMIT, @@ -181,6 +182,9 @@ def compose_detailed( force_instrumental : typing.Optional[bool] If true, guarantees that the generated song will be instrumental. If false, the song may or may not be instrumental depending on the `prompt`. Can only be used with `prompt`. + respect_sections_durations : typing.Optional[bool] + Controls how strictly section durations in the `composition_plan` are enforced. Only used with `composition_plan`. When set to true, the model will precisely respect each section's `duration_ms` from the plan. When set to false, the model may adjust individual section durations which will generally lead to better generation quality and improved latency, while always preserving the total song duration from the plan. + store_for_inpainting : typing.Optional[bool] Whether to store the generated song for inpainting. Only available to enterprise clients with access to the inpainting feature. @@ -213,6 +217,7 @@ def compose_detailed( "model_id": model_id, "seed": seed, "force_instrumental": force_instrumental, + "respect_sections_durations": respect_sections_durations, "store_for_inpainting": store_for_inpainting, "with_timestamps": with_timestamps, "sign_with_c2pa": sign_with_c_2_pa, @@ -631,6 +636,7 @@ async def compose_detailed( model_id: typing.Optional[typing.Literal["music_v1"]] = OMIT, seed: typing.Optional[int] = OMIT, force_instrumental: typing.Optional[bool] = OMIT, + respect_sections_durations: typing.Optional[bool] = OMIT, store_for_inpainting: typing.Optional[bool] = OMIT, with_timestamps: typing.Optional[bool] = OMIT, sign_with_c_2_pa: typing.Optional[bool] = OMIT, @@ -662,6 +668,9 @@ async def compose_detailed( force_instrumental : typing.Optional[bool] If true, guarantees that the generated song will be instrumental. If false, the song may or may not be instrumental depending on the `prompt`. Can only be used with `prompt`. + respect_sections_durations : typing.Optional[bool] + Controls how strictly section durations in the `composition_plan` are enforced. Only used with `composition_plan`. When set to true, the model will precisely respect each section's `duration_ms` from the plan. When set to false, the model may adjust individual section durations which will generally lead to better generation quality and improved latency, while always preserving the total song duration from the plan. + store_for_inpainting : typing.Optional[bool] Whether to store the generated song for inpainting. Only available to enterprise clients with access to the inpainting feature. @@ -694,6 +703,7 @@ async def compose_detailed( "model_id": model_id, "seed": seed, "force_instrumental": force_instrumental, + "respect_sections_durations": respect_sections_durations, "store_for_inpainting": store_for_inpainting, "with_timestamps": with_timestamps, "sign_with_c2pa": sign_with_c_2_pa, diff --git a/src/elevenlabs/speech_to_text/client.py b/src/elevenlabs/speech_to_text/client.py index 0b15c4e7..436fc764 100644 --- a/src/elevenlabs/speech_to_text/client.py +++ b/src/elevenlabs/speech_to_text/client.py @@ -61,6 +61,7 @@ def convert( use_multi_channel: typing.Optional[bool] = OMIT, webhook_metadata: typing.Optional[SpeechToTextConvertRequestWebhookMetadata] = OMIT, entity_detection: typing.Optional[SpeechToTextConvertRequestEntityDetection] = OMIT, + no_verbatim: typing.Optional[bool] = OMIT, keyterms: typing.Optional[typing.List[str]] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> SpeechToTextConvertResponse: @@ -126,6 +127,9 @@ def convert( entity_detection : typing.Optional[SpeechToTextConvertRequestEntityDetection] Detect entities in the transcript. Can be 'all' to detect all entities, a single entity type or category string, or a list of entity types/categories. Categories include 'pii', 'phi', 'pci', 'other', 'offensive_language'. When enabled, detected entities will be returned in the 'entities' field with their text, type, and character positions. Usage of this parameter will incur additional costs. + no_verbatim : typing.Optional[bool] + If true, the transcription will not have any filler words, false starts and non-speech sounds. Only supported with scribe_v2 model. + keyterms : typing.Optional[typing.List[str]] A list of keyterms to bias the transcription towards. The keyterms are words or phrases you want the model to recognise more accurately. The number of keyterms cannot exceed 100. The length of each keyterm must be less than 50 characters. Keyterms can contain at most 5 words (after normalisation). For example ["hello", "world", "technical term"]. Usage of this parameter will incur additional costs. @@ -169,6 +173,7 @@ def convert( use_multi_channel=use_multi_channel, webhook_metadata=webhook_metadata, entity_detection=entity_detection, + no_verbatim=no_verbatim, keyterms=keyterms, request_options=request_options, ) @@ -222,6 +227,7 @@ async def convert( use_multi_channel: typing.Optional[bool] = OMIT, webhook_metadata: typing.Optional[SpeechToTextConvertRequestWebhookMetadata] = OMIT, entity_detection: typing.Optional[SpeechToTextConvertRequestEntityDetection] = OMIT, + no_verbatim: typing.Optional[bool] = OMIT, keyterms: typing.Optional[typing.List[str]] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> SpeechToTextConvertResponse: @@ -287,6 +293,9 @@ async def convert( entity_detection : typing.Optional[SpeechToTextConvertRequestEntityDetection] Detect entities in the transcript. Can be 'all' to detect all entities, a single entity type or category string, or a list of entity types/categories. Categories include 'pii', 'phi', 'pci', 'other', 'offensive_language'. When enabled, detected entities will be returned in the 'entities' field with their text, type, and character positions. Usage of this parameter will incur additional costs. + no_verbatim : typing.Optional[bool] + If true, the transcription will not have any filler words, false starts and non-speech sounds. Only supported with scribe_v2 model. + keyterms : typing.Optional[typing.List[str]] A list of keyterms to bias the transcription towards. The keyterms are words or phrases you want the model to recognise more accurately. The number of keyterms cannot exceed 100. The length of each keyterm must be less than 50 characters. Keyterms can contain at most 5 words (after normalisation). For example ["hello", "world", "technical term"]. Usage of this parameter will incur additional costs. @@ -338,6 +347,7 @@ async def main() -> None: use_multi_channel=use_multi_channel, webhook_metadata=webhook_metadata, entity_detection=entity_detection, + no_verbatim=no_verbatim, keyterms=keyterms, request_options=request_options, ) diff --git a/src/elevenlabs/speech_to_text/raw_client.py b/src/elevenlabs/speech_to_text/raw_client.py index 5fa18d2c..01d11351 100644 --- a/src/elevenlabs/speech_to_text/raw_client.py +++ b/src/elevenlabs/speech_to_text/raw_client.py @@ -51,6 +51,7 @@ def convert( use_multi_channel: typing.Optional[bool] = OMIT, webhook_metadata: typing.Optional[SpeechToTextConvertRequestWebhookMetadata] = OMIT, entity_detection: typing.Optional[SpeechToTextConvertRequestEntityDetection] = OMIT, + no_verbatim: typing.Optional[bool] = OMIT, keyterms: typing.Optional[typing.List[str]] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[SpeechToTextConvertResponse]: @@ -116,6 +117,9 @@ def convert( entity_detection : typing.Optional[SpeechToTextConvertRequestEntityDetection] Detect entities in the transcript. Can be 'all' to detect all entities, a single entity type or category string, or a list of entity types/categories. Categories include 'pii', 'phi', 'pci', 'other', 'offensive_language'. When enabled, detected entities will be returned in the 'entities' field with their text, type, and character positions. Usage of this parameter will incur additional costs. + no_verbatim : typing.Optional[bool] + If true, the transcription will not have any filler words, false starts and non-speech sounds. Only supported with scribe_v2 model. + keyterms : typing.Optional[typing.List[str]] A list of keyterms to bias the transcription towards. The keyterms are words or phrases you want the model to recognise more accurately. The number of keyterms cannot exceed 100. The length of each keyterm must be less than 50 characters. Keyterms can contain at most 5 words (after normalisation). For example ["hello", "world", "technical term"]. Usage of this parameter will incur additional costs. @@ -150,6 +154,7 @@ def convert( "use_multi_channel": use_multi_channel, "webhook_metadata": webhook_metadata, "entity_detection": entity_detection, + "no_verbatim": no_verbatim, "keyterms": keyterms, }, files={ @@ -217,6 +222,7 @@ async def convert( use_multi_channel: typing.Optional[bool] = OMIT, webhook_metadata: typing.Optional[SpeechToTextConvertRequestWebhookMetadata] = OMIT, entity_detection: typing.Optional[SpeechToTextConvertRequestEntityDetection] = OMIT, + no_verbatim: typing.Optional[bool] = OMIT, keyterms: typing.Optional[typing.List[str]] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[SpeechToTextConvertResponse]: @@ -282,6 +288,9 @@ async def convert( entity_detection : typing.Optional[SpeechToTextConvertRequestEntityDetection] Detect entities in the transcript. Can be 'all' to detect all entities, a single entity type or category string, or a list of entity types/categories. Categories include 'pii', 'phi', 'pci', 'other', 'offensive_language'. When enabled, detected entities will be returned in the 'entities' field with their text, type, and character positions. Usage of this parameter will incur additional costs. + no_verbatim : typing.Optional[bool] + If true, the transcription will not have any filler words, false starts and non-speech sounds. Only supported with scribe_v2 model. + keyterms : typing.Optional[typing.List[str]] A list of keyterms to bias the transcription towards. The keyterms are words or phrases you want the model to recognise more accurately. The number of keyterms cannot exceed 100. The length of each keyterm must be less than 50 characters. Keyterms can contain at most 5 words (after normalisation). For example ["hello", "world", "technical term"]. Usage of this parameter will incur additional costs. @@ -316,6 +325,7 @@ async def convert( "use_multi_channel": use_multi_channel, "webhook_metadata": webhook_metadata, "entity_detection": entity_detection, + "no_verbatim": no_verbatim, "keyterms": keyterms, }, files={ diff --git a/src/elevenlabs/types/__init__.py b/src/elevenlabs/types/__init__.py index 6cb089aa..4ce11d08 100644 --- a/src/elevenlabs/types/__init__.py +++ b/src/elevenlabs/types/__init__.py @@ -43,6 +43,7 @@ from .agent_metadata_response_model import AgentMetadataResponseModel from .agent_platform_settings_request_model import AgentPlatformSettingsRequestModel from .agent_platform_settings_response_model import AgentPlatformSettingsResponseModel + from .agent_prompt_change_tool_config import AgentPromptChangeToolConfig from .agent_simulated_chat_test_response_model import AgentSimulatedChatTestResponseModel from .agent_sort_by import AgentSortBy from .agent_successful_response_example import AgentSuccessfulResponseExample @@ -663,6 +664,7 @@ from .character_refresh_period import CharacterRefreshPeriod from .character_usage_response import CharacterUsageResponse from .chat_source_medium import ChatSourceMedium + from .check_rental_availability_params import CheckRentalAvailabilityParams from .check_service_availability_params import CheckServiceAvailabilityParams from .client_event import ClientEvent from .client_tool_config_input import ClientToolConfigInput @@ -891,6 +893,7 @@ from .create_previously_generated_voice_request import CreatePreviouslyGeneratedVoiceRequest from .create_product_params import CreateProductParams from .create_pronunciation_dictionary_response_model import CreatePronunciationDictionaryResponseModel + from .create_rental_booking_params import CreateRentalBookingParams from .create_response_unit_test_request import CreateResponseUnitTestRequest from .create_response_unit_test_request_dynamic_variables_value import ( CreateResponseUnitTestRequestDynamicVariablesValue, @@ -1030,12 +1033,6 @@ from .get_agent_knowledgebase_size_response_model import GetAgentKnowledgebaseSizeResponseModel from .get_agent_link_response_model import GetAgentLinkResponseModel from .get_agent_response_model import GetAgentResponseModel - from .get_agent_response_model_coaching_settings import ( - GetAgentResponseModelCoachingSettings, - GetAgentResponseModelCoachingSettings_Coached, - GetAgentResponseModelCoachingSettings_Coaching, - GetAgentResponseModelCoachingSettings_None, - ) from .get_agent_response_model_phone_numbers_item import ( GetAgentResponseModelPhoneNumbersItem, GetAgentResponseModelPhoneNumbersItem_SipTrunk, @@ -1215,6 +1212,7 @@ from .list_clients_params import ListClientsParams from .list_mcp_tools_response_model import ListMcpToolsResponseModel from .list_products_params import ListProductsParams + from .list_rental_services_params import ListRentalServicesParams from .list_response_agent_branch_summary import ListResponseAgentBranchSummary from .list_response_meta import ListResponseMeta from .list_services_params import ListServicesParams @@ -1273,6 +1271,10 @@ McpToolConfigOverrideInputOverridesValue_DynamicVariable, McpToolConfigOverrideInputOverridesValue_Llm, ) + from .memory_entry_create_tool_config import MemoryEntryCreateToolConfig + from .memory_entry_delete_tool_config import MemoryEntryDeleteToolConfig + from .memory_entry_search_tool_config import MemoryEntrySearchToolConfig + from .memory_entry_update_tool_config import MemoryEntryUpdateToolConfig from .merging_strategy import MergingStrategy from .messages_search_response import MessagesSearchResponse from .messages_search_result import MessagesSearchResult @@ -1544,8 +1546,6 @@ from .scribe_transcriber_error_payload import ScribeTranscriberErrorPayload from .scribe_unaccepted_terms_error_payload import ScribeUnacceptedTermsErrorPayload from .search_clients_params import SearchClientsParams - from .search_documentation_tool_config_input import SearchDocumentationToolConfigInput - from .search_documentation_tool_config_output import SearchDocumentationToolConfigOutput from .seat_type import SeatType from .secret_dependency_type import SecretDependencyType from .section_source import SectionSource @@ -1619,6 +1619,8 @@ from .studio_agent_tool_settings_model import StudioAgentToolSettingsModel from .studio_clip_reference import StudioClipReference from .studio_clip_reference_clip_type import StudioClipReferenceClipType + from .studio_text_style_outline_model import StudioTextStyleOutlineModel + from .studio_text_style_shadow_model import StudioTextStyleShadowModel from .subscription import Subscription from .subscription_response import SubscriptionResponse from .subscription_response_model_currency import SubscriptionResponseModelCurrency @@ -1628,10 +1630,14 @@ from .system_tool_config_input import SystemToolConfigInput from .system_tool_config_input_params import ( SystemToolConfigInputParams, + SystemToolConfigInputParams_AgentPromptChange, SystemToolConfigInputParams_EndCall, SystemToolConfigInputParams_LanguageDetection, + SystemToolConfigInputParams_MemoryEntryCreate, + SystemToolConfigInputParams_MemoryEntryDelete, + SystemToolConfigInputParams_MemoryEntrySearch, + SystemToolConfigInputParams_MemoryEntryUpdate, SystemToolConfigInputParams_PlayKeypadTouchTone, - SystemToolConfigInputParams_SearchDocumentation, SystemToolConfigInputParams_SkipTurn, SystemToolConfigInputParams_TransferToAgent, SystemToolConfigInputParams_TransferToNumber, @@ -1640,10 +1646,14 @@ from .system_tool_config_output import SystemToolConfigOutput from .system_tool_config_output_params import ( SystemToolConfigOutputParams, + SystemToolConfigOutputParams_AgentPromptChange, SystemToolConfigOutputParams_EndCall, SystemToolConfigOutputParams_LanguageDetection, + SystemToolConfigOutputParams_MemoryEntryCreate, + SystemToolConfigOutputParams_MemoryEntryDelete, + SystemToolConfigOutputParams_MemoryEntrySearch, + SystemToolConfigOutputParams_MemoryEntryUpdate, SystemToolConfigOutputParams_PlayKeypadTouchTone, - SystemToolConfigOutputParams_SearchDocumentation, SystemToolConfigOutputParams_SkipTurn, SystemToolConfigOutputParams_TransferToAgent, SystemToolConfigOutputParams_TransferToNumber, @@ -1787,6 +1797,7 @@ from .user import User from .user_feedback import UserFeedback from .user_feedback_score import UserFeedbackScore + from .users_sort_by import UsersSortBy from .utterance_response_model import UtteranceResponseModel from .vad_config import VadConfig from .vad_config_workflow_override import VadConfigWorkflowOverride @@ -1795,6 +1806,14 @@ from .verification_attempt_response import VerificationAttemptResponse from .verified_voice_language_response_model import VerifiedVoiceLanguageResponseModel from .verify_pvc_voice_captcha_response_model import VerifyPvcVoiceCaptchaResponseModel + from .video_analysis import VideoAnalysis + from .video_analysis_result import VideoAnalysisResult + from .video_analysis_status import VideoAnalysisStatus + from .video_key_moment import VideoKeyMoment + from .video_segment import VideoSegment + from .video_subject import VideoSubject + from .video_transcription import VideoTranscription + from .video_transcription_word import VideoTranscriptionWord from .voice import Voice from .voice_category import VoiceCategory from .voice_design_preview_response import VoiceDesignPreviewResponse @@ -2084,6 +2103,7 @@ "AgentMetadataResponseModel": ".agent_metadata_response_model", "AgentPlatformSettingsRequestModel": ".agent_platform_settings_request_model", "AgentPlatformSettingsResponseModel": ".agent_platform_settings_response_model", + "AgentPromptChangeToolConfig": ".agent_prompt_change_tool_config", "AgentSimulatedChatTestResponseModel": ".agent_simulated_chat_test_response_model", "AgentSortBy": ".agent_sort_by", "AgentSuccessfulResponseExample": ".agent_successful_response_example", @@ -2632,6 +2652,7 @@ "CharacterRefreshPeriod": ".character_refresh_period", "CharacterUsageResponse": ".character_usage_response", "ChatSourceMedium": ".chat_source_medium", + "CheckRentalAvailabilityParams": ".check_rental_availability_params", "CheckServiceAvailabilityParams": ".check_service_availability_params", "ClientEvent": ".client_event", "ClientToolConfigInput": ".client_tool_config_input", @@ -2792,6 +2813,7 @@ "CreatePreviouslyGeneratedVoiceRequest": ".create_previously_generated_voice_request", "CreateProductParams": ".create_product_params", "CreatePronunciationDictionaryResponseModel": ".create_pronunciation_dictionary_response_model", + "CreateRentalBookingParams": ".create_rental_booking_params", "CreateResponseUnitTestRequest": ".create_response_unit_test_request", "CreateResponseUnitTestRequestDynamicVariablesValue": ".create_response_unit_test_request_dynamic_variables_value", "CreateServiceParams": ".create_service_params", @@ -2921,10 +2943,6 @@ "GetAgentKnowledgebaseSizeResponseModel": ".get_agent_knowledgebase_size_response_model", "GetAgentLinkResponseModel": ".get_agent_link_response_model", "GetAgentResponseModel": ".get_agent_response_model", - "GetAgentResponseModelCoachingSettings": ".get_agent_response_model_coaching_settings", - "GetAgentResponseModelCoachingSettings_Coached": ".get_agent_response_model_coaching_settings", - "GetAgentResponseModelCoachingSettings_Coaching": ".get_agent_response_model_coaching_settings", - "GetAgentResponseModelCoachingSettings_None": ".get_agent_response_model_coaching_settings", "GetAgentResponseModelPhoneNumbersItem": ".get_agent_response_model_phone_numbers_item", "GetAgentResponseModelPhoneNumbersItem_SipTrunk": ".get_agent_response_model_phone_numbers_item", "GetAgentResponseModelPhoneNumbersItem_Twilio": ".get_agent_response_model_phone_numbers_item", @@ -3064,6 +3082,7 @@ "ListClientsParams": ".list_clients_params", "ListMcpToolsResponseModel": ".list_mcp_tools_response_model", "ListProductsParams": ".list_products_params", + "ListRentalServicesParams": ".list_rental_services_params", "ListResponseAgentBranchSummary": ".list_response_agent_branch_summary", "ListResponseMeta": ".list_response_meta", "ListServicesParams": ".list_services_params", @@ -3118,6 +3137,10 @@ "McpToolConfigOverrideInputOverridesValue_Constant": ".mcp_tool_config_override_input_overrides_value", "McpToolConfigOverrideInputOverridesValue_DynamicVariable": ".mcp_tool_config_override_input_overrides_value", "McpToolConfigOverrideInputOverridesValue_Llm": ".mcp_tool_config_override_input_overrides_value", + "MemoryEntryCreateToolConfig": ".memory_entry_create_tool_config", + "MemoryEntryDeleteToolConfig": ".memory_entry_delete_tool_config", + "MemoryEntrySearchToolConfig": ".memory_entry_search_tool_config", + "MemoryEntryUpdateToolConfig": ".memory_entry_update_tool_config", "MergingStrategy": ".merging_strategy", "MessagesSearchResponse": ".messages_search_response", "MessagesSearchResult": ".messages_search_result", @@ -3357,8 +3380,6 @@ "ScribeTranscriberErrorPayload": ".scribe_transcriber_error_payload", "ScribeUnacceptedTermsErrorPayload": ".scribe_unaccepted_terms_error_payload", "SearchClientsParams": ".search_clients_params", - "SearchDocumentationToolConfigInput": ".search_documentation_tool_config_input", - "SearchDocumentationToolConfigOutput": ".search_documentation_tool_config_output", "SeatType": ".seat_type", "SecretDependencyType": ".secret_dependency_type", "SectionSource": ".section_source", @@ -3430,6 +3451,8 @@ "StudioAgentToolSettingsModel": ".studio_agent_tool_settings_model", "StudioClipReference": ".studio_clip_reference", "StudioClipReferenceClipType": ".studio_clip_reference_clip_type", + "StudioTextStyleOutlineModel": ".studio_text_style_outline_model", + "StudioTextStyleShadowModel": ".studio_text_style_shadow_model", "Subscription": ".subscription", "SubscriptionResponse": ".subscription_response", "SubscriptionResponseModelCurrency": ".subscription_response_model_currency", @@ -3438,20 +3461,28 @@ "SupportedVoice": ".supported_voice", "SystemToolConfigInput": ".system_tool_config_input", "SystemToolConfigInputParams": ".system_tool_config_input_params", + "SystemToolConfigInputParams_AgentPromptChange": ".system_tool_config_input_params", "SystemToolConfigInputParams_EndCall": ".system_tool_config_input_params", "SystemToolConfigInputParams_LanguageDetection": ".system_tool_config_input_params", + "SystemToolConfigInputParams_MemoryEntryCreate": ".system_tool_config_input_params", + "SystemToolConfigInputParams_MemoryEntryDelete": ".system_tool_config_input_params", + "SystemToolConfigInputParams_MemoryEntrySearch": ".system_tool_config_input_params", + "SystemToolConfigInputParams_MemoryEntryUpdate": ".system_tool_config_input_params", "SystemToolConfigInputParams_PlayKeypadTouchTone": ".system_tool_config_input_params", - "SystemToolConfigInputParams_SearchDocumentation": ".system_tool_config_input_params", "SystemToolConfigInputParams_SkipTurn": ".system_tool_config_input_params", "SystemToolConfigInputParams_TransferToAgent": ".system_tool_config_input_params", "SystemToolConfigInputParams_TransferToNumber": ".system_tool_config_input_params", "SystemToolConfigInputParams_VoicemailDetection": ".system_tool_config_input_params", "SystemToolConfigOutput": ".system_tool_config_output", "SystemToolConfigOutputParams": ".system_tool_config_output_params", + "SystemToolConfigOutputParams_AgentPromptChange": ".system_tool_config_output_params", "SystemToolConfigOutputParams_EndCall": ".system_tool_config_output_params", "SystemToolConfigOutputParams_LanguageDetection": ".system_tool_config_output_params", + "SystemToolConfigOutputParams_MemoryEntryCreate": ".system_tool_config_output_params", + "SystemToolConfigOutputParams_MemoryEntryDelete": ".system_tool_config_output_params", + "SystemToolConfigOutputParams_MemoryEntrySearch": ".system_tool_config_output_params", + "SystemToolConfigOutputParams_MemoryEntryUpdate": ".system_tool_config_output_params", "SystemToolConfigOutputParams_PlayKeypadTouchTone": ".system_tool_config_output_params", - "SystemToolConfigOutputParams_SearchDocumentation": ".system_tool_config_output_params", "SystemToolConfigOutputParams_SkipTurn": ".system_tool_config_output_params", "SystemToolConfigOutputParams_TransferToAgent": ".system_tool_config_output_params", "SystemToolConfigOutputParams_TransferToNumber": ".system_tool_config_output_params", @@ -3580,6 +3611,7 @@ "User": ".user", "UserFeedback": ".user_feedback", "UserFeedbackScore": ".user_feedback_score", + "UsersSortBy": ".users_sort_by", "UtteranceResponseModel": ".utterance_response_model", "VadConfig": ".vad_config", "VadConfigWorkflowOverride": ".vad_config_workflow_override", @@ -3588,6 +3620,14 @@ "VerificationAttemptResponse": ".verification_attempt_response", "VerifiedVoiceLanguageResponseModel": ".verified_voice_language_response_model", "VerifyPvcVoiceCaptchaResponseModel": ".verify_pvc_voice_captcha_response_model", + "VideoAnalysis": ".video_analysis", + "VideoAnalysisResult": ".video_analysis_result", + "VideoAnalysisStatus": ".video_analysis_status", + "VideoKeyMoment": ".video_key_moment", + "VideoSegment": ".video_segment", + "VideoSubject": ".video_subject", + "VideoTranscription": ".video_transcription", + "VideoTranscriptionWord": ".video_transcription_word", "Voice": ".voice", "VoiceCategory": ".voice_category", "VoiceDesignPreviewResponse": ".voice_design_preview_response", @@ -3857,6 +3897,7 @@ def __dir__(): "AgentMetadataResponseModel", "AgentPlatformSettingsRequestModel", "AgentPlatformSettingsResponseModel", + "AgentPromptChangeToolConfig", "AgentSimulatedChatTestResponseModel", "AgentSortBy", "AgentSuccessfulResponseExample", @@ -4405,6 +4446,7 @@ def __dir__(): "CharacterRefreshPeriod", "CharacterUsageResponse", "ChatSourceMedium", + "CheckRentalAvailabilityParams", "CheckServiceAvailabilityParams", "ClientEvent", "ClientToolConfigInput", @@ -4565,6 +4607,7 @@ def __dir__(): "CreatePreviouslyGeneratedVoiceRequest", "CreateProductParams", "CreatePronunciationDictionaryResponseModel", + "CreateRentalBookingParams", "CreateResponseUnitTestRequest", "CreateResponseUnitTestRequestDynamicVariablesValue", "CreateServiceParams", @@ -4694,10 +4737,6 @@ def __dir__(): "GetAgentKnowledgebaseSizeResponseModel", "GetAgentLinkResponseModel", "GetAgentResponseModel", - "GetAgentResponseModelCoachingSettings", - "GetAgentResponseModelCoachingSettings_Coached", - "GetAgentResponseModelCoachingSettings_Coaching", - "GetAgentResponseModelCoachingSettings_None", "GetAgentResponseModelPhoneNumbersItem", "GetAgentResponseModelPhoneNumbersItem_SipTrunk", "GetAgentResponseModelPhoneNumbersItem_Twilio", @@ -4837,6 +4876,7 @@ def __dir__(): "ListClientsParams", "ListMcpToolsResponseModel", "ListProductsParams", + "ListRentalServicesParams", "ListResponseAgentBranchSummary", "ListResponseMeta", "ListServicesParams", @@ -4891,6 +4931,10 @@ def __dir__(): "McpToolConfigOverrideInputOverridesValue_Constant", "McpToolConfigOverrideInputOverridesValue_DynamicVariable", "McpToolConfigOverrideInputOverridesValue_Llm", + "MemoryEntryCreateToolConfig", + "MemoryEntryDeleteToolConfig", + "MemoryEntrySearchToolConfig", + "MemoryEntryUpdateToolConfig", "MergingStrategy", "MessagesSearchResponse", "MessagesSearchResult", @@ -5130,8 +5174,6 @@ def __dir__(): "ScribeTranscriberErrorPayload", "ScribeUnacceptedTermsErrorPayload", "SearchClientsParams", - "SearchDocumentationToolConfigInput", - "SearchDocumentationToolConfigOutput", "SeatType", "SecretDependencyType", "SectionSource", @@ -5203,6 +5245,8 @@ def __dir__(): "StudioAgentToolSettingsModel", "StudioClipReference", "StudioClipReferenceClipType", + "StudioTextStyleOutlineModel", + "StudioTextStyleShadowModel", "Subscription", "SubscriptionResponse", "SubscriptionResponseModelCurrency", @@ -5211,20 +5255,28 @@ def __dir__(): "SupportedVoice", "SystemToolConfigInput", "SystemToolConfigInputParams", + "SystemToolConfigInputParams_AgentPromptChange", "SystemToolConfigInputParams_EndCall", "SystemToolConfigInputParams_LanguageDetection", + "SystemToolConfigInputParams_MemoryEntryCreate", + "SystemToolConfigInputParams_MemoryEntryDelete", + "SystemToolConfigInputParams_MemoryEntrySearch", + "SystemToolConfigInputParams_MemoryEntryUpdate", "SystemToolConfigInputParams_PlayKeypadTouchTone", - "SystemToolConfigInputParams_SearchDocumentation", "SystemToolConfigInputParams_SkipTurn", "SystemToolConfigInputParams_TransferToAgent", "SystemToolConfigInputParams_TransferToNumber", "SystemToolConfigInputParams_VoicemailDetection", "SystemToolConfigOutput", "SystemToolConfigOutputParams", + "SystemToolConfigOutputParams_AgentPromptChange", "SystemToolConfigOutputParams_EndCall", "SystemToolConfigOutputParams_LanguageDetection", + "SystemToolConfigOutputParams_MemoryEntryCreate", + "SystemToolConfigOutputParams_MemoryEntryDelete", + "SystemToolConfigOutputParams_MemoryEntrySearch", + "SystemToolConfigOutputParams_MemoryEntryUpdate", "SystemToolConfigOutputParams_PlayKeypadTouchTone", - "SystemToolConfigOutputParams_SearchDocumentation", "SystemToolConfigOutputParams_SkipTurn", "SystemToolConfigOutputParams_TransferToAgent", "SystemToolConfigOutputParams_TransferToNumber", @@ -5353,6 +5405,7 @@ def __dir__(): "User", "UserFeedback", "UserFeedbackScore", + "UsersSortBy", "UtteranceResponseModel", "VadConfig", "VadConfigWorkflowOverride", @@ -5361,6 +5414,14 @@ def __dir__(): "VerificationAttemptResponse", "VerifiedVoiceLanguageResponseModel", "VerifyPvcVoiceCaptchaResponseModel", + "VideoAnalysis", + "VideoAnalysisResult", + "VideoAnalysisStatus", + "VideoKeyMoment", + "VideoSegment", + "VideoSubject", + "VideoTranscription", + "VideoTranscriptionWord", "Voice", "VoiceCategory", "VoiceDesignPreviewResponse", diff --git a/src/elevenlabs/types/agent_prompt_change_tool_config.py b/src/elevenlabs/types/agent_prompt_change_tool_config.py new file mode 100644 index 00000000..eeb80638 --- /dev/null +++ b/src/elevenlabs/types/agent_prompt_change_tool_config.py @@ -0,0 +1,18 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.unchecked_base_model import UncheckedBaseModel + + +class AgentPromptChangeToolConfig(UncheckedBaseModel): + 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/elevenlabs/types/asr_provider.py b/src/elevenlabs/types/asr_provider.py index f9dc1d95..9c6df052 100644 --- a/src/elevenlabs/types/asr_provider.py +++ b/src/elevenlabs/types/asr_provider.py @@ -2,4 +2,4 @@ import typing -AsrProvider = typing.Union[typing.Literal["elevenlabs", "scribe_realtime", "scribe_v2_turbo"], typing.Any] +AsrProvider = typing.Union[typing.Literal["elevenlabs", "scribe_realtime"], typing.Any] diff --git a/src/elevenlabs/types/batch_call_detailed_response.py b/src/elevenlabs/types/batch_call_detailed_response.py index 4ee736f6..12347178 100644 --- a/src/elevenlabs/types/batch_call_detailed_response.py +++ b/src/elevenlabs/types/batch_call_detailed_response.py @@ -33,6 +33,11 @@ class BatchCallDetailedResponse(UncheckedBaseModel): status: BatchCallStatus retry_count: int telephony_call_config: TelephonyCallConfig + target_concurrency_limit: typing.Optional[int] = pydantic.Field(default=None) + """ + Maximum number of simultaneous calls for this batch. When set, dispatch is governed by this limit rather than workspace/agent capacity percentages. + """ + agent_name: str recipients: typing.List[OutboundCallRecipientResponseModel] diff --git a/src/elevenlabs/types/batch_call_response.py b/src/elevenlabs/types/batch_call_response.py index 44231f9d..769a6f18 100644 --- a/src/elevenlabs/types/batch_call_response.py +++ b/src/elevenlabs/types/batch_call_response.py @@ -28,6 +28,11 @@ class BatchCallResponse(UncheckedBaseModel): status: BatchCallStatus retry_count: int telephony_call_config: TelephonyCallConfig + target_concurrency_limit: typing.Optional[int] = pydantic.Field(default=None) + """ + Maximum number of simultaneous calls for this batch. When set, dispatch is governed by this limit rather than workspace/agent capacity percentages. + """ + agent_name: str if IS_PYDANTIC_V2: diff --git a/src/elevenlabs/types/built_in_tools_input.py b/src/elevenlabs/types/built_in_tools_input.py index 63786d92..4a1b5ddd 100644 --- a/src/elevenlabs/types/built_in_tools_input.py +++ b/src/elevenlabs/types/built_in_tools_input.py @@ -44,11 +44,6 @@ class BuiltInToolsInput(UncheckedBaseModel): The voicemail detection tool """ - search_documentation: typing.Optional[SystemToolConfigInput] = pydantic.Field(default=None) - """ - The search documentation tool for RAG - """ - 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/elevenlabs/types/built_in_tools_output.py b/src/elevenlabs/types/built_in_tools_output.py index 42a275c2..4957e84d 100644 --- a/src/elevenlabs/types/built_in_tools_output.py +++ b/src/elevenlabs/types/built_in_tools_output.py @@ -44,11 +44,6 @@ class BuiltInToolsOutput(UncheckedBaseModel): The voicemail detection tool """ - search_documentation: typing.Optional[SystemToolConfigOutput] = pydantic.Field(default=None) - """ - The search documentation tool for RAG - """ - 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/elevenlabs/types/built_in_tools_workflow_override_input.py b/src/elevenlabs/types/built_in_tools_workflow_override_input.py index 98d3f6e4..0b458f74 100644 --- a/src/elevenlabs/types/built_in_tools_workflow_override_input.py +++ b/src/elevenlabs/types/built_in_tools_workflow_override_input.py @@ -44,11 +44,6 @@ class BuiltInToolsWorkflowOverrideInput(UncheckedBaseModel): The voicemail detection tool """ - search_documentation: typing.Optional[SystemToolConfigInput] = pydantic.Field(default=None) - """ - The search documentation tool for RAG - """ - 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/elevenlabs/types/built_in_tools_workflow_override_output.py b/src/elevenlabs/types/built_in_tools_workflow_override_output.py index 24fad8d7..b1b13389 100644 --- a/src/elevenlabs/types/built_in_tools_workflow_override_output.py +++ b/src/elevenlabs/types/built_in_tools_workflow_override_output.py @@ -44,11 +44,6 @@ class BuiltInToolsWorkflowOverrideOutput(UncheckedBaseModel): The voicemail detection tool """ - search_documentation: typing.Optional[SystemToolConfigOutput] = pydantic.Field(default=None) - """ - The search documentation tool for RAG - """ - 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/elevenlabs/types/caption_style_model.py b/src/elevenlabs/types/caption_style_model.py index 81bdd163..f8c9d3fd 100644 --- a/src/elevenlabs/types/caption_style_model.py +++ b/src/elevenlabs/types/caption_style_model.py @@ -14,6 +14,8 @@ from .caption_style_template_model import CaptionStyleTemplateModel from .caption_style_vertical_placement_model import CaptionStyleVerticalPlacementModel from .caption_style_word_animation_model import CaptionStyleWordAnimationModel +from .studio_text_style_outline_model import StudioTextStyleOutlineModel +from .studio_text_style_shadow_model import StudioTextStyleShadowModel class CaptionStyleModel(UncheckedBaseModel): @@ -24,6 +26,8 @@ class CaptionStyleModel(UncheckedBaseModel): text_align: typing.Optional[CaptionStyleModelTextAlign] = None text_style: typing.Optional[CaptionStyleModelTextStyle] = None text_weight: typing.Optional[CaptionStyleModelTextWeight] = None + text_shadow: typing.Optional[StudioTextStyleShadowModel] = None + text_outline: typing.Optional[StudioTextStyleOutlineModel] = None background_enabled: typing.Optional[bool] = None background_color: typing.Optional[str] = None background_opacity: typing.Optional[float] = None diff --git a/src/elevenlabs/types/chapter_response.py b/src/elevenlabs/types/chapter_response.py index 0154b39b..947bc290 100644 --- a/src/elevenlabs/types/chapter_response.py +++ b/src/elevenlabs/types/chapter_response.py @@ -45,6 +45,11 @@ class ChapterResponse(UncheckedBaseModel): Whether the chapter has a video. """ + has_visual_content: typing.Optional[bool] = pydantic.Field(default=None) + """ + Whether the chapter has any visual content (video, image, or text clips). + """ + voice_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None) """ List of voice ids used by the chapter diff --git a/src/elevenlabs/types/chapter_with_content_response_model.py b/src/elevenlabs/types/chapter_with_content_response_model.py index 15d01744..13b92997 100644 --- a/src/elevenlabs/types/chapter_with_content_response_model.py +++ b/src/elevenlabs/types/chapter_with_content_response_model.py @@ -46,6 +46,11 @@ class ChapterWithContentResponseModel(UncheckedBaseModel): Whether the chapter has a video. """ + has_visual_content: typing.Optional[bool] = pydantic.Field(default=None) + """ + Whether the chapter has any visual content (video, image, or text clips). + """ + voice_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None) """ List of voice ids used by the chapter diff --git a/src/elevenlabs/types/check_rental_availability_params.py b/src/elevenlabs/types/check_rental_availability_params.py new file mode 100644 index 00000000..0c8bf766 --- /dev/null +++ b/src/elevenlabs/types/check_rental_availability_params.py @@ -0,0 +1,20 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.unchecked_base_model import UncheckedBaseModel + + +class CheckRentalAvailabilityParams(UncheckedBaseModel): + smb_tool_type: typing.Optional[typing.Literal["check_rental_availability"]] = 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/elevenlabs/types/coached_agent_settings.py b/src/elevenlabs/types/coached_agent_settings.py index dc4536be..9224fbe4 100644 --- a/src/elevenlabs/types/coached_agent_settings.py +++ b/src/elevenlabs/types/coached_agent_settings.py @@ -8,6 +8,7 @@ class CoachedAgentSettings(UncheckedBaseModel): + type: typing.Optional[typing.Literal["coached"]] = None memory_base_id: typing.Optional[str] = None if IS_PYDANTIC_V2: diff --git a/src/elevenlabs/types/coaching_agent_settings.py b/src/elevenlabs/types/coaching_agent_settings.py index 15865d3c..f29e5180 100644 --- a/src/elevenlabs/types/coaching_agent_settings.py +++ b/src/elevenlabs/types/coaching_agent_settings.py @@ -12,6 +12,7 @@ class CoachingAgentSettings(UncheckedBaseModel): Runtime-only settings for the virtual coach. Not stored in the database. """ + type: typing.Optional[typing.Literal["coaching"]] = None coached_agent_id: str memory_base_id: typing.Optional[str] = None diff --git a/src/elevenlabs/types/conversation_history_metadata_common_model_phone_call.py b/src/elevenlabs/types/conversation_history_metadata_common_model_phone_call.py index 2d197f3d..443ffb13 100644 --- a/src/elevenlabs/types/conversation_history_metadata_common_model_phone_call.py +++ b/src/elevenlabs/types/conversation_history_metadata_common_model_phone_call.py @@ -21,6 +21,7 @@ class ConversationHistoryMetadataCommonModelPhoneCall_SipTrunking(UncheckedBaseM agent_number: str external_number: str call_sid: str + sip_header_dynamic_variables: typing.Optional[typing.Dict[str, str]] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/elevenlabs/types/conversation_history_sip_trunking_phone_call_model.py b/src/elevenlabs/types/conversation_history_sip_trunking_phone_call_model.py index ef7e841d..5520bd41 100644 --- a/src/elevenlabs/types/conversation_history_sip_trunking_phone_call_model.py +++ b/src/elevenlabs/types/conversation_history_sip_trunking_phone_call_model.py @@ -16,6 +16,7 @@ class ConversationHistorySipTrunkingPhoneCallModel(UncheckedBaseModel): agent_number: str external_number: str call_sid: str + sip_header_dynamic_variables: typing.Optional[typing.Dict[str, str]] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/elevenlabs/types/conversation_initiation_source.py b/src/elevenlabs/types/conversation_initiation_source.py index 5f1f8ffa..28b12729 100644 --- a/src/elevenlabs/types/conversation_initiation_source.py +++ b/src/elevenlabs/types/conversation_initiation_source.py @@ -20,6 +20,7 @@ "flutter_sdk", "zendesk_integration", "slack_integration", + "template_preview", ], typing.Any, ] diff --git a/src/elevenlabs/types/conversation_user_response_model.py b/src/elevenlabs/types/conversation_user_response_model.py index 933d983a..f8a2b194 100644 --- a/src/elevenlabs/types/conversation_user_response_model.py +++ b/src/elevenlabs/types/conversation_user_response_model.py @@ -12,7 +12,7 @@ class ConversationUserResponseModel(UncheckedBaseModel): last_contact_unix_secs: int first_contact_unix_secs: int conversation_count: int - last_contact_agent_id: str + last_contact_agent_id: typing.Optional[str] = None last_contact_conversation_id: str last_contact_agent_name: typing.Optional[str] = None diff --git a/src/elevenlabs/types/create_rental_booking_params.py b/src/elevenlabs/types/create_rental_booking_params.py new file mode 100644 index 00000000..0ae2b9aa --- /dev/null +++ b/src/elevenlabs/types/create_rental_booking_params.py @@ -0,0 +1,20 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.unchecked_base_model import UncheckedBaseModel + + +class CreateRentalBookingParams(UncheckedBaseModel): + smb_tool_type: typing.Optional[typing.Literal["create_rental_booking"]] = 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/elevenlabs/types/get_agent_response_model.py b/src/elevenlabs/types/get_agent_response_model.py index 03aaa986..5c06219a 100644 --- a/src/elevenlabs/types/get_agent_response_model.py +++ b/src/elevenlabs/types/get_agent_response_model.py @@ -11,7 +11,6 @@ from .agent_platform_settings_response_model import AgentPlatformSettingsResponseModel from .agent_workflow_response_model import AgentWorkflowResponseModel from .conversational_config import ConversationalConfig -from .get_agent_response_model_coaching_settings import GetAgentResponseModelCoachingSettings from .get_agent_response_model_phone_numbers_item import GetAgentResponseModelPhoneNumbersItem from .get_whats_app_account_response import GetWhatsAppAccountResponse from .resource_access_info import ResourceAccessInfo @@ -83,11 +82,6 @@ class GetAgentResponseModel(UncheckedBaseModel): The ID of the main branch for this agent """ - coaching_settings: typing.Optional[GetAgentResponseModelCoachingSettings] = pydantic.Field(default=None) - """ - Coaching settings for the agent if configured - """ - 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/elevenlabs/types/get_agent_response_model_coaching_settings.py b/src/elevenlabs/types/get_agent_response_model_coaching_settings.py deleted file mode 100644 index 6c960f51..00000000 --- a/src/elevenlabs/types/get_agent_response_model_coaching_settings.py +++ /dev/null @@ -1,63 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -from __future__ import annotations - -import typing - -import pydantic -import typing_extensions -from ..core.pydantic_utilities import IS_PYDANTIC_V2 -from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata - - -class GetAgentResponseModelCoachingSettings_Coached(UncheckedBaseModel): - type: typing.Literal["coached"] = "coached" - memory_base_id: typing.Optional[str] = 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 - - -class GetAgentResponseModelCoachingSettings_Coaching(UncheckedBaseModel): - type: typing.Literal["coaching"] = "coaching" - coached_agent_id: str - memory_base_id: typing.Optional[str] = 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 - - -class GetAgentResponseModelCoachingSettings_None(UncheckedBaseModel): - type: typing.Literal["none"] = "none" - memory_base_id: typing.Optional[str] = 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 - - -GetAgentResponseModelCoachingSettings = typing_extensions.Annotated[ - typing.Union[ - GetAgentResponseModelCoachingSettings_Coached, - GetAgentResponseModelCoachingSettings_Coaching, - GetAgentResponseModelCoachingSettings_None, - ], - UnionMetadata(discriminant="type"), -] diff --git a/src/elevenlabs/types/get_conversation_response_model.py b/src/elevenlabs/types/get_conversation_response_model.py index cd19ad75..d845f81a 100644 --- a/src/elevenlabs/types/get_conversation_response_model.py +++ b/src/elevenlabs/types/get_conversation_response_model.py @@ -28,6 +28,7 @@ class GetConversationResponseModel(UncheckedBaseModel): metadata: ConversationHistoryMetadataCommonModel analysis: typing.Optional[ConversationHistoryAnalysisCommonModel] = None conversation_initiation_client_data: typing.Optional[ConversationInitiationClientDataRequestOutput] = None + environment: typing.Optional[str] = None conversation_id: str has_audio: bool has_user_audio: bool diff --git a/src/elevenlabs/types/get_whats_app_account_response.py b/src/elevenlabs/types/get_whats_app_account_response.py index 6dbbc0de..41be545b 100644 --- a/src/elevenlabs/types/get_whats_app_account_response.py +++ b/src/elevenlabs/types/get_whats_app_account_response.py @@ -15,6 +15,7 @@ class GetWhatsAppAccountResponse(UncheckedBaseModel): phone_number: str assigned_agent_id: typing.Optional[str] = None enable_messaging: typing.Optional[bool] = None + enable_audio_message_response: typing.Optional[bool] = None assigned_agent_name: typing.Optional[str] = None if IS_PYDANTIC_V2: diff --git a/src/elevenlabs/types/list_rental_services_params.py b/src/elevenlabs/types/list_rental_services_params.py new file mode 100644 index 00000000..6f34d315 --- /dev/null +++ b/src/elevenlabs/types/list_rental_services_params.py @@ -0,0 +1,21 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.unchecked_base_model import UncheckedBaseModel + + +class ListRentalServicesParams(UncheckedBaseModel): + list_kwargs: typing.Optional[typing.Dict[str, typing.Any]] = None + smb_tool_type: typing.Optional[typing.Literal["list_rental_services"]] = 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/elevenlabs/types/llm.py b/src/elevenlabs/types/llm.py index 06d877e4..4ad7d708 100644 --- a/src/elevenlabs/types/llm.py +++ b/src/elevenlabs/types/llm.py @@ -26,6 +26,7 @@ "gemini-2.5-flash", "gemini-3-pro-preview", "gemini-3-flash-preview", + "gemini-3.1-flash-lite-preview", "claude-sonnet-4-5", "claude-sonnet-4-6", "claude-sonnet-4", diff --git a/src/elevenlabs/types/memory_entry_create_tool_config.py b/src/elevenlabs/types/memory_entry_create_tool_config.py new file mode 100644 index 00000000..31d3119c --- /dev/null +++ b/src/elevenlabs/types/memory_entry_create_tool_config.py @@ -0,0 +1,18 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.unchecked_base_model import UncheckedBaseModel + + +class MemoryEntryCreateToolConfig(UncheckedBaseModel): + 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/elevenlabs/types/memory_entry_delete_tool_config.py b/src/elevenlabs/types/memory_entry_delete_tool_config.py new file mode 100644 index 00000000..9668b8a1 --- /dev/null +++ b/src/elevenlabs/types/memory_entry_delete_tool_config.py @@ -0,0 +1,18 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.unchecked_base_model import UncheckedBaseModel + + +class MemoryEntryDeleteToolConfig(UncheckedBaseModel): + 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/elevenlabs/types/memory_entry_search_tool_config.py b/src/elevenlabs/types/memory_entry_search_tool_config.py new file mode 100644 index 00000000..8dab7f22 --- /dev/null +++ b/src/elevenlabs/types/memory_entry_search_tool_config.py @@ -0,0 +1,18 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.unchecked_base_model import UncheckedBaseModel + + +class MemoryEntrySearchToolConfig(UncheckedBaseModel): + 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/elevenlabs/types/memory_entry_update_tool_config.py b/src/elevenlabs/types/memory_entry_update_tool_config.py new file mode 100644 index 00000000..4852bf47 --- /dev/null +++ b/src/elevenlabs/types/memory_entry_update_tool_config.py @@ -0,0 +1,18 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.unchecked_base_model import UncheckedBaseModel + + +class MemoryEntryUpdateToolConfig(UncheckedBaseModel): + 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/elevenlabs/types/no_coaching_settings.py b/src/elevenlabs/types/no_coaching_settings.py index 36312d8b..01fb7433 100644 --- a/src/elevenlabs/types/no_coaching_settings.py +++ b/src/elevenlabs/types/no_coaching_settings.py @@ -8,6 +8,7 @@ class NoCoachingSettings(UncheckedBaseModel): + type: typing.Optional[typing.Literal["none"]] = None memory_base_id: typing.Optional[str] = None if IS_PYDANTIC_V2: diff --git a/src/elevenlabs/types/pending_clip_task_type.py b/src/elevenlabs/types/pending_clip_task_type.py index 9e9650b9..ccedd5d0 100644 --- a/src/elevenlabs/types/pending_clip_task_type.py +++ b/src/elevenlabs/types/pending_clip_task_type.py @@ -3,5 +3,5 @@ import typing PendingClipTaskType = typing.Union[ - typing.Literal["preprocessing", "speech_import", "dubbing", "video_to_music"], typing.Any + typing.Literal["preprocessing", "speech_import", "dubbing", "video_to_music", "media_generation"], typing.Any ] diff --git a/src/elevenlabs/types/project_extended_response_model_assets_item.py b/src/elevenlabs/types/project_extended_response_model_assets_item.py index 502cee73..95e6f0a3 100644 --- a/src/elevenlabs/types/project_extended_response_model_assets_item.py +++ b/src/elevenlabs/types/project_extended_response_model_assets_item.py @@ -14,6 +14,7 @@ from .pending_clip_task import PendingClipTask from .project_external_audio_response_model_source_context import ProjectExternalAudioResponseModelSourceContext from .project_video_thumbnail_sheet_response_model import ProjectVideoThumbnailSheetResponseModel +from .video_analysis import VideoAnalysis class ProjectExtendedResponseModelAssetsItem_Video(UncheckedBaseModel): @@ -51,8 +52,10 @@ class ProjectExtendedResponseModelAssetsItem_Video(UncheckedBaseModel): export_format_ready: typing.Optional[bool] = None current_snapshot_id: typing.Optional[str] = None source_context: typing.Optional[GenerationSourceContext] = None + analysis: typing.Optional[VideoAnalysis] = None canvas_placement: typing.Optional[CanvasPlacement] = None animation: typing.Optional[ClipAnimation] = None + playback_speed: typing.Optional[float] = None track_id: typing.Optional[str] = None preview_job_progress: typing.Optional[float] = None import_speech_progress: typing.Optional[float] = None diff --git a/src/elevenlabs/types/project_video_response_model.py b/src/elevenlabs/types/project_video_response_model.py index aa795459..dc17d9a2 100644 --- a/src/elevenlabs/types/project_video_response_model.py +++ b/src/elevenlabs/types/project_video_response_model.py @@ -10,6 +10,7 @@ from .generation_source_context import GenerationSourceContext from .pending_clip_task import PendingClipTask from .project_video_thumbnail_sheet_response_model import ProjectVideoThumbnailSheetResponseModel +from .video_analysis import VideoAnalysis class ProjectVideoResponseModel(UncheckedBaseModel): @@ -46,8 +47,10 @@ class ProjectVideoResponseModel(UncheckedBaseModel): export_format_ready: typing.Optional[bool] = None current_snapshot_id: typing.Optional[str] = None source_context: typing.Optional[GenerationSourceContext] = None + analysis: typing.Optional[VideoAnalysis] = None canvas_placement: typing.Optional[CanvasPlacement] = None animation: typing.Optional[ClipAnimation] = None + playback_speed: typing.Optional[float] = None track_id: typing.Optional[str] = None preview_job_progress: typing.Optional[float] = None import_speech_progress: typing.Optional[float] = None diff --git a/src/elevenlabs/types/search_documentation_tool_config_input.py b/src/elevenlabs/types/search_documentation_tool_config_input.py deleted file mode 100644 index 364b3195..00000000 --- a/src/elevenlabs/types/search_documentation_tool_config_input.py +++ /dev/null @@ -1,89 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -import typing - -import pydantic -from ..core.pydantic_utilities import IS_PYDANTIC_V2 -from ..core.unchecked_base_model import UncheckedBaseModel -from .merging_strategy import MergingStrategy -from .multi_source_config_json import MultiSourceConfigJson -from .source_config_json import SourceConfigJson -from .source_retrieval_config import SourceRetrievalConfig - - -class SearchDocumentationToolConfigInput(UncheckedBaseModel): - """ - System tool for searching ElevenLabs documentation using RAG. - - This tool provides access to: - - Product documentation - - API references - - Pricing information - - Troubleshooting guides - - Best practices - - It uses a flexible multi-source approach with configurable: - - Document sources with per-source k for dense/keyword retrieval - - Merging strategies (RRF, top-K per source, weighted interleave) - - Query decomposition and reformulation - - LLM synthesis vs raw chunks - """ - - use_multi_source: typing.Optional[bool] = pydantic.Field(default=None) - """ - Use the new multi-source retrieval engine - """ - - multi_source_config: typing.Optional[MultiSourceConfigJson] = pydantic.Field(default=None) - """ - Full multi-source configuration as JSON. Takes precedence over individual fields. Example: {'source_names': ['chunks'], 'use_decomposition': true, 'final_top_k': 5} - """ - - use_decomposition: typing.Optional[bool] = pydantic.Field(default=None) - """ - Decompose complex queries into sub-queries - """ - - use_reformulation: typing.Optional[bool] = pydantic.Field(default=None) - """ - Use LLM to reformulate query for better retrieval - """ - - synthesize_response: typing.Optional[bool] = pydantic.Field(default=None) - """ - True = LLM generates answer, False = return raw chunks - """ - - merging_strategy: typing.Optional[MergingStrategy] = pydantic.Field(default=None) - """ - Strategy for merging results: 'top_k_per_source' (concatenate), 'rank_fusion' (RRF), 'weighted_interleave' - """ - - final_top_k: typing.Optional[int] = pydantic.Field(default=None) - """ - Final number of chunks after merging - """ - - source_names: typing.Optional[typing.List[str]] = pydantic.Field(default=None) - """ - List of source names to use (e.g., ['chunks', 'products']). Defaults to both 'products' and 'chunks'. Unknown sources are ignored with a warning. - """ - - source_overrides: typing.Optional[typing.List[SourceConfigJson]] = pydantic.Field(default=None) - """ - Per-source parameter overrides as JSON. Example: [{'name': 'chunks', 'k_dense': 10, 'k_keyword': 5}] - """ - - source_configs: typing.Optional[typing.List[SourceRetrievalConfig]] = pydantic.Field(default=None) - """ - Full custom source configurations. For advanced use only. - """ - - 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/elevenlabs/types/search_documentation_tool_config_output.py b/src/elevenlabs/types/search_documentation_tool_config_output.py deleted file mode 100644 index b2951dc9..00000000 --- a/src/elevenlabs/types/search_documentation_tool_config_output.py +++ /dev/null @@ -1,83 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -import typing - -import pydantic -from ..core.pydantic_utilities import IS_PYDANTIC_V2 -from ..core.unchecked_base_model import UncheckedBaseModel -from .merging_strategy import MergingStrategy -from .multi_source_config_json import MultiSourceConfigJson -from .source_config_json import SourceConfigJson - - -class SearchDocumentationToolConfigOutput(UncheckedBaseModel): - """ - System tool for searching ElevenLabs documentation using RAG. - - This tool provides access to: - - Product documentation - - API references - - Pricing information - - Troubleshooting guides - - Best practices - - It uses a flexible multi-source approach with configurable: - - Document sources with per-source k for dense/keyword retrieval - - Merging strategies (RRF, top-K per source, weighted interleave) - - Query decomposition and reformulation - - LLM synthesis vs raw chunks - """ - - use_multi_source: typing.Optional[bool] = pydantic.Field(default=None) - """ - Use the new multi-source retrieval engine - """ - - multi_source_config: typing.Optional[MultiSourceConfigJson] = pydantic.Field(default=None) - """ - Full multi-source configuration as JSON. Takes precedence over individual fields. Example: {'source_names': ['chunks'], 'use_decomposition': true, 'final_top_k': 5} - """ - - use_decomposition: typing.Optional[bool] = pydantic.Field(default=None) - """ - Decompose complex queries into sub-queries - """ - - use_reformulation: typing.Optional[bool] = pydantic.Field(default=None) - """ - Use LLM to reformulate query for better retrieval - """ - - synthesize_response: typing.Optional[bool] = pydantic.Field(default=None) - """ - True = LLM generates answer, False = return raw chunks - """ - - merging_strategy: typing.Optional[MergingStrategy] = pydantic.Field(default=None) - """ - Strategy for merging results: 'top_k_per_source' (concatenate), 'rank_fusion' (RRF), 'weighted_interleave' - """ - - final_top_k: typing.Optional[int] = pydantic.Field(default=None) - """ - Final number of chunks after merging - """ - - source_names: typing.Optional[typing.List[str]] = pydantic.Field(default=None) - """ - List of source names to use (e.g., ['chunks', 'products']). Defaults to both 'products' and 'chunks'. Unknown sources are ignored with a warning. - """ - - source_overrides: typing.Optional[typing.List[SourceConfigJson]] = pydantic.Field(default=None) - """ - Per-source parameter overrides as JSON. Example: [{'name': 'chunks', 'k_dense': 10, 'k_keyword': 5}] - """ - - 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/elevenlabs/types/studio_text_style_outline_model.py b/src/elevenlabs/types/studio_text_style_outline_model.py new file mode 100644 index 00000000..9022b0ba --- /dev/null +++ b/src/elevenlabs/types/studio_text_style_outline_model.py @@ -0,0 +1,23 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.unchecked_base_model import UncheckedBaseModel + + +class StudioTextStyleOutlineModel(UncheckedBaseModel): + enabled: bool + color: str + opacity: float + width: float + + 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/elevenlabs/types/studio_text_style_shadow_model.py b/src/elevenlabs/types/studio_text_style_shadow_model.py new file mode 100644 index 00000000..e47f62c3 --- /dev/null +++ b/src/elevenlabs/types/studio_text_style_shadow_model.py @@ -0,0 +1,25 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.unchecked_base_model import UncheckedBaseModel + + +class StudioTextStyleShadowModel(UncheckedBaseModel): + enabled: bool + color: str + opacity: float + blur: float + offset_x: float + offset_y: float + + 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/elevenlabs/types/system_tool_config_input_params.py b/src/elevenlabs/types/system_tool_config_input_params.py index c51e1229..edb28f41 100644 --- a/src/elevenlabs/types/system_tool_config_input_params.py +++ b/src/elevenlabs/types/system_tool_config_input_params.py @@ -9,11 +9,20 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata from .agent_transfer import AgentTransfer -from .merging_strategy import MergingStrategy -from .multi_source_config_json import MultiSourceConfigJson from .phone_number_transfer import PhoneNumberTransfer -from .source_config_json import SourceConfigJson -from .source_retrieval_config import SourceRetrievalConfig + + +class SystemToolConfigInputParams_AgentPromptChange(UncheckedBaseModel): + system_tool_type: typing.Literal["agent_prompt_change"] = "agent_prompt_change" + + 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 class SystemToolConfigInputParams_EndCall(UncheckedBaseModel): @@ -42,9 +51,21 @@ class Config: extra = pydantic.Extra.allow -class SystemToolConfigInputParams_PlayKeypadTouchTone(UncheckedBaseModel): - system_tool_type: typing.Literal["play_keypad_touch_tone"] = "play_keypad_touch_tone" - use_out_of_band_dtmf: typing.Optional[bool] = None +class SystemToolConfigInputParams_MemoryEntryCreate(UncheckedBaseModel): + system_tool_type: typing.Literal["memory_entry_create"] = "memory_entry_create" + + 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 + + +class SystemToolConfigInputParams_MemoryEntryDelete(UncheckedBaseModel): + system_tool_type: typing.Literal["memory_entry_delete"] = "memory_entry_delete" if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -56,18 +77,35 @@ class Config: extra = pydantic.Extra.allow -class SystemToolConfigInputParams_SearchDocumentation(UncheckedBaseModel): - system_tool_type: typing.Literal["search_documentation"] = "search_documentation" - use_multi_source: typing.Optional[bool] = None - multi_source_config: typing.Optional[MultiSourceConfigJson] = None - use_decomposition: typing.Optional[bool] = None - use_reformulation: typing.Optional[bool] = None - synthesize_response: typing.Optional[bool] = None - merging_strategy: typing.Optional[MergingStrategy] = None - final_top_k: typing.Optional[int] = None - source_names: typing.Optional[typing.List[str]] = None - source_overrides: typing.Optional[typing.List[SourceConfigJson]] = None - source_configs: typing.Optional[typing.List[SourceRetrievalConfig]] = None +class SystemToolConfigInputParams_MemoryEntrySearch(UncheckedBaseModel): + system_tool_type: typing.Literal["memory_entry_search"] = "memory_entry_search" + + 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 + + +class SystemToolConfigInputParams_MemoryEntryUpdate(UncheckedBaseModel): + system_tool_type: typing.Literal["memory_entry_update"] = "memory_entry_update" + + 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 + + +class SystemToolConfigInputParams_PlayKeypadTouchTone(UncheckedBaseModel): + system_tool_type: typing.Literal["play_keypad_touch_tone"] = "play_keypad_touch_tone" + use_out_of_band_dtmf: typing.Optional[bool] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -137,10 +175,14 @@ class Config: SystemToolConfigInputParams = typing_extensions.Annotated[ typing.Union[ + SystemToolConfigInputParams_AgentPromptChange, SystemToolConfigInputParams_EndCall, SystemToolConfigInputParams_LanguageDetection, + SystemToolConfigInputParams_MemoryEntryCreate, + SystemToolConfigInputParams_MemoryEntryDelete, + SystemToolConfigInputParams_MemoryEntrySearch, + SystemToolConfigInputParams_MemoryEntryUpdate, SystemToolConfigInputParams_PlayKeypadTouchTone, - SystemToolConfigInputParams_SearchDocumentation, SystemToolConfigInputParams_SkipTurn, SystemToolConfigInputParams_TransferToAgent, SystemToolConfigInputParams_TransferToNumber, diff --git a/src/elevenlabs/types/system_tool_config_output_params.py b/src/elevenlabs/types/system_tool_config_output_params.py index 00eb63df..c71847c6 100644 --- a/src/elevenlabs/types/system_tool_config_output_params.py +++ b/src/elevenlabs/types/system_tool_config_output_params.py @@ -9,10 +9,20 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata from .agent_transfer import AgentTransfer -from .merging_strategy import MergingStrategy -from .multi_source_config_json import MultiSourceConfigJson from .phone_number_transfer import PhoneNumberTransfer -from .source_config_json import SourceConfigJson + + +class SystemToolConfigOutputParams_AgentPromptChange(UncheckedBaseModel): + system_tool_type: typing.Literal["agent_prompt_change"] = "agent_prompt_change" + + 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 class SystemToolConfigOutputParams_EndCall(UncheckedBaseModel): @@ -41,9 +51,21 @@ class Config: extra = pydantic.Extra.allow -class SystemToolConfigOutputParams_PlayKeypadTouchTone(UncheckedBaseModel): - system_tool_type: typing.Literal["play_keypad_touch_tone"] = "play_keypad_touch_tone" - use_out_of_band_dtmf: typing.Optional[bool] = None +class SystemToolConfigOutputParams_MemoryEntryCreate(UncheckedBaseModel): + system_tool_type: typing.Literal["memory_entry_create"] = "memory_entry_create" + + 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 + + +class SystemToolConfigOutputParams_MemoryEntryDelete(UncheckedBaseModel): + system_tool_type: typing.Literal["memory_entry_delete"] = "memory_entry_delete" if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -55,17 +77,35 @@ class Config: extra = pydantic.Extra.allow -class SystemToolConfigOutputParams_SearchDocumentation(UncheckedBaseModel): - system_tool_type: typing.Literal["search_documentation"] = "search_documentation" - use_multi_source: typing.Optional[bool] = None - multi_source_config: typing.Optional[MultiSourceConfigJson] = None - use_decomposition: typing.Optional[bool] = None - use_reformulation: typing.Optional[bool] = None - synthesize_response: typing.Optional[bool] = None - merging_strategy: typing.Optional[MergingStrategy] = None - final_top_k: typing.Optional[int] = None - source_names: typing.Optional[typing.List[str]] = None - source_overrides: typing.Optional[typing.List[SourceConfigJson]] = None +class SystemToolConfigOutputParams_MemoryEntrySearch(UncheckedBaseModel): + system_tool_type: typing.Literal["memory_entry_search"] = "memory_entry_search" + + 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 + + +class SystemToolConfigOutputParams_MemoryEntryUpdate(UncheckedBaseModel): + system_tool_type: typing.Literal["memory_entry_update"] = "memory_entry_update" + + 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 + + +class SystemToolConfigOutputParams_PlayKeypadTouchTone(UncheckedBaseModel): + system_tool_type: typing.Literal["play_keypad_touch_tone"] = "play_keypad_touch_tone" + use_out_of_band_dtmf: typing.Optional[bool] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -135,10 +175,14 @@ class Config: SystemToolConfigOutputParams = typing_extensions.Annotated[ typing.Union[ + SystemToolConfigOutputParams_AgentPromptChange, SystemToolConfigOutputParams_EndCall, SystemToolConfigOutputParams_LanguageDetection, + SystemToolConfigOutputParams_MemoryEntryCreate, + SystemToolConfigOutputParams_MemoryEntryDelete, + SystemToolConfigOutputParams_MemoryEntrySearch, + SystemToolConfigOutputParams_MemoryEntryUpdate, SystemToolConfigOutputParams_PlayKeypadTouchTone, - SystemToolConfigOutputParams_SearchDocumentation, SystemToolConfigOutputParams_SkipTurn, SystemToolConfigOutputParams_TransferToAgent, SystemToolConfigOutputParams_TransferToNumber, diff --git a/src/elevenlabs/types/users_sort_by.py b/src/elevenlabs/types/users_sort_by.py new file mode 100644 index 00000000..5b55312c --- /dev/null +++ b/src/elevenlabs/types/users_sort_by.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UsersSortBy = typing.Union[typing.Literal["last_contact_unix_secs", "conversation_count"], typing.Any] diff --git a/src/elevenlabs/types/video_analysis.py b/src/elevenlabs/types/video_analysis.py new file mode 100644 index 00000000..4feffc15 --- /dev/null +++ b/src/elevenlabs/types/video_analysis.py @@ -0,0 +1,24 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.unchecked_base_model import UncheckedBaseModel +from .video_analysis_result import VideoAnalysisResult +from .video_analysis_status import VideoAnalysisStatus + + +class VideoAnalysis(UncheckedBaseModel): + status: VideoAnalysisStatus + data: typing.Optional[VideoAnalysisResult] = None + updated_at_ms: typing.Optional[int] = 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/elevenlabs/types/video_analysis_result.py b/src/elevenlabs/types/video_analysis_result.py new file mode 100644 index 00000000..a4c40ca0 --- /dev/null +++ b/src/elevenlabs/types/video_analysis_result.py @@ -0,0 +1,31 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.unchecked_base_model import UncheckedBaseModel +from .video_key_moment import VideoKeyMoment +from .video_segment import VideoSegment +from .video_subject import VideoSubject +from .video_transcription import VideoTranscription + + +class VideoAnalysisResult(UncheckedBaseModel): + title: str + description: str + content_type: typing.Optional[str] = None + overall_pacing: typing.Optional[str] = None + subjects: typing.Optional[typing.List[VideoSubject]] = None + segments: typing.Optional[typing.List[VideoSegment]] = None + key_moments: typing.Optional[typing.List[VideoKeyMoment]] = None + transcription: typing.Optional[VideoTranscription] = 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/elevenlabs/types/video_analysis_status.py b/src/elevenlabs/types/video_analysis_status.py new file mode 100644 index 00000000..dd296513 --- /dev/null +++ b/src/elevenlabs/types/video_analysis_status.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +VideoAnalysisStatus = typing.Union[typing.Literal["processing", "completed", "failed"], typing.Any] diff --git a/src/elevenlabs/types/video_key_moment.py b/src/elevenlabs/types/video_key_moment.py new file mode 100644 index 00000000..9a766b10 --- /dev/null +++ b/src/elevenlabs/types/video_key_moment.py @@ -0,0 +1,22 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.unchecked_base_model import UncheckedBaseModel + + +class VideoKeyMoment(UncheckedBaseModel): + timestamp_ms: int + type: str + description: str + + 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/elevenlabs/types/video_segment.py b/src/elevenlabs/types/video_segment.py new file mode 100644 index 00000000..499ae887 --- /dev/null +++ b/src/elevenlabs/types/video_segment.py @@ -0,0 +1,29 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.unchecked_base_model import UncheckedBaseModel + + +class VideoSegment(UncheckedBaseModel): + start_ms: int + end_ms: int + description: str + subjects: typing.Optional[typing.List[str]] = None + shot_type: typing.Optional[str] = None + camera_movement: typing.Optional[str] = None + transition_in: typing.Optional[str] = None + has_speech: typing.Optional[bool] = None + has_music: typing.Optional[bool] = None + pacing: typing.Optional[str] = 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/elevenlabs/types/video_subject.py b/src/elevenlabs/types/video_subject.py new file mode 100644 index 00000000..20c626fa --- /dev/null +++ b/src/elevenlabs/types/video_subject.py @@ -0,0 +1,21 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.unchecked_base_model import UncheckedBaseModel + + +class VideoSubject(UncheckedBaseModel): + name: str + description: str + + 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/elevenlabs/types/video_transcription.py b/src/elevenlabs/types/video_transcription.py new file mode 100644 index 00000000..5ab07d32 --- /dev/null +++ b/src/elevenlabs/types/video_transcription.py @@ -0,0 +1,23 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.unchecked_base_model import UncheckedBaseModel +from .video_transcription_word import VideoTranscriptionWord + + +class VideoTranscription(UncheckedBaseModel): + language_code: str + text: str + words: typing.List[VideoTranscriptionWord] + + 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/elevenlabs/types/video_transcription_word.py b/src/elevenlabs/types/video_transcription_word.py new file mode 100644 index 00000000..afb9891c --- /dev/null +++ b/src/elevenlabs/types/video_transcription_word.py @@ -0,0 +1,23 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.unchecked_base_model import UncheckedBaseModel + + +class VideoTranscriptionWord(UncheckedBaseModel): + speaker_id: typing.Optional[str] = None + text: str + start_ms: int + end_ms: int + + 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/elevenlabs/workspace/groups/client.py b/src/elevenlabs/workspace/groups/client.py index 24698946..4ce24f01 100644 --- a/src/elevenlabs/workspace/groups/client.py +++ b/src/elevenlabs/workspace/groups/client.py @@ -7,6 +7,7 @@ from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper from ...core.request_options import RequestOptions from ...types.workspace_group_by_name_response_model import WorkspaceGroupByNameResponseModel +from ...types.workspace_group_response_model import WorkspaceGroupResponseModel from .raw_client import AsyncRawGroupsClient, RawGroupsClient if typing.TYPE_CHECKING: @@ -30,6 +31,34 @@ def with_raw_response(self) -> RawGroupsClient: """ return self._raw_client + def list( + self, *, request_options: typing.Optional[RequestOptions] = None + ) -> typing.Dict[str, WorkspaceGroupResponseModel]: + """ + Get all groups in the workspace + + Parameters + ---------- + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + typing.Dict[str, WorkspaceGroupResponseModel] + Successful Response + + Examples + -------- + from elevenlabs import ElevenLabs + + client = ElevenLabs( + api_key="YOUR_API_KEY", + ) + client.workspace.groups.list() + """ + _response = self._raw_client.list(request_options=request_options) + return _response.data + def search( self, *, name: str, request_options: typing.Optional[RequestOptions] = None ) -> typing.List[WorkspaceGroupByNameResponseModel]: @@ -89,6 +118,42 @@ def with_raw_response(self) -> AsyncRawGroupsClient: """ return self._raw_client + async def list( + self, *, request_options: typing.Optional[RequestOptions] = None + ) -> typing.Dict[str, WorkspaceGroupResponseModel]: + """ + Get all groups in the workspace + + Parameters + ---------- + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + typing.Dict[str, WorkspaceGroupResponseModel] + Successful Response + + Examples + -------- + import asyncio + + from elevenlabs import AsyncElevenLabs + + client = AsyncElevenLabs( + api_key="YOUR_API_KEY", + ) + + + async def main() -> None: + await client.workspace.groups.list() + + + asyncio.run(main()) + """ + _response = await self._raw_client.list(request_options=request_options) + return _response.data + async def search( self, *, name: str, request_options: typing.Optional[RequestOptions] = None ) -> typing.List[WorkspaceGroupByNameResponseModel]: diff --git a/src/elevenlabs/workspace/groups/raw_client.py b/src/elevenlabs/workspace/groups/raw_client.py index d1c890b5..85ca848f 100644 --- a/src/elevenlabs/workspace/groups/raw_client.py +++ b/src/elevenlabs/workspace/groups/raw_client.py @@ -11,12 +11,60 @@ from ...errors.unprocessable_entity_error import UnprocessableEntityError from ...types.http_validation_error import HttpValidationError from ...types.workspace_group_by_name_response_model import WorkspaceGroupByNameResponseModel +from ...types.workspace_group_response_model import WorkspaceGroupResponseModel class RawGroupsClient: def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper + def list( + self, *, request_options: typing.Optional[RequestOptions] = None + ) -> HttpResponse[typing.Dict[str, WorkspaceGroupResponseModel]]: + """ + Get all groups in the workspace + + Parameters + ---------- + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + HttpResponse[typing.Dict[str, WorkspaceGroupResponseModel]] + Successful Response + """ + _response = self._client_wrapper.httpx_client.request( + "v1/workspace/groups", + method="GET", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + typing.Dict[str, WorkspaceGroupResponseModel], + construct_type( + type_=typing.Dict[str, WorkspaceGroupResponseModel], # type: ignore + object_=_response.json(), + ), + ) + return HttpResponse(response=_response, data=_data) + if _response.status_code == 422: + raise UnprocessableEntityError( + headers=dict(_response.headers), + body=typing.cast( + HttpValidationError, + construct_type( + type_=HttpValidationError, # 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) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + def search( self, *, name: str, request_options: typing.Optional[RequestOptions] = None ) -> HttpResponse[typing.List[WorkspaceGroupByNameResponseModel]]: @@ -75,6 +123,53 @@ class AsyncRawGroupsClient: def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper + async def list( + self, *, request_options: typing.Optional[RequestOptions] = None + ) -> AsyncHttpResponse[typing.Dict[str, WorkspaceGroupResponseModel]]: + """ + Get all groups in the workspace + + Parameters + ---------- + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[typing.Dict[str, WorkspaceGroupResponseModel]] + Successful Response + """ + _response = await self._client_wrapper.httpx_client.request( + "v1/workspace/groups", + method="GET", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + typing.Dict[str, WorkspaceGroupResponseModel], + construct_type( + type_=typing.Dict[str, WorkspaceGroupResponseModel], # type: ignore + object_=_response.json(), + ), + ) + return AsyncHttpResponse(response=_response, data=_data) + if _response.status_code == 422: + raise UnprocessableEntityError( + headers=dict(_response.headers), + body=typing.cast( + HttpValidationError, + construct_type( + type_=HttpValidationError, # 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) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + async def search( self, *, name: str, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[typing.List[WorkspaceGroupByNameResponseModel]]: diff --git a/src/elevenlabs/workspace/invites/client.py b/src/elevenlabs/workspace/invites/client.py index a38c38c2..8fbbbe07 100644 --- a/src/elevenlabs/workspace/invites/client.py +++ b/src/elevenlabs/workspace/invites/client.py @@ -86,6 +86,7 @@ def create_batch( self, *, emails: typing.Sequence[str], + seat_type: typing.Optional[SeatType] = OMIT, group_ids: typing.Optional[typing.Sequence[str]] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> AddWorkspaceInviteResponseModel: @@ -97,6 +98,9 @@ def create_batch( emails : typing.Sequence[str] The email of the customer + seat_type : typing.Optional[SeatType] + The seat type of the user + group_ids : typing.Optional[typing.Sequence[str]] The group ids of the user @@ -119,7 +123,9 @@ def create_batch( emails=["emails"], ) """ - _response = self._raw_client.create_batch(emails=emails, group_ids=group_ids, request_options=request_options) + _response = self._raw_client.create_batch( + emails=emails, seat_type=seat_type, group_ids=group_ids, request_options=request_options + ) return _response.data def delete( @@ -237,6 +243,7 @@ async def create_batch( self, *, emails: typing.Sequence[str], + seat_type: typing.Optional[SeatType] = OMIT, group_ids: typing.Optional[typing.Sequence[str]] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> AddWorkspaceInviteResponseModel: @@ -248,6 +255,9 @@ async def create_batch( emails : typing.Sequence[str] The email of the customer + seat_type : typing.Optional[SeatType] + The seat type of the user + group_ids : typing.Optional[typing.Sequence[str]] The group ids of the user @@ -279,7 +289,7 @@ async def main() -> None: asyncio.run(main()) """ _response = await self._raw_client.create_batch( - emails=emails, group_ids=group_ids, request_options=request_options + emails=emails, seat_type=seat_type, group_ids=group_ids, request_options=request_options ) return _response.data diff --git a/src/elevenlabs/workspace/invites/raw_client.py b/src/elevenlabs/workspace/invites/raw_client.py index 5c0b2924..2da7a156 100644 --- a/src/elevenlabs/workspace/invites/raw_client.py +++ b/src/elevenlabs/workspace/invites/raw_client.py @@ -101,6 +101,7 @@ def create_batch( self, *, emails: typing.Sequence[str], + seat_type: typing.Optional[SeatType] = OMIT, group_ids: typing.Optional[typing.Sequence[str]] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[AddWorkspaceInviteResponseModel]: @@ -112,6 +113,9 @@ def create_batch( emails : typing.Sequence[str] The email of the customer + seat_type : typing.Optional[SeatType] + The seat type of the user + group_ids : typing.Optional[typing.Sequence[str]] The group ids of the user @@ -128,6 +132,7 @@ def create_batch( method="POST", json={ "emails": emails, + "seat_type": seat_type, "group_ids": group_ids, }, headers={ @@ -303,6 +308,7 @@ async def create_batch( self, *, emails: typing.Sequence[str], + seat_type: typing.Optional[SeatType] = OMIT, group_ids: typing.Optional[typing.Sequence[str]] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[AddWorkspaceInviteResponseModel]: @@ -314,6 +320,9 @@ async def create_batch( emails : typing.Sequence[str] The email of the customer + seat_type : typing.Optional[SeatType] + The seat type of the user + group_ids : typing.Optional[typing.Sequence[str]] The group ids of the user @@ -330,6 +339,7 @@ async def create_batch( method="POST", json={ "emails": emails, + "seat_type": seat_type, "group_ids": group_ids, }, headers={